Webシステムを開発する際に問題になりやすいのが帳票やレポートの扱いだ。そのレイアウトを含めて柔軟に変更できる必要があり、それでいて開発工数を低くする必要がある。PDFはHTMLとは異なるので、柔軟なレイアウト設計を可能にするライブラリはとても貴重だ。

ピクチャ 17.png

元HTMLファイル

 

そう、レイアウトがHTMLと異なるのが問題なのだ。それを一緒にできれば、どれだけ幸せになれるだろう。

今回紹介するオープンソース・ソフトウェアはmPDF、HTMLからPDFを生成するソフトウェアだ。

mPDFは現状では日本語には対応していないが、UTF-8に対応しているのでフォントや設定を行えば問題なく表示できると思われる。実際アラビア語も表示できている。HTMLをテンプレートとしてPDFを生成するのが特徴だ。

ピクチャ 16.png

PDF化されたファイル

 

画像や外部リンク、CSSによるレイアウト設計をある程度PDFとして実現してくれる。テーブルレイアウトにも対応している。帳票であれば十分利用できるレベルだ。ヘッダ、フッター、ページナンバリングといった繰り返しの表示も可能だ。

フォームの表示も可能だが、編集はできないようだ。しかしこれだけ多様に対応してくれれば、大抵のニーズは満たせると思われる。HTTPでHTML内容を渡すようにすれば、mPDFを別サーバ化することもできるだろう。

PDF生成のライブラリは数あれど、レイアウトの調整は面倒な作業だった。HTMLをそのまま使えればテンプレート化もしやすく、より柔軟なPDF作成が可能になりそうだ。

ピクチャ 15.png

ヘッダー/フッター

 

 ピクチャ 11.png

多彩な表現に対応

 

ピクチャ 18.png

アラビア語表示など多言語に対応。フォントがないので日本語は表示不可だった。

 

mPDF

 http://mpdf.bpm1.com/