在macos中可用automator创建右键转pdf快捷操作:推荐纯图形化方案,拖入“打印finder项目”并设为“存储为pdf”,再加“移动finder项目”,无需applescript、免权限且稳定。

在 macOS 中,用 Automator 创建右键快速将文件转为 PDF 的脚本非常简单,不需要写代码,也不依赖第三方软件。关键在于利用系统自带的“打印”功能(所有应用都支持)和 Automator 的「运行 AppleScript」动作组合实现。
准备前提:确认文件类型支持“打印”
不是所有文件都能直接转 PDF——只要该文件能在 macOS 中双击用默认应用打开,并能通过 Cmd + P 呼出打印对话框,就满足条件。常见如:TXT、RTF、Pages、Keynote、Numbers、Word、Excel(需安装 Microsoft Office)、网页 HTML 文件等。
不支持的典型例子:纯二进制文件(如 .exe、.dmg)、加密 PDF、损坏文档。
创建 Automator 快捷操作(macOS Monterey 及更新系统)
这是目前最推荐的方式,生成的快捷操作会直接出现在右键菜单(“服务”或“快速操作”子菜单),且无需保存为应用。
- 打开 Automator(可在 Spotlight 搜索启动)
- 选择「快捷操作」模板 → 点击「选取」
- 在左侧「操作」栏搜索并拖入「运行 AppleScript」
- 替换默认脚本为以下内容:
on run {input, parameters}
repeat with thisFile in input
try
-- 获取文件路径与名称
set filePath to POSIX path of thisFile
set fileName to name of (info for thisFile)
set fileExt to name extension of (info for thisFile)
set nameWithoutExt to text 1 thru ((length of fileName) - (length of fileExt) - 1) of fileName
<pre class="brush:php;toolbar:false;"> -- 构建 PDF 输出路径(同目录,同名 + .pdf)
set pdfPath to (do shell script "dirname " & quoted form of filePath & " | sed 's/ /\\ /g'") & "/" & quoted form of (nameWithoutExt & ".pdf")
-- 调用系统打印服务导出为 PDF(静默方式)
do shell script "qlmanage -p " & quoted form of filePath & " > /dev/null 2>&1 & sleep 0.5; osascript -e 'tell application "Preview" to activate' -e 'delay 0.3' -e 'tell application "System Events" to keystroke "p" using command down' -e 'delay 0.5' -e 'tell application "System Events" to keystroke "s" using {command down, shift down}' -e 'delay 0.3' -e 'tell application "System Events" to keystroke "return"' -e 'delay 0.5' -e 'tell application "Preview" to quit'"
-- 更稳定替代方案(推荐):用 `sips` 或 `wkhtmltopdf` 不适用,改用 `cupsfilter` 或直接调用 `lp` 不现实。实际更可靠的是用「打印到PDF」的底层机制 —— 所以我们换用安全方式:
-- ✅ 正确做法:用 `pdf` 格式导出(仅对部分格式有效),但通用解法是借助「重复使用预设」+「打印为PDF」动作(见下文图形化方案)
end try
end repeatend run
⚠️ 注意:上面 AppleScript 方案依赖 GUI 自动化(模拟按键),容易因系统响应延迟失败,且 macOS Ventura+ 对自动化权限管控更严。因此更推荐下面「无脚本」图形化方案。
推荐方案:纯 Automator 图形化流程(稳定、免权限)
利用 macOS 内置的「打印为 PDF」功能,全程用 Automator 动作拼接,不触发 AppleScript 权限警告。
- 新建「快捷操作」→ 设定「工作流程收到当前」为「文件或文件夹」,位置为「访达」
- 从左侧拖入「获取指定的 Finder 项目」→ 点击「添加」,把要转换的文件拖进去(先留空也行)
- 拖入「打印 Finder 项目」→ 双击它,在「PDF 下拉菜单」中选择「存储为 PDF」
- 再拖入「移动 Finder 项目」→ 设定目标文件夹(例如桌面或原位置)
- 保存,命名为「转为 PDF」
✅ 完成后,在访达中右键任意支持打印的文件 → 「快速操作」→ 「转为 PDF」,几秒内就在目标位置生成同名 PDF。
? 小技巧:在「打印 Finder 项目」动作中勾选「显示打印对话框」可手动选页数、纸张等;取消勾选即全自动静默转换。
权限与调试提示
首次运行快捷操作时,系统可能弹窗要求开启「辅助功能」或「自动化」权限:
- 前往「系统设置 → 隐私与安全性 → 辅助功能」→ 点击「+」添加 Automator 和「快捷操作」
- 同样在「自动化」里,确保「访达」有权限控制「快捷操作」
- 若右键不显示菜单,重启访达(在活动监视器中强制退出)或重新保存快捷操作
不复杂但容易忽略。











