ImageMagickの「デリゲート」(GhostscriptなどのIMが使用する外部プログラム)の詳細設定については、次のように入力してください。
convert -list delegate
(私のシステムでは、32の異なるコマンドのリストです。)PNGへの変換に使用されるコマンドを確認するには、次を使用します。
convert -list delegate | findstr /i png
わかりました、これはWindows用でした。使用しているOSはわかりません。[*] Linuxを使用している場合は、次のことを試してください。
convert -list delegate | grep -i png
IMはPSまたはEPS入力からのみPNGを生成することがわかります。では、IMはPDFから(E)PSをどのように取得しますか?簡単:
convert -list delegate | findstr /i PDF
convert -list delegate | grep -i PDF
ああ!Ghostscriptを使用してPDF=>PS変換を行い、次にGhostscriptを再度使用してPS=>PNG変換を行います。動作しますが、GhostscriptがPDF => PNGを一度に実行できることがわかっている場合は、これが最も効率的な方法ではありません。そしてより速く。そして、はるかに優れた品質で。
Ghostscriptデリゲートを介した画像へのPDF変換のIMの処理については、何よりもまず2つのことを知っておく必要があります。
- デフォルトでは、追加のパラメータを指定しない場合、Ghostscriptは72dpiの解像度で画像を出力します。
-density 600
そのため、カールの回答は、 Ghostscriptに画像出力に600dpiの解像度を使用するように指示する追加を提案しました。
PDF => PS
最初に変換するためにGhostscriptを2回呼び出すIMの迂回PS => PNG
は、実際の失敗です。あなたが勝つことは決してなく、ハーディは最初のステップで品質を維持しますが、非常に頻繁にいくつかを失うからです。理由:
- PDFは、PostScriptでは処理できない透明度を処理できます。
- PDFにはTrueTypeフォントを埋め込むことができますが、Ghostscriptにはできません。etc.pp. 方向への変換
PS => PDF
はそれほど重要ではありません....)
そのため、Ghostscriptを直接使用してPDFを一度にPNG(またはJPEG)に変換することをお勧めします。そして、Ghostscriptの最新バージョン8.71(まもなくリリースされる:9.01)を使用してください!コマンドの例を次に示します。
gswin32c.exe ^
-sDEVICE=pngalpha ^
-o output/page_%03d.png ^
-r600 ^
d:/path/to/your/input.pdf
(これはWindowsのコマンドラインです。Linuxでは、gs
の代わりにgswin32c.exe
、およびの\
代わりにを使用してください。)このコマンドは、PDFページごとに個別のファイルを格納するサブディレクトリ^
を見つけることを想定しています。output
良質のJPEGを作成するには、
gs \
-sDEVICE=jpeg \
-o output/page_%03d.jpeg \
-r600 \
-dJPEGQ=95 \
/path/to/your/input.pdf
(Linuxコマンドバージョン)。この直接変換により、元のPDFファイルにあったTrueTypeフォントと透明度オブジェクトの情報が失われる可能性のある中間のPostScript形式が回避されます。
[*] D'oh!最初はあなたの「linux」タグを見ることができませんでした...