如何使用AppleScript和Acrobat Pro自动提取PDF页面?

3

我是一名新手,对于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中的命令在“选项>提取页面...”下,我可以指定页面范围并提取到单独的文件中。然而,我似乎找不到使用Acrobat Pro字典的AppleScript的方法来完成这个功能。
有一个“execute”命令来执行菜单项,但我似乎无法让它工作(我也不确定要使用什么语法;即,“execute“Options:Extract Pages…””?)。对此有何帮助吗?
2个回答

3
我认为你完全可以使用Automator而不需要使用AppleScript或Adobe软件来完成此操作。 "PDF转图像"操作将多页.PDF文件拆分为单个.PDF文件,每页一个: enter image description here

这肯定是一个不错的解决方案,但我需要通过Acrobat Pro/Distiller进行处理的原因是因为这是用于出版,我必须遵循Distiller的特定.options配置。通过这种方式提取页面,OS X本地的Quartz框架会创建一个新的PDF。 - Chris
在这种情况下,我认为我无法提供具体答案,因为我没有访问Acrobat Pro的权限。 - Digital Trauma
你可以使用AppleScript UI脚本来实现这个目标。你可以使用Automator的录制功能来记录执行Acrobat Extract Pages工作流所需的UI交互步骤。然后,你可以直接在Automator中选择并复制记录的步骤,并将它们粘贴到新的Applescript编辑器窗口中。这将为你提供一个可能有效的applescript。你可能需要编辑脚本,但至少它应该帮助你了解以编程方式完成此操作所需的内容。 - Digital Trauma

1
你可以使用Adobe Acrobat Pro. 下面是一个使用Adobe Acrobat Pro XI 的例子。它使用Acrobat的“操作”(以前称为“批处理”)和自定义JavaScript。

Adobe Acrobat Pro - 编辑操作

您可以创建一个新的操作,提示用户选择要处理的PDF文件夹。然后,您可以添加JavaScript执行,搜索pdf文件名称并使用extractPages函数从PDF中提取所有页面。

Adobe Acrobat Pro XI  - Edit Action

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 参考文档 > JavaScript API > Doc > Doc 方法 > 提取页面

将页面提取到单独的pdf文件中(循环有问题?)

如何使用JavaScript创建零填充值?

如何在JavaScript中输出具有前导零的整数[duplicate]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接