今回は、biz-Streamが出力したPDFに対して変換処理をするツールとしての
Ghostscriptを紹介したいと思います。
PDFは、ページ記述言語PostScriptから発展・派生したものなので、
PDFとPostScriptは似た特性を持っていて相互変換が可能です.
今回紹介するGhostscriptは、フリーのPostScriptインタプリタなので、
PostScriptの RIP(= Raster Image Processor)として,
PostScriptで記述されたページをRaster Image(= Bitmap Image) へ変換することができます.
PostScriptのこの機能を使って,PDFのページを画像ファイルへ変換することができます。
Ghostscriptは Linux、Mac OS、Microsoft Windowsなど数多くの OS に移植されています.
今回は,Linux環境にインストールされたGhostscriptを使用して,
PDFを画像データに変換する例を説明します.
シェルのコマンドラインで以下のようにすると,
- 《 GhostscriptコマンドラインでPDFファイルからJPEGファイルを生成》
-
> gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=TestResult.jpg Test.pdf
指定パラメタの詳細は,
- 《 GhostscriptのUSAGE》
-
bs@brain> gs -h
もしくは,Ghostscriptのオンラインマニュアルを参照してください.
基本的には,これだけなのですが,実際には処理に失敗する場合が多分にあります.
それは,使用するPDF`が内部で指定しているフォントがローカル環境にない場合です.
AdobeのAcrobat ReaderなどのPDFをプレビューするビューアは,
自動的に手持ちのフォントで代替えしてプレビューすることで問題を回避しています.
Ghostscriptでも,同様の処理を設定することで対応できます.
まず最初に,設定用ファイルを生成します.
- 《 Ghostscriptコマンドラインで代替えフォント設定ファイルを生成》
-
> gs -q -dBATCH -sFONTDIR=/usr/share/ghostscript/fonts -sCIDFMAP=/usr/share/ghostscript/8.71/lib/cidfmap \ mkcidfm.ps
上記をコマンドラインで実行することにより,代替えフォント設定ファイル
- /usr/share/hostscript/8.71/lib/cidfmap
が生成されます.
ところが,Test.pdfが,ローカルシステムが持っていない以下のフォントを使用している場合,
- DFHSGothic-W3-WIN-RKSJ-H
- DFHSGothic-W3-WINP-RKSJ-H
- DFHSGothic-W5-WIN-RKSJ-H
- DFHSGothic-W5-WINP-RKSJ-H
- DFKaiSho-Bd-WINP-RKSJ-H
- DFKaiSho-Md-WIN-RKSJ-H
- DFHSGothic-W3-WINP-RKSJ-H
上記フォントの代わりに,ローカルの /usr/share/fonts/truetype/takao に存在するフォントファイルを使用するように
代替えフォント設定ファイルcidfmapを以下のように設定してすることで対応できます.
- 《 cidfmapファイル例 》
%! % cidfmap generated automatically by mkcidfm.ps from fonts found in % /usr/share/ghostscript/fonts % Substitutions /TakaoExGothic << /Path (/usr/share/fonts/truetype/takao/TakaoExGothic.ttf) /FileType /TrueType /SubfontID 0 /CSI [(Japan1) 3] >> ; /TakaoExMincho << /Path (/usr/share/fonts/truetype/takao/TakaoExMincho.ttf) /FileType /TrueType /SubfontID 0 /CSI [(Japan1) 3] >> ; /TakaoPMincho << /Path (/usr/share/fonts/truetype/takao/TakaoPMincho.ttf) /FileType /TrueType /SubfontID 1 /CSI [(Japan1) 3] >> ; % Aliases /DFHSGothic-W3-WIN-RKSJ-H /TakaoExGothic ; /DFHSGothic-W3-WINP-RKSJ-H /TakaoExGothic ; /DFHSGothic-W5-WIN-RKSJ-H /TakaoExGothic ; /DFHSGothic-W5-WINP-RKSJ-H /TakaoExGothic ; /DFKaiSho-Bd-WINP-RKSJ-H /TakaoExMincho ; /DFKaiSho-Md-WIN-RKSJ-H /TakaoExMincho ; /DFHSGothic-W3-WINP-RKSJ-H /TakaoExGohic ;
Ghostscriptは,JPEG以外にも,
- PNG
- PNM
- TIFF
- BMP
といった画像フォーマットにも対応しているので,色々と使ってみてはいかがでしょうか.