web-dev-qa-db-ja.com

Ghostscriptを使用してマルチページを変換するPDF単一のJPGに変換しますか?

GhostscriptはPDFをJPGに変換でき、複数ページのPDFの場合は各ページを個別のJPGに変換できることを知っています。しかし、それらを1つのJPGにリッピングして、ページが互いに下に貼り付けられるようにすることは可能ですか? JPGの上半分は1ページ目、下半分は2ページ目ですか。または、JPGページを1つの画像に結合するために別のプログラムを使用する必要がありますか(ImageMagickでこれを実行できますか?)?

15
Andrew

はい、各PDFページを1つのJPGファイルに変換する必要があります(Ghostscriptはそれを実行できます)。

次に、別のプログラムを使用して、結果のJPGファイルをつなぎ合わせます( ImageMagick または GraphicsMagic は、montageサブコマンドを使用してそれを行うことができます)。

私はそれを一度に行うことができるソフトウェアを知りません。

PDFからJPGへの変換(Ghostscriptを使用):次のことを確認してください。最良の結果を得る。したがって、コマンドラインオプションを微調整して、機能するようにしてください。 [〜#〜] i [〜#〜]はこれで始まります:

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

これにより、pdffile-001.jpegpdffile-002.jpgなどと呼ばれるJPGが作成されます。パラメータ* -dJPEGQ = 95 " 「JPEG品質」を95%に設定します。「600x600 dpi」の解像度を使用します。Ghostscriptのデフォルトがニーズに合わない場合は、結果のJPGのページサイズをさらに制御する必要がある場合があります。

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -dPDFFitPage ^
    -dFIXEDMEDIA ^
    -dDEVICEWIDTHPOINTS=800 ^
    -dDEVICEHEIGHTPOINTS=600 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

または

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -dPDFFitPage ^
    -dFIXEDMEDIA ^
    -sDEFAULTPAPERSIZE=a4 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

montageによる複数から単一のJPGステッチ(ImageMagickまたはGraphicsMagick):montageコマンド(この例ではImageMagickを使用)を使用すると、タイリングパターンを制御できます。あなたが使用する場合-tile 4x3この面付けレイアウトが得られます。

1  2  3  4    
5  6  7  8    
9 10 11 12    

このコマンドを使用して、12の個別のJPGを1つにつなぎ合わせることができます。

montage ^
    -border 0  ^
    -tile 4x3  ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg  ^
    c:/path/to/final.jpg

もちろん、montageには、入力と結果のJPGの背景、間隔、オフセット、装飾、ラベル、回転、トリミング、キャプションなどを決定するための数十の追加パラメーターがあります。


EDIT:(このヒントを元の回答ですでに提供したかったが、忘れていた。) montageはデフォルトで120x120ピクセルのタイルサイズを使用します。各タイルの元のページサイズを保持する場合は、コマンドラインに-geometryを追加する必要があります。 PDFにA4(= 595x852 pt)ページがあり、これを保持したいが、水平方向に11 pt、垂直方向に22 ptのスペースを追加すると想定します。タイリング(および各タイルの周囲に4ptの濃い灰色の枠線/フレーム線)の場合、次のようにします。

montage ^
    -border 4 ^
    -tile 4x3 ^
    -geometry 595x842+11+22 ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg ^
    c:/path/to/final.jpg

EDIT 2:(さらに別の重要なヒントを逃しました。)財を失いたくない場合PDFからJPGへの変換によって作成されたスティッチング/モンタージュプロセス中の画質。次に、-quality 100パラメータを次のようにコマンドラインに追加します。

montage ^
    -border 4 ^
    -tile 4x3 ^
    -geometry 595x842+11+22 ^
    -quality 100 ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg ^
    c:/path/to/final.jpg
17
Kurt Pfeifle

ImageMagickは組み込みのGhostScriptをサポートしているため、すべてを一度に実行できます。

montage -tile 5 thispdfis25pages.pdf tiledoverview.jpg

これは、すべてのページを受け取り、エンドツーエンドで1つの長いjpegを作成します。

2
erjiang