TOPページ / 徒然なるままに

2007/11/25(日)

PHPでPDF出力(FPDFかTCPDF?)

TCPDFPHPでPDF出力と言えば、PDFlibが有名なんですが・・・ライセンスが無いとロゴ付きになってしまう。PDFlib liteを利用するという手もありますがPDFlibの機能削減版、商用利用はもちろん有償。
一方、完全フリーのものにFPDFがある。
ただし、デフォルトでは日本語出力に問題があるようで、日本語に対応するにはFPDF+MBFPDFかFPDF+japaneseという拡張が必要。かつ、EUC-JPShift_JISには対応しているのですがUTF-8には対応していない。Linux環境であればやはりUTF-8を利用したい。
さらに探すとFPDFの改良型、TCPDFというものを発見。
TCPDFはUTF-8に標準で対応、PDFのレイアウトに一部HTMLタグが利用できる等々。
ただし、こちらも現バージョンでは問題があり、ひらがな、カタカナは利用できるのですが。用意されているフォントでは漢字は全く利用できず。日本語フォントを追加する必要があるようです。
せっかくLinux、PHP、TCPDF、その他オープンソースで構成しているので有償フォントは利用したくない。
そこで、タイムリーな話ですが10月1日に一般利用者向けIPAフォントのダウンロードが開始された独立行政法人 情報処理推進機構(IPA)のフリーフォントを利用してみました。
情報が少ないので、備忘録としてLinux環境での最短利用方法を記載しておきます。
・Linux+PHP(PHPは--with-zlibオプション付きでコンパイル、zlibが使えるようにしておく必要あり。)
・解凍したTCPDFを環境に応じて/usr/local/apache2/htdocs/又は/ver/www/http/等の下に置く
・IPAフォントをダウンロード解凍(5種のフォントipag.ttf ipagp.ttf ipagui.ttf ipam.ttf ipamp.ttf)。
・時間短縮の為、Windowsクライアント上で\tcpdf\fonts\ttf2ufm/下にあるtt2ufm.exeを利用。ipag.ttfを利用する場合はコマンドプロンプトでtt2ufm.exe -a -F ipag.ttfを実行、ipag.ufmを生成。
・ipag.ttfとipag.ufmをLinux上の/tcpdf/fonts/tt2fum/下にコピー php makefontuni.php ipag.ttf ipag.ufmコマンドを実行。
・生成された ipag.php ipag.ctg.z ipag.zを/tcpdf/fonts/下に移動
しかし、TCPDFで生成したPDFは使用フォント全てが埋め込まれるようで日本語ではファイルサイズがかなり大きくなってしまう。
軽量で生成する良い方法、他に無いものか・・・


Blog

CCNA(Cisco Certified Network Associate)取得を目指している取得した取得後有効期限満了したぎりぎり20代30代突入30代30代後半40代突入管理人のブログです。

Recent Entries

Google Maps API

googlemap.jpg
地図 ブログ

 

Twitter

Category

Monthly Archives