とある案件でPHPで複数ページの帳票を出力する要件がありました。


もともと.NETがメインでやっていたいんで、早速ネットで検索です。


見つけた答えが2パターン


旗 PDFLibライブラリの利用


旗 FPDFライブラリの利用



PDFLibライブラリの利用の方法はコンパイルがどうのとかで、使えない可能性もあったので、利用せず。

(時間との戦いでもあったので、簡単に利用できる方がよかった)


FPDFライブラリを採用!!


■ライブラリの公式サイト

http://www.fpdf.org/


■公式の日本語モジュール

http://www.fpdf.org/download/


■公式のライブラリを日本語仕様に拡張したライブラリ

http://www.geocities.jp/rui_hirokawa/php/pdf/



今回は公式のライブラリ+公式の日本語モジュールを採用しました。


問題があったのは半角文字と全角文字の文字幅が一緒になってしまったことです。


これは、半角、全角の明確な指定もなかったので、今回はそのまま利用しました。


ちなみに、これの対応策は↓に書いてありました。

http://fpdf.japansite.net/modules/newbb/viewtopic.php?topic_id=39&forum=6&post_id=159



このライブラリは使い方が簡単で、ダウンロードした公式ライブラリのフォルダ内に、日本語モジュールをコピーし、アップするだけで利用可能です。


たとえば、同階層にライブラリのフォルダがある場合は次の文で直接HTTP出力にPDFを直接出力してくれます。


-- code ----


<?php
require('fpdf/japanese.php');

$pdf=new PDF_Japanese();
$pdf->AddSJISFont();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('SJIS','',9);
$pdf->Text(10, 10, "PHPでPDFを出力するテスト");

$pdf->Output();
?>


-------------



クラスのメソッド、プロパティの仕様はライブラリ内にヘルプがあるんで、それを参照すれば問題なく利用できます。



プログラミングPHP 第2版/Rasmus Lerdorf
¥3,990
Amazon.co.jp