PDFを1920x1080の画像に変換

PDFを1920x1080の画像に変換

.PDFを使ってPDFをPNG画像に変換したいですconvert。画像は比率が-x1080でなければならず、1920x1080の比率に収まり、品質が最適でなければなりません。

Convertで利用可能なさまざまなオプションは次のとおりです。 https://imagemagick.org/script/command-line-options.php#append


  • まず、次のコマンドラインを試しました。

convert my.pdf -geometry 1920x1080 -size 1920x1080 -density 1920x1080 my_resized_pdf.png

このコマンドの結果は良い形状(763x1080)の画像を提供しますが、低品質の画像を取得したくありません。

ここに画像の説明を入力してください。

  • 次のように、ジオメトリパラメータなしで変換コマンドラインを使用します。

convert my.pdf -size 1920x1080 -density 1920x1080 my_resized_pdf.png

結果の品質は、私が望むものですが、解像度は1920×1080の比ではなく842×595です。高さが1920×1080の比率に正確に収まらない。

ここに画像の説明を入力してください。

x1080倍率と100%の品質でPDFからPNG画像を取得できますか?それとも、100%品質の画像を得るための最大比率は842×595ですか? DPIオプションを何に設定する必要がありますかconvert

答え1

これには試行錯誤が伴い、結局どのような結果が「最良の結果」と考えられるのかは議論の余地があります。したがって、いくつかの一般的なアドバイスをしたいと思います。

  • -flatten透明な背景を削除するには、このオプションを使用します。透明性のため、結果の実際の品質を判断することは困難です。最終画像に透明度が必要な場合は、-flatten品質を確認して削除できます。

  • -density 300高いDPI結果を得るには、このようなものを使用してください。最も大きな問題convertは、基本的に非常に低い密度(72DPI)を使用することです。このパラメーターを指定する必要があります。今後入力ファイル。

  • 高DPI画像を縮小すると追加のぼかしが発生する可能性があるため、所望の解像度を得るために正しいDPI値を計算することをお勧めします。

    $ convert -density 100 file.pdf -flatten file100.png
    $ file file100.png
    file100.png: PNG image data, 827 x 1169, 8-bit colormap, non-interlaced
    $ echo $((1080*10000/1169))
    9238
    $ convert -density 92.38 file.pdf -flatten file9238.png
    $ file file9238.png
    file9238.png: PNG image data, 764 x 1080, 8-bit colormap, non-interlaced
    

convert「理想的な」DPI値を直接決定する方法があるかどうかはわかりません。

ImageMagick IRCチャンネルまたはフォーラムにこの質問をインポートすると、より多くの提案が届くと確信しています。使用しているPDFファイルへのリンクを提供すると役に立ちます。 ;)

空の境界線をトリミングするなど、他の方法で品質を向上させることもできます。ページの半分が白の場合、解像度が大幅に低下します。利用可能な画面スペースを最大限に活用するためにPDFテキストを再圧縮するソリューションもありますk2pdfopt

最後に試すことができる他のプログラムがあります。これはコメントの問題ですが、私はInkscapeやGhostScriptを直接使用することを好みます。 ImageMagickには「一緒に付いた」文字があり、Inkscapeにはよりバランスの取れた結果があり、GhostScriptを使用すると、ぼかすことなく純粋なピクセル画像をレンダリングできます(必要に応じて実質的にpngalpha同じぼやけたバージョンを使用してくださいconvert)。

イメージマジシャン:

イメージマジシャン

インクの風景:

モジング

ゴーストスクリプト:

gs -r92.38 -sDEVICE=png48 -sOutputFile=ghostscript.png file.pdf

ゴーストスクリプト

答え2

努力する:

convert -resize 1920x1080  in.pdf   out.png

PDFが10ページの場合、out-1.png ... out-10.png 10個のファイルが得られます。

この回答を無視してください:ラスターファイルのサイズを変更するのに便利ですが、PDFファイルの場合、結果は非常にぼやけています(低DPIアップスケーリング)。

関連情報