0%

Mac 电脑批量将 Docx/Pages 转换为 PDF 的神器(附 AppleScript 脚本)

拒绝重复劳动:从“机械操作”中解放出来

你是否遇到过这样的场景:

周五临下班,老板突然发来一个文件夹,里面有 50 个 .docx.pages 文档,要求“立刻、马上”全部转成 PDF 发给客户。

这时候你的内心一定是崩溃的。

如果手动操作:双击打开文件 → 等待软件启动 → 点击“文件” → “导出为” → 选择 PDF → 确认保存 → 关闭文件。
这就好比在流水线上拧螺丝,重复 50 次,不仅浪费时间,还容易点错。

找在线转换工具?文件涉及商业机密,上传到第三方服务器不安全;而且很多网站还有文件大小或数量限制。

用 WPS Office 等办公软件?确实,它们通常都有批量转换功能,但往往是“会员专属”。为了偶尔一次的需求去开个包年会员,怎么算都觉得亏。

安装专业软件?为了这就装个几个 G 的 Acrobat,或者是来源不明的破解软件,实在没必要。

其实,Mac 电脑自带了一个“隐藏神器”——AppleScript。它就像一个不知疲倦的“数字助理”,能帮你自动完成这些机械化的点击操作。

今天就带大家用一段代码,制作一个专属的“批量转换神器”。

核心武器:自动化脚本

不需要懂复杂的编程,这段代码的逻辑很简单:它会告诉你的 Mac,“把这个文件夹里的文件一个个打开,用 Pages 导出成 PDF,然后关掉,再处理下一个”。

这就好比你雇佣了一个只会干这一件事的机器人。

直接复制下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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。

第一步:创建“工厂”(新建应用)

  1. Command + Space 呼出聚焦搜索,输入 Automator自动操作 并打开。
  2. 在弹出的窗口中选择 新建文稿
  3. 文稿类型选择 应用程序,然后点击“选取”。

类比:这就像是我们准备开一家“PDF 加工厂”,先选好厂房(应用程序)。

第二步:安装“引擎”(添加脚本)

  1. 在左侧的搜索栏中输入 运行 AppleScript
  2. 找到后,将其拖拽到右侧空白的工作区域。
  3. 关键操作:全选右侧框中默认的代码,将其删除
  4. 将上面提供的代码完整粘贴进去。

注意:不要修改代码中的逻辑,除非你明确知道自己在做什么。这段代码已经过测试,能稳定运行。

第二步:挂牌“营业”(保存使用)

  1. 点击顶部菜单栏的 文件存储
  2. 给你的应用起个名字,比如 BatchPDF
  3. 文件格式 必须确认为 应用程序
  4. 建议保存到 桌面,方便随时调用。

最终效果

现在,你的桌面上应该多了一个机器人图标的 App。

  1. 双击运行 它。
  2. 它会弹窗问你:“源文件在哪里?” —— 选中存放 docx/pages 的文件夹。
  3. 接着问:“PDF 存哪里?” —— 选中输出文件夹。
  4. 然后你就可以松开双手,看着屏幕上的 Pages 快速打开又关闭,片刻之后,转换好的 PDF 就会整齐地躺在目标文件夹里了。

小贴士
这个工具调用的是 Mac 原生的 Pages 文稿进行转换,所以转换出来的 PDF 格式非常标准,不会出现第三方工具常见的排版错乱问题。

从此,面对海量文档转换,你只需要优雅地喝杯咖啡即可。