この記事は5年以上前の情報で、内容が古くなっている可能性があります。

PHPでPDFを作成するFPDF

FPDFはPHPでPDFを作成することができるライブラリです。ライセンスはFreeware。 PHPでPDFを作るライブラリを探していて見つけたものです。ちょっと使ってみたので、メモを残します。 だいぶ前に更新が止まってるので、新しく使うなら後継のTCPDFの方がいいかもしれません。

日本語を使用できるようにする

マルチバイト文字(日本語)が使用できるようにすには、MBFPDFというライブラリを使用します。(他にもあるみたいですが、使ったのがこれだったので)。Shift-JISとEUC-JPが使用できるようになります。 PDF関連情報:PHP toolsから、mbfpdf10b.zipをダウロードしてきます。 解凍すると、fpdfというフォルダができるので、この中身を、元のfpdfを置いてあるフォルダに移動して上書きします。 mbfpdf.phpが本体ファイル。FPDFクラスの派生クラスMBFPDFが入ってます。

基本的な使い方

//MDPDFを読み込む
require('lib/mbfpdf.php');

//コンストラクタ(ページ方向(P=縦、L=横)、単位、ページサイズ)
$pdf=new MBFPDF('P', 'mm', 'A4');

//使うフォントの指定
//mbfpdf.phpの Short Font Name で指定してあるものを使用
//文字コードはEUC-JPを使用
$pdf->AddMBFont(KOZMIN, 'EUC-JP');
$pdf->AddMBFont(PGOTHIC, 'EUC-JP');

$pdf->Open();
$pdf->AddPage();

//フォントを設定(フォント名, 文字スタイル)
$pdf->SetFont(KOZMIN, '', 14);

//文字を整形して出力(行の高さ, テキスト)
$pdf->Write(16,"おはようございます。nこんにちは。nこんばんは");

//改行文字を入れないと、前の文に続けて表示される
$pdf->Write(16,"前の文から続けて表示されます。n");

//青色で、下線が引かれたリンクを出力
$pdf->SetTextColor(0,0,255);
$pdf->SetFont('','U');
$pdf->Write(16,"リンクの文字列になりますn", 'http://example.com/');

//フォントを変えて出力
$pdf->SetFont(PGOTHIC, '', 12);
$pdf->Write(14,"フォントを変えましたn");

//現在位置変更
$pdf->SetXY(100, 80);
$pdf->Write(20,'位置変更:X=100, Y=50');
$pdf->Write(14,"n改行すると、位置が戻るようです。n");

//PDFファイル出力(ファイル名, 出力方法)
/*
$pdf->Output("output.pdf", 'I'); ブラウザにそのまま表示
$pdf->Output("output.pdf", 'D'); ダウンロード用のダイアログボックス表示
$pdf->Output("./out_pdf/output.pdf", 'F'); ローカルに保存
$pdf->Output("output.pdf", 'S'); PDFの中身そのままテキストで表示
*/
$pdf->Output();  //引数をなしにすると、画面にそのまま表示する