Webシステムでの印刷について
近年、WWWサーバを利用した業務システムの構築が盛んです。中でも、既存のWWWブラウザを利用したクライアント・サーバ型のものが開発やメインテナンスの容易さの面で最もポピュラーでしょう。そう、いわゆるCGIプログラムです。性能面からサーバ側でJavaプログラムを実行するServletやPHPなどの環境も用いられることはありますが、サーバ側でプログラムを実行するということに変わりはありません。
しかし、この方式には印刷する場合に難点があります。HTMLで出力した内容をWWWブラウザの印刷機能で印刷しても、思い通りの出力とはならず、あまり綺麗ではありません。業務システムで使用するような帳票などには全く使えないでしょう。この問題を解決するには、次のような方法が考えられます。
- CSV形式を出力してMiscrosoft AccessやExcelなどで印刷してもらう。(事前に帳票テンプレートを配布しておく)
- 特定の印刷用アプリケーションをクライアントにインストールして、サーバからそのアプリケーション用の形式の出力をする。(RTF、PDF、XML+XSLなど)
- 印刷用のJava Appletを使用する
どれもこれもイマイチで、決定的に優れた方法はありませんが、汎用性があること、表示プログラムが無償で配布されていること、WWWでの使用が考慮されたフォーマットであること、などの理由からPDFを使うのが良さそうです。しかし、WWWプログラムでどうやってPDFファイルを作成すれば良いのでしょうか?
- サーバをWindows NTにして、PDFWriterなどを呼び出す。
- プログラムからPostScript(R)ファイルに出力したものをAcrobat Distiller ServerでPDFに変換する。
- プログラムからPostScript(R)ファイルに出力したものをGhostScriptでPDFに変換する。
- XINCAを使う
- 翼システムのSuper Visual Formade for Webを使用する。
- PDFlibやClibPDFなどのPDF生成ライブラリを使用する。
- PDFのテンプレート機能とFDF(Forms Data Format)を組合わせる。
しかし、帳票のベースは既存のツールを使用したいとか、業務で使用する帳票ならバーコードも出力する必要があるなど、やりたいことは山積みで、簡単にはいきません。
そこで、弊社では既存のPDFファイルを読み取って、そこから新たな帳票ページを作成するプログラムライブラリを開発しました。
(続く)