Ghostscript

Ghostscript 8.71 より前の Ver. には脆弱性がありますので、最新版である 8.71 に更新することをおすすめいたします。

[叩き台につき要改訂]

Ghostscript は PostScript インタープリタです。PostScript ファイルを 読み込んで,画面やプリンタや色々な形式のファイルに出力します。 詳しくは次のページをご覧ください。

PostScript そのものについては,Adobe から4冊の技術資料が出ており, うち3冊はアスキーから邦訳が出ています。他にもたくさんの解説書が出ています。 CQ 出版社の『PostScript 詳細解説』(1997年)という本には, 和製の LEGATOSCRIPT という Macintosh 上の PostScript インタープリタのデモ版が CD-ROM で附いています。

Ghostscript には GNU GPL 版と AFPL 版があります。AFPL 版は商業的な配布に 制限があります。このあたりの事情は,ちょっと古いですが,Ghostscript の作者 L. Peter Deutsch の次のインタビュー記事をご覧ください。

Ghostscript の起動コマンドは UNIX 互換 OS なら

$ gs

で,Microsoft Windows なら

>gswin32c

です。

UNIX 互換 OS では gv や ggv,Microsoft Windows では GSview という GUI 型の ソフトもあります。これらはいずれも背後で Ghostscript を動かしています。

特にそれぞれのヴァージョンのインストール・設定については 次のページをご覧ください。

Ghostscript 7.07 は日本の gs-cjk の寄与を含み,和文の扱いに優れています。 残念ながら Ghostscript 8.xx ではこれが削除されてしまいました(CID フォントや Windows API を使った日本語の表示はできます)。Ghostscript 8.54 では 今のところうまくいっているようです。

サポートしているデバイスを調べるには

Ghostscript のサポートする出力形式を調べるには

$ gs -h

と(Microsoft Windows では

>gswin32c -h

と)打ち込みます。 あるいは Ghostscript を起動して

GS>

のプロンプトで

GS>devicenames ==

と打ち込みます。Ghostscript のプロンプトから抜け出るには

GS>quit

と打ち込みます。

EPS から PNG への変換

EPS を α(アルファ)チャンネルを使った透過機能附きの PNG に 変換する場合には,UNIX 互換 OS なら例えば

$ gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop -r600 \
> -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=output.png input.eps

と,Microsoft Windows なら例えば

     >gswin32c -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop ^
More? -r600 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 ^
More? -sOutputFile=output.png input.eps

とします。

EPS を256色 PNG に変換する場合には,UNIX 互換 OS なら例えば

$ gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=png256 -dEPSCrop -r600 \
> -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=output.png input.eps

と,Microsoft Windows なら例えば

     >gswin32c -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=png256 -dEPSCrop ^
More? -r600 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 ^
More? -sOutputFile=output.png input.eps

とします。

PS を GIF に変換するには

次のようにします。

gs -q -dNOPAUSE -dBATCH -sDEVICE=ppm -sOutputFile=- foo.ps | ppmtogif >foo.gif

デフォールトの解像度は 72×72 ですが,“-r600x600” のようなオプションで 解像度が変えられます。

gs -q -dNOPAUSE -dBATCH -sDEVICE=ppm -sOutputFile=- -r600x600 foo.ps | ppmtogif >foo.gif

周囲に余分な領域がある場合は,次のようにしてクロップします。

gs -q -dNOPAUSE -dBATCH -sDEVICE=ppm -sOutputFile=- foo.ps | pnmcrop | ppmtogif >foo.gif

上で使っている ppmtogif,pnmcrop は PBMPLUS や NetPBM というフリーソフトの 画像フォーマット変換パッケージに入っています。 この ppmtogif の部分を変えればいろいろな形式に変換できます。


Last-modified: 2010-05-13 (木) 17:31:02 (112d)