nnn*_*nnn 9 pdf command-line imagemagick pdftk
我有两个页数相同的 pdf 文件,并希望将每个页面与另一个文件中的相应页面进行比较。为此,我想将 File1.pdf 的第 1 页与 File2.pdf 的第 1 页合并,以便在新文档中获得一页。然后将 File1.pdf 的第 2 页与 File2.pdf 的第 2 页设为新文件的第 2 页。
在这个问题中,我已经了解到我可以使用--nup以下pdfjam命令将两页放在一页上:
pdfjam File1.pdf File2.pdf --nup 2x1 --landscape --outfile File1+2.pdf
Run Code Online (Sandbox Code Playgroud)
使用ImageMagick包可以实现相同的目的:
montage *.pdf merged.pdf
Run Code Online (Sandbox Code Playgroud)
但这将第一个文件的第 1 页和第 2 页放在一起,稍后对第二个文件执行相同的操作 - 不是预期的。
我所做的是拆分两个文件。第一个文件的文件名是偶数,第二个是奇数(实际上我用适当的文件名重新创建了文件)。然后我再次合并所有文件
pdftk *.pdf cat output merged.pdf
Run Code Online (Sandbox Code Playgroud)
最后把两页放在一张纸上
pdfjam --nup 2x1 --landscape --outfile merged2up.pdf merged.pdf
Run Code Online (Sandbox Code Playgroud)
我可以编写一个带有循环的脚本,但我想知道是否有一个简单的单线来实现这一点?也许我没有找到正确的 pdfjam、pdftk 或 ImageMagick 命令?
小智 10
您可以将 File1.pdf 和 File2.pdf 拆分为页面,然后将这些 tmp 文件合并到 File1+2.pdf 中,如下所示:
# Split files, note the naming scheme
pdfseparate File1.pdf temp-%04d-file1.pdf
pdfseparate File2.pdf temp-%04d-file2.pdf
# Combine the final pdf
pdfjam temp-*-*.pdf --nup 2x1 --landscape --outfile File1+2.pdf
# Clean up
rm -f temp-*-*.pdf
Run Code Online (Sandbox Code Playgroud)