2007年08月15日

FPDF MBFPDF FPDI FPDF_Protection

PHPのフリーモジュールにFPDFという動的にPDFファイルを作成できるクラスがあります。
このクラスのすばらしい点はOSに依存しないPHP上で、PDFの作成・加工ができるという点です。

ただし本家(http://www.fpdf.org/)のモジュールは、日本語フォントに対応しておらず
マルチバイト対応のMBFPDFというラッパークラスを使う必要があります。
ラッパークラスは、元のクラスから継承させ、派生クラスとして宣言して使います。

そのMBFPDFですが、airwhite氏が作ったもの(こちらよりDL可能)と、
KazuhikoIwama氏(http://www.sera.desuyo.net/mbfpdf/)が作ったもの(MBFPDF_kzhkと呼ばせてもらいます)があります。

元のMBFPDFはサポートも終了しており、特に文字列の描画幅を調べる部分にバグが存在します。
代わってMBFPDF_kzhkのほうは、ほぼ問題なく動作し、さらにフォントの横幅の伸縮描画などもできます。
ちなみに、kzhkバージョンは配布HPでは、UTF8環境での動作確認しかしてないと言っていますが、私の環境(Windows,PHP5.2)ではSJISもEUCもきちんと動作しています。

FPDI
FPDI(http://www.setasign.de/products/pdf-php-solutions/fpdi/)は、FPDF・MBFPDFのラッパークラスで、これを使うと既存のPDFファイルを読み込んで上書きすることができるようになります。
これによって、ある程度テンプレート化されたPDFへ項目のみ書き加える といった使い方ができるようになり、非常に実用的になります。
これはもともとFPDF用なので、マルチバイトで使用する場合は、クラス派生のところをFPDFからMBFPDFへ書き換える必要があります。

FPDF_Protection
PDFにはプロテクションと呼ばれる書込禁止属性を付加することができるそうです。
そうした場合にはFPDF_Protection(http://www.fpdf.de/downloads/addons/37/)を使用してセキュリティを掛けることができます。
これもFPDIと同じようにクラス派生を修正して使用します。


tsuji_pneuma at 15:55コメント(0)トラックバック(0)プログラム | ソフトウェア 

トラックバックURL

コメントする

名前
URL
 
  絵文字
 
 
  • ライブドアブログ