Mac 电脑批量将 Docx/Pages 转换为 PDF 的神器(附 AppleScript 脚本)
拒绝重复劳动:从“机械操作”中解放出来
你是否遇到过这样的场景:
周五临下班,老板突然发来一个文件夹,里面有 50 个 .docx 或 .pages 文档,要求“立刻、马上”全部转成 PDF 发给客户。
这时候你的内心一定是崩溃的。
如果手动操作:双击打开文件 → 等待软件启动 → 点击“文件” → “导出为” → 选择 PDF → 确认保存 → 关闭文件。 这就好比在流水线上拧螺丝,重复 50 次,不仅浪费时间,还容易点错。
找在线转换工具?文件涉及商业机密,上传到第三方服务器不安全;而且很多网站还有文件大小或数量限制。
用 WPS Office 等办公软件?确实,它们通常都有批量转换功能,但往往是“会员专属”。为了偶尔一次的需求去开个包年会员,怎么算都觉得亏。
安装专业软件?为了这就装个几个 G 的 Acrobat,或者是来源不明的破解软件,实在没必要。
其实,Mac 电脑自带了一个“隐藏神器”——AppleScript。它就像一个不知疲倦的“数字助理”,能帮你自动完成这些机械化的点击操作。
今天就带大家用一段代码,制作一个专属的“批量转换神器”。
核心武器:自动化脚本
不需要懂复杂的编程,这段代码的逻辑很简单:它会告诉你的 Mac,“把这个文件夹里的文件一个个打开,用 Pages 导出成 PDF,然后关掉,再处理下一个”。
这就好比你雇佣了一个只会干这一件事的机器人。
直接复制下面的代码:
on run {input, parameters}
-- 第一步:选择源文件夹(放pages/docx)
-- 就像告诉机器人:“原材料在哪里?”
try
set sourceFolder to choose folder with prompt "👉 选择要转换的源文件夹(包含.pages/.docx文件)"
on error
display dialog "已取消选取源文件夹,程序退出" buttons {"确定"} with icon info
return
end try
-- 第二步:选择目标文件夹(存PDF)
-- 就像告诉机器人:“成品放哪里?”
try
set outputFolder to choose folder with prompt "👉 选择PDF的输出目标文件夹"
on error
display dialog "已取消选取目标文件夹,程序退出" buttons {"确定"} with icon info
return
end try
-- 转换核心逻辑
set outputPOSIX to POSIX path of outputFolder
tell application "Finder"
set targetFiles to every file in sourceFolder whose name extension is in {"pages", "docx"}
end tell
-- 检测是否有目标文件
set fileTotal to count of targetFiles
if fileTotal = 0 then
display dialog "源文件夹中未找到.pages或.docx文件!" buttons {"确定"} with icon caution
return
end if
-- 批量转换(强制Pages打开,彻底避开WPS)
-- 这里就是机器人开始干活了:打开 -> 导出 -> 关闭
set successNum to 0
repeat with oneFile in targetFiles
tell application "Finder"
set fName to name of oneFile
set fExt to name extension of oneFile
set pureName to text 1 thru ((length of fName) - (length of fExt) - 1) of fName
end tell
set pdfPath to outputPOSIX & pureName & ".pdf"
try
tell application "Pages"
open (oneFile as alias)
export front document to POSIX file pdfPath as PDF with properties {image quality: Best}
close front document saving no
end tell
set successNum to successNum + 1
on error err
display dialog "文件「" & fName & "」转换失败:" & err buttons {"继续"} with icon warning
end try
end repeat
-- 完成提示
display dialog "✅ 转换完成!" & return & "总文件数:" & fileTotal & "个" & return & "成功转换:" & successNum & "个" buttons {"确定"} with icon note
return input
end run
实操指南:三步打造你的专属 App
我们将使用 Mac 自带的“自动操作”(Automator)软件,把上面的代码封装成一个可以在桌面双击运行的 App。
第一步:创建“工厂”(新建应用)
- 按
Command + Space呼出聚焦搜索,输入 Automator 或 自动操作 并打开。 - 在弹出的窗口中选择 新建文稿。
- 文稿类型选择 应用程序,然后点击“选取”。
类比:这就像是我们准备开一家“PDF 加工厂”,先选好厂房(应用程序)。
第二步:安装“引擎”(添加脚本)
- 在左侧的搜索栏中输入 运行 AppleScript。
- 找到后,将其拖拽到右侧空白的工作区域。
- 关键操作:全选右侧框中默认的代码,将其删除。
- 将上面提供的代码完整粘贴进去。
注意:不要修改代码中的逻辑,除非你明确知道自己在做什么。这段代码已经过测试,能稳定运行。
第二步:挂牌“营业”(保存使用)
- 点击顶部菜单栏的 文件 → 存储。
- 给你的应用起个名字,比如
BatchPDF。 - 文件格式 必须确认为 应用程序。
- 建议保存到 桌面,方便随时调用。
最终效果
现在,你的桌面上应该多了一个机器人图标的 App。
- 双击运行 它。
- 它会弹窗问你:“源文件在哪里?” —— 选中存放 docx/pages 的文件夹。
- 接着问:“PDF 存哪里?” —— 选中输出文件夹。
- 然后你就可以松开双手,看着屏幕上的 Pages 快速打开又关闭,片刻之后,转换好的 PDF 就会整齐地躺在目标文件夹里了。
小贴士: 这个工具调用的是 Mac 原生的 Pages 文稿进行转换,所以转换出来的 PDF 格式非常标准,不会出现第三方工具常见的排版错乱问题。
从此,面对海量文档转换,你只需要优雅地喝杯咖啡即可。