これはなかなか面白そうだ。Webシステムを構築する際に厄介なものの一つが帳票システムだろう。今であれば大抵PDFで出力する必要があり、ユーザがメンテナンスしやすいテンプレートシステムを採用する必要がある。

3dsearch1.png

テンプレートファイル。一部の文字列が置き換わる対象

 

有償であれば幾つかのプランはある。だが無料で、かつ汎用性のあるシステムは数少ない。そこでトライしてみたいのがMS Officeを使った帳票システムだ。

今回紹介するオープンソース・ソフトウェアはphpLiveDocx、LiveDocx.comの提供する帳票システムへアクセスするPHPライブラリだ。

phpLiveDocxはWordファイル(Docx)をテンプレートとして差し込みで文字列を置き換え(住所や請求項目など)、PDFファイルやDoc、Docx、RTFを生成することができる。ライブラリ単体で動作する訳ではなく、LiveDocx.comのサービスを利用して変換処理を行っている。そのため利用にはLiveDocx.comのアカウントが必要だ。

ピクチャ 81.png

変換中。この後、変換に失敗して落ちてしまった。

 

イメージ的にはSmartyなどのテンプレートエンジンがDocxファイルになったような感じだろうか。assignメソッドを使って変数を入れていくので近いものがありそうだ。また、実際の利用にはZend Frameworkが必要になる。

UTF-8をサポートしているようなので、日本語PDFも表示できるかも知れない(筆者環境では生成時に失敗してしまった)。また、Web API(SOAP)を経由するので速度は遅いと感じられた。

しかしアイディアとしては非常に興味深い。テンプレートに対する差し込み印刷で帳票を作成できるとすれば普段使っているオフィススイートを利用できるのでユーザビリティは非常に高くなりそうだ。

 

**Brief introduction to phpLiveDocx | phpLiveDocx

 **
http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/