【続】準備したPDFテンプレートに文字を埋め込む
サンプルを使用して日本語を埋め込んでみる。サンプルプログラムはFPDIのサンプルを使用した(このページの一番下)。
—
<?php
[01] define(‘FPDF_FONTPATH’,’font/’);
[02] require(‘fpdi.php’);
[03]
[04] $pdf= new fpdi();
[05]
[06] $pagecount = $pdf->setSourceFile("orig.pdf");
[07] $tplidx = $pdf->ImportPage(1);
[08]
[09] $pdf->addPage();
[10] $s = $pdf->useTemplate($tplidx,10,10,90);
[11]
[12] $pdf->SetY(10);
[13] $pdf->SetFont("Arial");
[14]
[15] // write all fetched Informations of the PDF document
[16] foreach($pdf->current_parser->infos AS $k => $v) {
[17] $pdf->SetX(10 + $s[‘w’]);
[18] $pdf->Cell(0, 6, $k .": ".$v, 0, 1);
[19] }
[20]
[21] $pdf->SetXY(10 + $s[‘w’], $pdf->y + 6);
[22] $pdf->Cell(0, 6, "Page count: ".$pdf->current_parser->page_count." pages");
[23] $pdf->SetXY(10 + $s[‘w’], $pdf->y + 6);
[24] $pdf->Cell(0, 6, "PDF-Version: ".$pdf->current_parser->pdfVersion);
[25] $pdf->Output("new.pdf","I");
?>
便宜上行番号をつけてある。
[01]これはいらない(コメントアウト)。
[02]ここはパッチをあてた「MBfpdi.php」を読み込むよう変更。
[13]ここでフォントを指定しているので、これを日本語用に変更する。
[13]をコメントアウトし以下の2行を加える。
—
(1) $pdf->AddMBFont(KOZMIN ,’SJIS’);
(2) $pdf->SetFont(KOZMIN);
やることはこれだけ。これで日本語を表示させることができるようになる。ちなみに(1)で’SJIS’と指定しているので、埋め込みはSJISでおこなう(EUCにする場合はそのように指定すること)。「KOZMIN」というのはフォントの指定だ。もちろん他にも使用できる。これについてはインストールで使用した各ライブラリに目を通せば理解できるはず。あと各ライブラリへのパスの設定も必要ですよ。
とにもかくにもこれでPDF生成ができる。手順が入れ替わったけど、次回はPDFを1から生成する手順をメモする(もちろんマルチバイト対応で)。