web-dev-qa-db-ja.com

コマンドラインで2つのPDFファイルを並べてマージします

同じページ数のPDFファイルが2つあり、各ページを他のファイルの対応するページと比較したいと思います。このために、File1.pdfのページ1とFile2.pdfのページ1をマージして、新しいドキュメントで1ページを取得したいと思います。次に、File1.pdfの2ページとFile2.pdfの2ページを組み合わせて、新しいファイルの2ページにします。

この質問pdfjamコマンドの--nupオプションを使用して、1ページに2ページを配置できることをすでに学びました。

pdfjam File1.pdf File2.pdf --nup 2x1 --landscape --outfile File1+2.pdf

ImageMagickパッケージでも同じことができます。

montage *.pdf merged.pdf

しかし、これは最初のファイルのページ1とページ2をまとめ、後で2番目のファイルでも同じことを行います-意図したとおりではありません。

私がしたことは、2つのドキュメントを分割することです。最初のファイルのファイル名には偶数、2番目の奇数が含まれています(実際には、適切なファイル名でファイルを新たに作成しました)。次に、すべてのファイルを

pdftk *.pdf cat output merged.pdf

そして最後に2ページを1つに置きます

pdfjam --nup 2x1 --landscape --outfile merged2up.pdf merged.pdf

これを行うループでスクリプトを書くことはできますが、これを実現するための簡単なワンライナーがあるかどうか疑問に思いました。たぶん私は正しいpdfjam、pdftkまたはImageMagickコマンドを見つけられませんでしたか?

7
nnn

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
7
Sergei