Mac Automator - 合并PDF文件,保存在同一文件夹中

时间:2014-06-06 17:07:18

标签: macos pdf directory automator

我正在使用Automator来合并PDF文件,但无法弄清楚如何自动将生成的文件保存到同一文件夹。 (相反,它会询问我放置文件的位置。)

我正在使用它作为服务 - 这是我现有的工作流程:

1)服务在-any应用程序中接收选定的-PDF文件 2)组合PDF页面[附加页面]
3)重命名Finder项目:名称单项[名称单项,仅基名,到“TestResults”]
4)将Finder项目[移动到文件夹 - 工作流程运行时显示操作]

理想情况下,我喜欢生成的文件:

- 基于(它所在的文件夹)+(附加的静态字符串)来命名   - 保存在文件所在的文件夹中


我已经看到了人们正在获取和设置变量值的其他解决方案,但是当我尝试时,似乎我只是在命名变量,而不是实际告诉程序在哪里获取值。

(就我而言,我正在创建一个名为“folderPath”的变量,并尝试将其传递给Move Finder Items操作。)

3 个答案:

答案 0 :(得分:6)

感谢jweaks的剧本。超级有益和优雅。

我发现并修复了一个小错误:

我得到了他的工作流程,将文件放在与原始PDF相同的文件夹中,而不是放在桌面上,调整Applescripts与Finder交谈(而不是系统事件)并返回别名,这似乎是Move Finder项目期待:

因此...

  1. 服务在Finder中接收PDF文件
  2. 设置变量值:originalPDFs
  3. 运行Applescript:
  4. 修订后的Applescript:

    on run {input}
        tell application "Finder" to return (container of item 1 of input) as alias
    end run
    
    1. 设置变量值:containerAlias
    2. 运行Applescript:
    3. 修订Applescript 2

      on run {input, parameters}
          -- the input is the enclosing folder which was output from the previous Applescript
          tell application "Finder" to return name of (item 1 of input) 
      end run
      
      1. 设置变量值:containerName

      2. 获取变量值:originalPDFs;选择选项> “忽略此动作的输入”

      3. 合并PDF页面
      4. 重命名Finder项目:名称单个项目,仅限基本名称,containerName“(合并)”
      5. 移动Finder项目:容器别名
      6. 希望这会有所帮助......我相信我会在几年内再次查看这个答案:)

        以下是截图:

        Revised Workflow

答案 1 :(得分:4)

没有自动操作来获取文件容器的名称,也没有获取文件容器路径的操作,因此您可以将这些操作设置为变量。因此,您必须使用Applescript操作来获取每个。以下是一个工作自动机工作流程的示例,假设您将其置于接受PDF的服务中,即可完成您的要求。

actions1 actions2 acitons3

答案 2 :(得分:0)

如果愿意,可以直接从CLI进行操作,使用代码: "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o <output-file-name>.pdf <file-one>.pdf <file-two>.pdf。将文件file.one.pdf和文件文件two.pdf合并。

此外,我建议创建一个shell脚本,并将其放在/ usr / local / bin文件夹中。 Fx。创建一个名为combine_pdfs.sh的文件,并在其中写入以下内容:

read -p "Name of output file: "  name

"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o $name.pdf *.pdf 

这将提示用户输入输出名称,并合并当前路径中的所有pdf。