Imagemagickを使用して2つの.pdfファイルをマージしようとすると
convert pdf1.pdf pdf2.pdf temp.pdf
結果のtemp.pdfファイルの解像度は非常に低いようです。ソースファイルと同じ解像度を維持するにはどうすればよいですか?
バーンの言う通りですが、pdftkが機能しない場合は、ghostscriptを試してください。
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf
Imagemagickの変換コマンドは通常、画像ファイルをある形式から別の形式に変換するために使用されます。この場合、2つの「画像」(PDF)を単一のファイルに出力する前に、実際にソートの内部変換を実行している可能性があります。
PDF Toolkit(pdftk)の代わりに使用することを検討することをお勧めします http://www.accesspdf.com/pdftk/
ウェブサイトの例から、これは次のように単純でなければなりません。
pdftk pdf1.pdf pdf2.pdf cat output temp.pdf
マージするすべてのファイルが同じフォルダーにある場合:
convert -density 150 $(ls -rt *pdf) output.pdf
引数-density 150
は、マージされたPDFの品質を維持します。
私はいつもこれを行う方法を忘れており、検索するときに最初にこの質問を見つけます。
convert -density 600 file1.pdf file2.pdf -resize 50% new.pdf
リンクされた例の密度は144ですが、ピクセル化されていないように見えるほど高くはありません。
Linuxを実行している場合は、解像度を操作せずに連結するpdfunite
を提供するpopplerを試すこともできます。
解像度とテキストをそのままにして2つのpdfファイルを結合する方法は見つかりませんでしたが、高解像度のpngファイルに変換する方法を見つけました。
pdftoppm -f 1 -l 1 -aa yes -aaVector yes -png -r 300 page.pdf > tmp1.png
pdftoppm -f 2 -l 2 -aa yes -aaVector yes -png -r 300 page.pdf > tmp2.png
convert tmp1.png tmp2.png +append -quality 100 page.png
これにより、page.pdfの最初の2ページが取得され、高解像度のpngファイルが並べて結合されます。
最終行を
convert tmp1.png tmp2.png +append -quality 100 page.pdf
私が後でpngtopnm、pnmtops、ps2pdfをいじり回した後でわかったように、pdfドキュメント出力が生成されます。