PDF出力にTCPDFを使う。
らPDFの出力にFPDFとMBFPDFというライブラリを利用していたが、
出力するデータの文字コードをShift-JISに変換する必要があって(UTF-8環境)、
JIS第3水準・第4水準あたりの漢字が出力できなかった。
で、人名の出力に利用していたので、困ったなということになって・・・、
UTF-8でPDFを出力できるライブラリがありました。
これで、エンコードの必要がなくて、とりあえず見たところでは、
JIS第3水準・第4水準の漢字までほぼ文字化けせずに出力できている模様。
標準で日本語にも対応していて、なぜもっと早く見つけられなかったんだ・・・と悔しいッ!
TCPDFの公式サイト
↓こちらで日本語での利用について詳しく解説されています。
MONZEN.ORG(TCPDFに関するリファレンス・ドキュメント)
使い方も簡単で、TCPDF一式をダウンロードして、サーバーにそのままコピーして、
ライブラリファイルをincludeするだけ。
フォント追加用ユーティリティも付属していて、必要なフォントも無事追加できました。
出力するデータの文字コードをShift-JISに変換する必要があって(UTF-8環境)、
JIS第3水準・第4水準あたりの漢字が出力できなかった。
で、人名の出力に利用していたので、困ったなということになって・・・、
UTF-8でPDFを出力できるライブラリがありました。
これで、エンコードの必要がなくて、とりあえず見たところでは、
JIS第3水準・第4水準の漢字までほぼ文字化けせずに出力できている模様。
標準で日本語にも対応していて、なぜもっと早く見つけられなかったんだ・・・と悔しいッ!
TCPDFの公式サイト
↓こちらで日本語での利用について詳しく解説されています。
MONZEN.ORG(TCPDFに関するリファレンス・ドキュメント)
使い方も簡単で、TCPDF一式をダウンロードして、サーバーにそのままコピーして、
ライブラリファイルをincludeするだけ。
フォント追加用ユーティリティも付属していて、必要なフォントも無事追加できました。
<?php //tcpdf.phpを読み込む require_once('pdf/tcpdf.php'); //ページの設定 $pdf = new TCPDF( "P", "mm", "A4", true, "UTF-8" ); //フォントの設定 $pdf->SetFont('kozminproregular','',14); //ヘッダーとフッターを消すよ $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); $pdf->AddPage(); //出力するところ $pdf->AliasNbPages(); $pdf->Write(10,$pageno.'/'.$pdf->getAliasNbPages()); $str = "PDFが出力できるよ。"; $pdf->Write(5,$str); $filename = date('Ymd')."label.pdf"; $pdf->Output($filename,'D'); ?>PDFを出力する時に、 "TCPDF ERROR: Some data has already been output, can't send PDF file"のエラーがでる場合は、 $pdf->Output();の直前に
ob_end_clean();を追加すると解決しました。
RECENT POSTS
SEARCH