macOS Automator 可零代码构建打印→PDF→归档→通知的自动化流程,核心是组合系统打印动作、Finder 文件操作与轻量 Shell 脚本;通过“打印 Finder 项目”静默导出 PDF,接“移动”和“重命名”实现自动归档,再借日历事件或快捷指令触发定时/事件驱动任务,必要时用 zsh 脚本补足高级处理。
macos 自带的 automator 能把打印任务变成可复用、可触发、可集成的运维动作,不写代码也能串联“选文件→打印→存pdf→归档→通知”整条链路。关键在于用对三类组件:系统级打印操作、文件管理动作、以及轻量脚本补位。
用“打印 Finder 项目”构建基础打印流
这是最稳定、免权限、纯图形化的起点。它调用 macOS 全局打印服务,兼容所有支持 Cmd+P 的文档类型(Word、PDF、Pages、HTML、文本等)。
- 新建“快捷操作”,左侧搜索并拖入「打印 Finder 项目」
- 双击该动作,在弹出面板中勾选「存储为 PDF」,并点击「显示详细信息」展开设置
- 指定固定保存路径(如 ~/Documents/PDF_Out),取消勾选「显示打印对话框」实现静默导出
- 保存后,选中文件右键 →「快速操作」→ 即刻生成同名 PDF
自动归档与重命名输出文件
生成 PDF 后常需按日期分类或加前缀,避免手动挪动。可在打印动作后直接追加 Finder 操作:
- 拖入「移动 Finder 项目」,目标设为归档文件夹(如 ~/Documents/Archive/2026)
- 再接一个「重命名 Finder 项目」,选择「添加日期戳」或「添加前缀」,例如输入 PRINTED_
- 两项动作会自动接收上一步输出的 PDF 文件路径,无需额外配置
扩展为定时/事件驱动任务
若需每日凌晨批量打印报表、或收到邮件附件后自动转 PDF,可结合系统机制延伸:
- 保存为「工作流程」类型,放入 ~/Library/Workflows/Applications/Calendar/ 目录
- 在日历中创建重复事件,提醒方式设为「运行工作流程」,选择该文件即可定时触发
- 搭配「快捷指令」App:新建指令 → 添加「运行快速操作」→ 再配上「从邮件获取附件」或「当下载完成时」触发器
需要更灵活控制?用 Shell 补位
系统动作覆盖不了的场景(比如按文件名关键词分目录、加水印、合并多页 PDF),可用「运行 Shell 脚本」衔接:
- 动作中设置 Shell: /bin/zsh,Pass Input: as arguments
- 示例:批量加页眉并转 PDF(依赖
brew install pdfcpu):
for f in "$@"; do pdfcpu stamp add "t:'Generated on $(date +%Y-%m-%d)' f:Helvetica s:9" "$f" "${f%.*}_stamped.pdf"; done - 注意:首次运行含脚本的动作需在「系统设置 → 隐私与安全性 → 完全磁盘访问」中授权 Automator



















