Imagemagickを使用してpdf:sをマージする方法(解像度の問題)


43

Imagemagickを使用して2つの.pdfファイルをマージしようとすると

convert pdf1.pdf pdf2.pdf temp.pdf

結果のtemp.pdfファイルの解像度は非常に低いようです。ソースファイルと同じ解像度を維持するにはどうすればよいですか?

回答:


53

Barnsの権利ですが、pdftkが機能しない場合は、ghostscriptを試してください。

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf

ImageMagickを-densityフラグと一緒に使用するよりもはるかに高速で、完璧に動作しました。
ブリオニウス14年

これが正解です。ImageMagickは機能しません。それも動作します。しかし、@ Brioniusが指摘したように、gsははるかに高速であり、結果のpdfの品質は最高です。
ジャグテシュチャダ

このコマンドの最後にpdf1.pdfおよびpdf2.pdfのリストの代わりに* .pdfを使用して、フォルダー内のすべてのpdfを単一のpdfに変換できることに注意してください。
コリンD

フォントに問題があり、一部のページでフォントが失われます。選択できる方法はありますか?
ズロイ・スミルトニー

20

Imagemagickのconvertコマンドは通常、イメージファイルをある形式から別の形式に変換するために使用されます。この場合、2つの「イメージ」(PDF)を単一のファイルに出力する前に実際に並べ替えの内部変換を実行している可能性があります。

http://www.accesspdf.com/pdftk/の代わりにPDF Toolkit(pdftk)の使用を検討することをお勧めします

Webサイトの例から、これは次のように単純なはずです。

pdftk pdf1.pdf pdf2.pdf cat output temp.pdf

OS X 10.6.1で実行していて、Macports経由でpdftkをインストールしようとしました。Macではpdftkが非推奨になっているようで、インストールは完了しません。そこで、Imagemagickを使用してこれを実行しようとしました。

Ubuntuでは、pdftkはaptからインストールするのに問題はなく、見事にトリックを行いました。ImageMagickを使用してPDFをつなぎ合わせましたが、大成功を収めましたが、最初にPDFをラスタライズするため(理解できるように、ベクターでは機能しません)、ほとんどのテキストドキュメントにはあまり見栄えがよくありません。しかし、pdftkは素晴らしい働きをしました。提案に感謝します。
イグアナノー

グレート...ありがとう
ダン・オルテガ

これを賛成しましょう。pdftkはghostcriptがこれを行うよりもずっとうまく機能します。
ダン・オルテガ

18

マージするすべてのファイルが同じフォルダーにある場合:

convert -density 150 $(ls -rt *pdf) output.pdf

引数-density 150は、マージされたPDFの品質を保持します。


5
あなたのすべてのPDF構文のサイドノートでは、あなたはサブlsコマンドを省略することができます:convert -density 150 *.pdf output.pdf
ジョシュ

「* .pdf」と「$(ls -rt * pdf)」では、出力が異なる場合があります。
シャンタヌー

8

私はいつもこれを行う方法を忘れて、検索するときに最初にこの質問を見つけます。

convert -density 600 file1.pdf file2.pdf -resize 50% new.pdf

リンクされた例の密度は144ですが、ピクセル化されないように十分に高くなったことはありません。

http://web.archive.org/web/20130311071316/http://studio.imagemagick.org/pipermail/magick-users/2009-September/022958.html


申し訳ありませんが、リンクは現在無効です。
Sablefoste

4

Linuxを実行している場合pdfuniteは、解像度を操作せずにどの連結を提供するpopplerを試すこともできます。


これは優れたツールであり、その方法は次のとおり
Rosamunda

0

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ドキュメント出力になります。


2
-1(可能性のある)ベクトル画像のラスタライズを提案するため。それは行く方法ではありません。
マルコ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.