我正在尝试在命令行上将一堆各种iWork文件(Numbers,Pages,Keynote)批量转换为PDF格式。
我一直在尝试使用cups-filter,但iWork类型没有MIME类型过滤器。然后我研究了如何使用qlmanage生成预览图像并使用它,但这似乎不适用于多文件Keynote文档,因为它们生成为HTML而不是PDF。
有什么建议吗?我宁愿不诉诸AppleScript。
答案 0 :(得分:3)
这是我最终的目标,因为我真的想避免使用AppleScript。
保存iWork文档时,会出现“包含文档中的预览”复选框。选中此项会在iWork文档包中创建一个“QuickLook / Preview.pdf”(实际上是一个zip文件)。幸运的是我检查了大多数zip文件,所以这只是解压缩到NSTemporaryDirectory并抓取该文件的情况。
对于那些没有的人,我将一个脚本放在一起运行qlmanage来创建文档预览。对于创建PDF的某些人,对于其他人,它会创建一个HTML文件。然后,您可以使用http://code.google.com/p/wkhtmltopdf/将此HTML转换为PDF格式。
答案 1 :(得分:2)
嗯......你需要一些东西
除非您想重新发明iWork套件......只需告诉iWork应用程序您想要的内容就更简单了。
您可以通过Scripting Bridge
执行此操作我会使用Applescript,但也许您可以将Ruby and Python用于脚本桥to accomplish what you need
使用Scripting Bridge,RubyCocoa和PyObjC脚本可以执行AppleScript脚本可以执行的操作:控制可编写脚本的应用程序并与它们交换数据。
我暂时没有使用Scripting Bridge,但我相信你可以告诉应用程序打印文档。任何可以在OS X中打印的应用程序都可以将其发送到PDF。
答案 2 :(得分:2)
这里有一些命令可以帮助那些想要在没有太多考虑的情况下工作的人。它对我有一个ppt文件。
确保从here获取wkhtmltopdf。
qlmanage -p -o /tmp /path/of/file.ppt
wkhtmltopdf /tmp/file.ppt.qlpreview/Preview.html /output/to/file.pdf
如果您希望原始页面保持一致,您可能需要调整大小,因为ppt我使用以下参数完成了这项工作:
wkhtmltopdf --page-width 200 --page-height 145 Preview.html file.pdf
编辑:我编写了一个Python脚本来进行批量转换。希望人们可以做出贡献,使其更加健壮:
答案 3 :(得分:1)
我创建了一个<speak>
script,可将文件夹中的所有.applescript
个文件转换为.pages
。可以轻松添加.docx
支持。在.pdf
中,您只需将pages2docx.applescript
替换为Microsoft Word
。