macos - 在命令行中将 Mac iWork 文件批量转换为 PDF

标签 macos pdf cups iwork

我正在尝试在命令行上将一堆各种 iWork 文件(数字、页面、主题演讲)批量转换为 PDF。

我一直在尝试 cups-filter,但没有适用于 iWork 类型的 MIME 类型过滤器。然后我研究使用 qlmanage 生成预览图像并使用它,但这似乎不适用于多文件 Keynote 文档,因为它们生成为 HTML 而不是 PDF。

有什么建议?我宁愿不诉诸 AppleScript。

最佳答案

这是我最终采用的方法,因为我真的很想避免使用 AppleScript。

保存 iWork 文档时,有一个“在文档中包含预览”复选框。检查此项会在 iWork 文档包(实际上是一个 zip 文件)中创建一个“QuickLook/Preview.pdf”。幸运的是,我检查了大多数 zip 文件,所以这只是解压到 NSTemporaryDirectory 并抓取该文件的情况。

对于那些没有的人,我整理了一个脚本来运行 qlmanage 来创建文档预览。对于一些创建 PDF 的人,对于其他人,它会创建一个 HTML 文件。然后您可以使用 http://code.google.com/p/wkhtmltopdf/将此 HTML 转换为 PDF。

关于macos - 在命令行中将 Mac iWork 文件批量转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10014807/

相关文章:

android - ionic 应用程序在 Windows 上运行但不能在 mac 上使用 ios 模拟器运行

java - 线程 "main"org.pdfclown.util.parsers.ParseException : 'name' table does NOT exist 中的异常

ruby-on-rails - Rails 5 - 下载文件后重定向或呈现

epson - 使用 CUPS 和热敏打印机打印 postscript 文档

printing - 通过 libcups 以编程方式打印双面打印的正确方法是什么?

ios - 如何运行导致框架运行时错误的 iOS 应用程序 "code signature invalid"

objective-c - NSRunAlertPanel 导致内存泄漏

macos - OS X上的mariadb docker容器:无法创建数据库目录

java - iText - 导出 PDF - 不平衡的开始结束文本运算符

linux - 如何在 Linux 中使用 CUPS 从打印机获取文件打印作业的响应给用户