« PDF資料の紹介 | メイン | PDF on the flyを1996年に考えた! »

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は、最初のころはソースプログラムが公開されていたかどうか、記憶に自信がありませんが、どなたかご存知でしょうか?

投稿者 koba : 2005年11月12日 08:00

トラックバック

このエントリーのトラックバックURL:
http://blog.antenna.co.jp/PDFTool/mt-tbng2.cgi/45

コメント

すでにご存知だとは思いますが、フリーのPDF作成用ライブラリとして『FPDF』というのがあり、私もWebサイトで動的なPDFを作成するときにこれを使っています。
このライブラリはPDFをインポートすることもできるので、あらかじめテンプレートなどをPDFで作っておけば、比較的高速に動的なPDFを作れるかと思います。
Web上でこういう物を使うサイトが増えれば、今まで以上にPDFが身近になるのでしょうね。

投稿者 take : 2005年12月08日 08:25

たとえば pdflib-4.0.3.tar.gz というアーカイブで、あちこちにミラーされていますので、今でも Ver 4 のソースの入手は可能です。

投稿者 soda : 2005年11月14日 10:49

ありがとうございます。
PDFLibは、現在バージョン6ですが、やはり以前は公開されていたんですね。

投稿者 koba : 2005年11月14日 08:53

PDFLib Ver4は、ソースが公開されていました。
手元に無いので確認できませんが、次のバージョンが出たら現バージョンは無料で使えるようなライセンスだったような気がします。

投稿者 なかむら : 2005年11月14日 08:37

コメントしてください




保存しますか?