附加多个PDF文件

时间:2014-09-23 16:52:45

标签: pdf applescript automator

我有大约600个PDF文件,我想在每个文件的开头添加一个免责声明页面。所以,我需要找到一种合并两个PDF文档的方法,其中一个文件总是相同的,并且第一个文件和第二个文件正在改变。

请让我知道如何做到这一点。

谢谢!

2 个答案:

答案 0 :(得分:1)

我发现了这个:

http://gotofritz.net/blog/howto/joining-pdf-files-in-os-x-from-the-command-line/

所以你可以在shell脚本中做这样的事情:

#!/bin/bash

page1="disclaimer.pdf"

for f in {a.pdf b.pdf c.pdf}; do
    "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o "$f" "$page1" "$f"
done

您可以将它包装在您喜欢的Applescript或automator工作流程中。

答案 1 :(得分:0)

将未知PDF与已知PDF

组合

Automator可以做到这一点。您可以将其另存为应用程序,以便将第二个文件放到其上。您的步骤将是:

  1. 获取指定的Finder项目:在此处添加已知的PDF文档,即“始终相同且首先出现”的文档。
  2. 合并PDF页面
  3. 移动Finder项目:收件人:合并文件。这将在您需要创建的“Combined Files”文件夹中创建一个随机命名的文件。
  4. 如果将此Automator工作流程另存为应用程序,则可以将第二个“更改”文件拖放到应用程序图标上。工作流程将两者结合起来,将命名文件放在第一位。

    为每个删除的文件循环此工作流程

    要一次对多个文件执行此操作,您需要创建一个第二个工作流,该工作流循环遍历每个已删除的文件并调用上述工作流。第二个工作流也是作为应用程序创建的。它只有一步:

    1. 运行工作流程:选择在上一步骤中创建的工作流程,并使用1个工作流程一次批量处理项目
    2. 为文件提供更有用的名称

      这是基础知识。明显的缺点是所有文件都有随机名称。这可以通过将原始文件名抓取到变量中,并使用该名称在新文件夹中保存新的组合文档来解决。

      首先,在“获取指定的Finder项目”前面的第一个工作流程的顶部添加四个新步骤:

      1. 运行AppleScript
      2. 设置变量值:将变量命名为 filepath
      3. 运行AppleScript
      4. 设置变量值:将变量命名为 filename
      5. 获取变量值:filepath
      6. 前两个步骤保存已删除PDF的完整路径。后两步只获得文件名部分。第五个新步骤将完整路径弹回到工作流程中,以便可以与已知的免责声明结合使用。

        将步骤1中的AppleScript设置为:

        on run {input, parameters}
            return input
        end run
        

        将步骤3中的AppleScript设置为:

        on run {input, parameters}
            tell application "Finder"
                set filename to name of file input
            end tell
        end run
        

        然后,在末尾添加一个步骤以重命名该文件。在移动Finder项目之后添加*重命名Finder项目。选择“Name Single Item”,“Full name to”,然后将变量 filename 拖到文本框中。