web-dev-qa-db-ja.com

`imagemagick convert`を使用して、画像のサイズを変更し、画質を維持しながら中央のA4サイズのPDFに変換するにはどうすればよいですか?

Png画像をpdfに変換するとき、私はconvert in.png -page A4 out.pdfを使用して、画質が保持され、画像がデフォルトで左下隅に配置されているpdfを取得しています。中央に揃えるために、-gravity centerを追加できます。

ただし、最近、A4シートよりも大きいサイズの画像でconvert in.png -gravity center -page A4 out.pdfを試してみると、画像の右上隅がPDFの中央に配置され、画像の大部分が切り取られて、 PDFの左下隅。 -gravity centerがないと、すべてが期待どおりに機能し、画像のサイズが変更され、PDFの左下隅から開始して、フル解像度のように見えるものを保持しながらPDFが塗りつぶされます。

この提案-density-extent-qualityresizeのさまざまな組み合わせを試しましたが、画像を取得できませんフル解像度を中心に。私が得た最も近いものはconvert in.png -gravity centre -page A4 -resize 595x842 out.pdfで、これは画像を中央に配置してサイズを変更しますが、品質を大幅に低下させます。

画像がPDF出力サイズよりも大きい場合、convertを使用して固定サイズのPDFを作成し、画像をPDFに合わせてサイズ変更し、中央に配置してフル解像度を維持するにはどうすればよいですか?

1
joelostblom

595x842を使用すると、醜いものになるはずです。

たくさんのグーグルと呪いと失敗の後、私はこれに行き着きました(「風景モード」の場合は90回転):

for num in 1 2 3 4 5 6
do
  convert image$num.jpeg -rotate 90 -density 300 -resize 2200x3400 -gravity center $num.pdf
  lpr $num.pdf
done

ウィキペディアの記事にあるように、密度にインチ単位のA4ページサイズを掛けてサイズ変更パラメーターを見つけた後、少し切り捨てました。おそらくもっとうまく調整できるでしょう。丸めなしで2481x3510になるはずですが、画像が少しトリミングされる可能性があります。

「-重力中心」はあまりうまく機能していないようです、それらの画像はあまりうまく中心になりませんでした。 「-pageA4」を追加すると、空白のページまたは実際のページの画像の一部のいずれかで、すべてが悪化しました。

それが本当に高品質のものである場合、密度をさらに上げることができます。つまり、1200まで上げ、サイズ変更パラメーターを同じように上げることができます。結果のファイルは大きくなり、プリンターによる処理時間も大きくなります。

不思議なことに、私のローカルプリンターでは白黒で表示されていましたが、ブラウザーからの印刷は通常はうまく機能します。 .pdfではなく.psに変換しようとしましたが、同じ結果でしたが、プリンターがポストスクリプトの処理に何年も費やしただけです。私は最終的に別のプリンターに印刷することでそれを解決しました...図を見てください!?

プリンターは邪悪です。

1
tobixen