« 2005年11月11日 | メイン | 2005年11月13日 »
2005年11月12日
PDFの作成方法(9) – PDF出力ライブラリー
PDFの仕様は公開されているのだから、自分のプログラムの中から直接PDFファイルを書くことはできないだろうか?そのように考える人もいると思います。
もちろん、そのようなこともできます。つまり、PostSciptを経由しなくてもPDFを作ることができるのです。今日はそのことをお話してみましょう。
PDF Referenceを参考にしながら、自前のプログラムから、直接、PDFファイルを書くことは、スキルのあるプログラマならやればできます。しかし、実際に、その人が、自分ですべてをまかなおうとしますとPDFに関する深い知識が必要になります。PDFの仕様は膨大(PDF1.6のReferenceは、本体だけで、1200ページ強!)ですので、簡単なものならともかく、高度なものになりますと、やらなければならないことが多くなり、仕事の生産性もあがりません。
こうしたことから、PDFに関することをまとめて任せてしまえる部品の必要性が生まれます。一般に、こういうプログラム部品をライブラリーと言います。PDFを作成するライブラリーは、全体の仕組み(11月1日)の絵の中の「PDF出力ライブラリー」がそれに相当します。
この種のライブラリーで昔から有名なものに、PDFLibがあります。PDFLib社の創業者Thomas Merz氏は、PDFに関する著書もいくつかあり、PDF業界では有名な方です。PDFLibは、最初のころはソースプログラムが公開されていたような記憶がありますが、今は、みあたりません。バイナリのみの配布で、試用であれば無料ですが、実際に使用するときはライセンス料金を払わねばなりません。
PDFLibは、PostScriptにはまったく依存しないで、上位のプログラムから指示された命令によってPDFを作り出します。これは、現在は、企業内システムやWebシステムに組み込んで、ユーザから入力されたデータ、あるいはデータベースから取り出したデータを使って、サーバサイドで、即時にPDFを作り出すというシステムを構築するのに使われています。
私は一番最初に、Thomas Merz氏の著書を読んだとき、中に書かれている例の中で、on-the-flyでPDFを作る、という概念が理解できず「一体なにに使うんだろう?」と思った覚えがあります。
しかし、今では、WebシステムでPDFを作成するという考えがかなりポピュラーになってきています。一般にWebシステムでは、高速な応答性が要求されます。このため、on-the-flyでPDFを作るためには、PDF生成ライブラリーも高速なものでなければなりません。
PostScriptファイルは大きくなり、また、それを解読するにも処理時間がかかるということで、Webシステムで使うにはあまり適切ではありません。PDFLibの市場性もその辺りにあったと言えます。
ところで、PDFLibは、最初のころはソースプログラムが公開されていたかどうか、記憶に自信がありませんが、どなたかご存知でしょうか?
投票をお願いいたします