繁体   English   中英

循环浏览一个PDF文件文件夹,并向每个文件附加一个PDF

[英]Loop through a folder of PDF files and append a single PDF to each

此代码似乎只是替换了第一个文件,而不是将file1.pdf附加到该文件。
我需要追加文件而不是替换文件。

#!/bin/bash
FILES=("/Users/a/folder/"*.pdf)
for f in "${FILES[@]}"
do
  echo "${f}"
    "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o "${f}" "${f}" "/Users/a/folder2/file1.pdf"
done

我注意到,如果我手动运行代码,但是对第一个和第二个参数使用不同的名称,则它似乎可以工作。 但是,我不知道如何在不使其不变的情况下更改第一个参数的名称。

在我看来,您的问题与Ruby无关。 据我了解,您正在尝试使用MacOS X El Capitan上的命令行将PDF文件与其他PDF文件合并。

如果我正确理解了您的问题,那么您可能应该听取本博客的建议,并使用MacOS X Tiger上的命令"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py"向前。

请注意,如果要附加的文件位于要附加所有文件的目录中,则会遇到问题:脚本join.py似乎不希望为同一文件提供三次,所以将文件放置在其他位置(您要附加到所有文件的位置)。

尝试以下方法:

#!/bin/bash for f in /Absolute/Path/To/The/PDFS/*.pdf; do /System/Library/Automator/Combine\\ PDF\\ Pages.action/Contents/Resources/join.py -o $f $f /Absolute/Path/To/The/File/To/Append; done

解:

#!/bin/bash
FILES=("/Users/a/folder/"*.pdf)
for f in "${FILES[@]}"
do
  echo "${f}"
    a="${f%.pdf}"
    "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o "${a}_x.pdf" "${f}" "/Users/a/folder2/file1.pdf"
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM