PHPでPDFを作成したいとき、皆さんはどのようなライブラリを用いて作成しますか?PDFlibでしょうか。PDFlibはPHP側であらかじめ関数が用意ということもあって使いやすいかもしれません。しかし、ライブラリをコンパイルしなければならないなど手間が掛かることがあります。そこで、今回はフリーウェアとして公開されているPDF作成のクラス「FPDF」を使って簡単にPDFを作成する方法をご紹介します。
FPDFはフリーウェアとして公開されているPDFを作成するためのPHPクラスです。しかも、このクラスを利用してPDFを作成するのに特別なextensionは必要ありません。動作環境としてはPHP4またはPHP5の環境となります。
では早速使ってみましょう。FPDFのサイトで公開されているものでも日本語対応モジュールをインストールすることにより日本語のPDFを作成することが可能になりますが、airwhile氏によって機能拡張されたMBFPDFを使うことによって日本語特有の処理にも対応できるようになります。よって今回はそのMBFPDFを用いて作成します。
まず、FPDFのサイトで公開されているFPDFをダウンロードして解凍します。次にMBFPDFをダウンロードして先のFPDFのディレクトリにファイルをコピーします。これで準備完了です。
これらのファイルと同じ階層に下記スクリプトを書いて保存、実行してください。
<?php
require('mbfpdf.php');
$pdf=new MBFPDF();
$pdf->AddMBFont(KOZMIN, 'EUC-JP');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont(KOZMIN, '', 20);
$pdf->Write(10,"こんにちはFPDF\n");
$pdf->Output();
?>
ページ左上に「こんにちはFPDF」と書かれたPDFが作成されます。スクリプトの流れを簡単に説明すると、AddMBFont()で使用するフォントを指定します。設定されている日本語フォントは、KOZMINの他に、GOTHIC、PGOTHIC、UIGOTHIC、MINCHO、PMINCHOです。次にOpen()でPDFを作成し、AddPage()で新規ページを追加、SetFont()でAddMBFont()で指定したフォントをセットしてWrite()で文を書いてOutput()でPDFを出力。以上のような流れになります。
FPDFには、もちろんこれ以外にも様々な機能が用意されています。表を作成したりJPEGまたはPNGといった画像を貼り付けたりすることが出来ます。
特別なextensionを用意する必要もなくこのクラスファイルだけでPDFを作成することが出来るFPDF。皆さんも使ってみてはいかがでしょうか。
- FPDFのサイト: http://www.fpdf.org/
- PHP tools(MBFPDFがダウンロード出来るサイト):http://www.geocities.jp/rui_hirokawa/php/pdf/