PDF変換ツールとしてのGhostscript

今回は、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
変換元のPDFファイル  変換後の画像ファイル

(上左)PDFファイル から (上右)JPEG画像ファイル が生成されます
(上画像クリックで元の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

といった画像フォーマットにも対応しているので,色々と使ってみてはいかがでしょうか.

biz-Stream詳細情報  biz-Stream資料請求

超高速!!高機能!! Web帳票ソリューション biz-Stream

オンデマンドかつリアルタイムにビジネスドキュメントを生成する帳票ソリューション