PDFの特定のページを次のようにPNGに変換できますが:
gs \
-dSAFER \
-dBATCH \
-dNOPAUSE \
-sDEVICE=png16m \
-dGraphicsAlphaBits=4 \
-sOutputFile=gymnastics-20.png \
-dFirstPage=20 \
-dLastPage=20 \
gymnastics.pdf
Ghostscript の JOBSERVER モードを使用して、毎回 Ghostscript を起動するコストを発生させずに複数の変換を処理できるかどうか疑問に思っています。
から: http://pages.cs.wisc.edu/~ghost/doc/svn/Use.htm
-dJOBSERVER
\004 (^D)
通常はジョブ サーバーで実行される Adobe PS インタープリターとの互換性のために使用される新しいカプセル化されたジョブを開始するように定義します。ジョブ サーバーは常に保存レベルで入力 PostScript を実行するため、が指定されている場合、-dNOOUTERSAVE
スイッチは無視されます。-dJOBSERVER
-dNOOUTERSAVE
これには、入力が stdin からのものである必要もあります。そうしないと、エラーが発生します
(
Error: /invalidrestore in --restore--
)。使用例は次のとおりです。
gs ... -dJOBSERVER - < inputfile.ps -or- cat inputfile.ps | gs ... -dJOBSERVER -
注: TBCP
^D
(Tagged Binary Communication Protocol) に依存する一部の PostScript プリンターで^D
は、ストリーム入力データで EOF を通知するために帯域外が発生する可能性があるため、 stdin ではファイル終了アクションにはなりません。これは、flushfile
やなどの stdin に対する直接的なファイル アクションが、ストリーム内closefile
を超えたデータの処理に影響を与えることを意味します。^D
アイデアは、ghostscript をインプロセスで実行することです。スクリプトは、pdf の特定のページに対する要求を受け取り、ghostscript を使用して指定された画像を生成します。毎回新しい Ghostscript プロセスを開始したくありません。