从AppleScript中的PDF文档到JPEG图像

时间:2012-05-07 13:50:58

标签: macos pdf applescript

如何使用AppleScript从PDF文件中提取JPEG图像?是否有saveJpegFromPage(PDFstream, numberOfPage)等命令?

1 个答案:

答案 0 :(得分:13)

简答:你没有直接使用AppleScript(因为没有这样的命令) - 但你可以使用 poppler shell实用程序来回避这个问题AppleScript中的包。

答案很长:AppleScript的默认功能(由标准添加定义)和操作系统及其附带的应用程序提供的词典不包括PDF处理。引人注目的是,OS X'自己的PDF应用程序 Preview.app 在其大部分存在时甚至都没有脚本化。

对于第三方应用,Adobe’s Acrobat X Pro可能会这样做(我无法检查,因为价格标签对我来说太过沉重,there is no trial version for OS X),但是这两个最着名的可编程脚本第三方PDF应用程序,SkimPDFPen,AS字典都不包含处理PDF文件中图像的命令。

然而,通常情况下,shell提供了另一种选择。 xpdf 包中包含一个名为pdfimages的实用程序,它将执行您所需的操作。命令

pdfimages -j -f 1 -l 1 "/path/to/my file.pdf" "/path/to/folder for images"

会将/path/to/my file.pdf第1页上的所有图像以JPEG格式保存到文件夹/path/to/folder for images(有关所有选项的说明,请参阅man pdfimages)。请注意,这取自popplerpdfimages手册页,这是the original xpdf package的演变。安装 poppler 的最佳选择可能是homebrew package managerbrew install poppler)。

一旦你的系统上有了软件包,你需要做的就是在AppleScript中使用它的能力将它包装在do shell script命令中,按照

的命令行
do shell script "'path/to/pdfimages' -j -f " & pageNum & " -l " & pageNum & " '" & (POSIX path of myPDF) & "' '" & (POSIX path of targetFolder) & "'"

你应该被设置。