はじめに
FPDFで日本語でPDF出力を行おうとして,ググると大体出てくる japanese.php
を利用する方法。
FPDF公式ページに日本語対応パッチへのリンクが消えているため,今それを利用する方法をまとめる。
今までは各言語ごとに対応パッチを配布していたのだが,公式がUTF-8に対応したライブラリtFPDFを配布することになり,各言語へのパッチはリンクが消えている模様。
tFPDFのダウンロード
まずはtPDFのダウンロードを行う。
このリンクを飛んだ先の
一番下のZIPダウンロードから。
ダウンロードしたらディレクトリ名を「tfpdf」へと書き換えて好きな場所へと配置する。
(僕はプロジェクト内に lib
ディレクトリ作ってその下に置いた)
直リンク
フォーラムの中には残ってるらしいので直接飛ぶ。
japanese.zip
をクリックし,ダウンロードを行う。
中に入っているのは
- japanese.php (本体)
- ex.php (サンプル)
の2つなので japanese.php
を tFPDFの中に入れる。
japanese.php の変更
そのままだと,FPDFを利用する形になっているので,tFPDFを利用するように書き換える必要がある。
2行目と15行目の, fpdf
と FPDF
を,それぞれ tfpdf
と tFPDF
へ書き換える
- 2: require('fpdf.php');
+ 2: require('tfpdf.php');
- 15: class PDF_Japanese extends FPDF
+ 15: class PDF_Japanese extends tFPDF
以上で準備が完了。
利用法
japanese.php
はShift-JISしか対応していない?ため, mb_convert_encoding
を使ってShift-JISへと変換する必要がある。
<?php
require('./lib/tfpdf/japanese.php'); // ←自分の環境に応じて書き換えを
$pdf = new PDF_Japanese();
$pdf->AddSJISFont();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('SJIS','',18);
$pdf->Write(8, mb_convert_encoding('FPDFの日本語対応サンプルです', 'SJIS'));
$pdf->Output();