我是AppleScript的新手,但我正在尝试创建一个脚本,它将通过文件夹中的所有PDF将页面提取到单独的文件中。我的计划是结合使用Automator和AppleScript。
到目前为止我的AppleScript是:
tell application "Adobe Acrobat Pro"
open theFile
set numPages to (count active doc each page)
--execute the extraction here
end tell
Acrobat Pro中的命令位于Options > Extract Pages...
下,我可以在其中指定页面范围并提取到单独的文件中。然而,我似乎找不到一种在AppleScript中使用Acrobat Pro字典来做到这一点的方法。
有一个执行菜单项的execute
命令,但我似乎不能让它工作(我也不确定要使用的语法;即execute "Options:Extract Pages..."
?)。对此有什么帮助吗?
发布于 2015-05-29 01:52:09
您可以使用Adobe Acrobat Pro。以下是使用Adobe Acrobat Pro XI的示例。它使用Acrobat的“操作”(以前称为“批处理”)和自定义JavaScript。
Adobe Acrobat Pro -编辑操作
您可以创建一个新操作,提示用户选择要处理的pdf文件的文件夹。然后,您可以添加搜索pdf文件名的JavaScript执行和从PDF提取所有页面的extractPages函数。
Adobe Acrobat Pro - JavaScript
下面将把所有页面提取到单独的PDF中。它在每个页码的末尾附加一个后缀。它根据链接中描述的方法用零填充页面编号,该方法基本上是在前面添加一堆零,然后只切出字符串的最后几位,这取决于您通常有多少张页面。
/* Extract Pages to Folder */
var re = /.*\/|\.pdf$/ig;
var filename = this.path.replace(re,"");
{
for ( var i = 0; i < this.numPages; i++ )
this.extractPages
({
nStart: i,
nEnd: i,
cPath : filename + "_s" + ("000000" + (i+1)).slice (-3) + ".pdf"
});
};
参考文献
JavaScript for Acrobat API Reference > JavaScript API > Doc > Doc methods > extractPages
Extract pages to separate pdf's (something wrong with loop?)
How can I create a Zerofilled value using JavaScript?
How to output integers with leading zeros in JavaScript [duplicate]
https://stackoverflow.com/questions/18621047
复制相似问题