Mac 使用 Microsoft Word 批量将 DOCX 转 PDF(保持原排版)

Mac 使用 Microsoft Word 批量将 DOCX 转 PDF(保持原排版)

之前尝试过使用 WPS 和 LibreOffice 批量转换 DOCX 为 PDF,但发现导出的 PDF 存在页边距变大、上下留白增加、分页错乱等问题。

如果 Mac 已安装 Microsoft Word,可以直接通过 AppleScript 调用 Word 导出 PDF,生成效果与 Word 手动导出基本一致。

单个文件转换

bash 复制代码
osascript <<'EOF'
tell application "Microsoft Word"
    open POSIX file "/Users/mac/Downloads/1/1.docx"
    set d to active document
    save as d file name "/Users/mac/Downloads/1/1.pdf" file format format PDF
    close d saving no
end tell
EOF

批量转换整个目录

例如需要转换:

text 复制代码
/Users/mac/Downloads/1

目录下所有 .docx 文件:

bash 复制代码
DIR="/Users/mac/Downloads/1"

for f in "$DIR"/*.docx; do
    [ -f "$f" ] || continue

    pdf="${f%.docx}.pdf"

    osascript <<EOF
tell application "Microsoft Word"
    open POSIX file "$f"
    set d to active document
    save as d file name "$pdf" file format format PDF
    close d saving no
end tell
EOF

    echo "Converted: $(basename "$f")"
done

转换后:

text 复制代码
1.docx  ->  1.pdf
2.docx  ->  2.pdf
3.docx  ->  3.pdf

PDF 会保存在原文件所在目录。

适用场景

  • 合同
  • 标书
  • 论文
  • 公司模板
  • 对 PDF 排版一致性要求较高的文档

相比 WPS、LibreOffice 转换,直接调用 Microsoft Word 导出的 PDF 更能保持原始排版。

相关推荐
大龄秃头程序员2 小时前
Flutter 长列表 1 万条滑动卡顿治理:Baseline vs Optimized 可跑 Demo
前端
yingyima2 小时前
Git 核心命令速查:掌握底层原理与实战技巧
前端
黄林晴2 小时前
Kuikly 是什么?和KMP有什么关系?
android·前端
HokKeung2 小时前
Git Hooks 和 Husky 怎么选
前端·前端工程化
李明卫杭州2 小时前
Vue 3 响应式三剑客:ref、shallowRef、reactive,你真的用对了吗?
前端
触底反弹2 小时前
🔥 JavaScript this 指向全解析:面试必考的 5 大绑定规则
前端·javascript·面试
Csvn2 小时前
TypeScript 类型守卫的 4 个实战级别:从 `filter(Boolean)` 到自定义类型谓词
前端
骑士雄师2 小时前
langchain:推荐切片策略
服务器·前端·langchain
云浪3 小时前
拆开 WAV,看见声音——JavaScript 二进制数组实战全解析
前端·javascript·ecmascript 6