从AppleScript中的PDF文档到JPEG图像

Ste*_*cil 2 pdf macos applescript

如何使用AppleScript从PDF文件中提取JPEG图像?有没有这样的命令saveJpegFromPage(PDFstream, numberOfPage)

kop*_*hke 13

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

答案很长: AppleScript的默认功能(由Standard Additions定义)和操作系统及其包含的应用程序提供的词典不包括PDF处理.引人注目的是,OS X'自己的PDF应用程序Preview.app在其大部分存在时都无法编写脚本.

至于第三方应用程序,Adobe的Acrobat X Pro可能会这样做(我无法检查,因为价格标签对我来说太过沉重,并且没有针对OS X的试用版),但是最好的两个已知价格合理的可编写脚本的第三方PDF应用程序,SkimPDFPen,AS字典都不包含处理PDF文件中图像的命令.

然而,通常情况下,外壳提供了另一种选择.该xpdf的包中包含了一个叫pdfimages它会做你所追求的.命令

pdfimages -j -f 1 -l 1 "/path/to/my file.pdf" "/path/to/folder for images"
Run Code Online (Sandbox Code Playgroud)

将第1页上的所有图像保存/path/to/my file.pdf/path/to/folder for imagesJPEG格式的文件夹(请参阅man pdfimages所有选项的说明).请注意,这是从popplerpdfimages手册页中获取的,这是原始xpdf的演变.安装poppler的最佳选择可能是自制软件包管理器(brew 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) & "'"
Run Code Online (Sandbox Code Playgroud)

你应该被设定.