同じページ数の PDF ファイルが 2 つあり、各ページを他のファイルの対応するページと比較したいと考えています。このために、File1.pdf のページ 1 を File2.pdf のページ 1 と結合して、新しいドキュメントに 1 ページになるようにします。次に、File1.pdf のページ 2 を File2.pdf のページ 2 と結合して、新しいファイルのページ 2 にします。
でこの質問--nup
次のコマンドのオプションを使用して、1 ページに 2 つのページを配置できることをすでに学びましたpdfjam
。
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 コマンドが見つからなかったのかもしれません。
答え1
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
答え2
私はこれを使います:
sudo apt install psutils
sudo apt install ghostscript
pdf2ps -sOutputFile=input1file%d.ps input1file.pdf input1file.ps # cut to individual pages
pdf2ps -sOutputFile=input2file%d.ps input2file.pdf input2file.ps
psmerge -oinput.ps *.ps # put them together page by page from the alternative files
pstops -p a4 "2:[email protected](21cm,0)[email protected](21cm,14.85cm)" input.ps output.ps # put 2 pages on one
ps2pdf output.ps output.pdf # convert back to pdf
おそらくあなたはそれを気に入るでしょう。小さくて速いので気に入っていますが、マニュアルページは改善が必要です。:-(
答え3
(私がOPのニーズを誤解していなければ)ここにもっと簡単な解決策があります
pdftk A=File1.pdf B=File2.pdf shuffle A B output tmp-Figure1+2.pdf
pdfjam tmp-Figure1+2.pdf --nup '2x1' --landscape --outfile Figure1+2.pdf
rm tmp-Figure1+2.pdf
を使用するとpdftk ... shuffle A B ...
、次のような中間PDFファイルが作成されます。
File1-page1
File2-page1
File1-page2
File2-page2
. . . .
次に、 を使用してpdfjam
、中間ファイルの奇数ページと偶数ページを結合します。
File1-page1 File2-page1
File1-page2 File2-page2
. . . .
私はこの解決策を思いついてテストしました。
答え4
えーと、ちょっと遅いですが、他の誰かの役に立つかもしれません。
ページを並べて表示するという OP の元のアプローチは、他の回答によって実現できます。
ただし、小さなテキストの違いを見つけることが目的の場合、このアプローチは困難になる可能性があります。その目的には、pdfdiff を使用します。pdfdiff には、さまざまな作成者によるもの、商用、オープンソース、コマンドライン、GUI など、いくつかあります。
https://duckduckgo.com/?q=pdfdiff&t=ffab&ia=software
このアプローチは、「同一の」画像でも異なる方法でエンコードできるため、画像に対してはそれほど効果的ではないことに注意してください。