PHPからPDFを出力する
バージョン 5.9.179
サーバーにPDFライブラリをインストールして、パスを通して、とか面倒なことしないといけないのかなー
と思ってましたら、意外と簡単にできます。
TCPDFというライブラリを利用します。
下記から最新バージョンをダウンロードしましょう。
http://sourceforge.net/projects/tcpdf/files/
インストール方法は、ダウンロードしたファイルを展開して、できたtcpdfフォルダ(ディレクトリ)をWebサーバーのルートにおく。
Apacheがアクセスできるように、おいたファイルの権限のオーナーをApacheにし、すべてのファイル、ディレクトリを644にします。
これで終わりです。
要は、SmartyみたいにPHPから都度読み込むライブラリなので、ファイルをおくだけでOKなんですね。メンテナンスも楽です。
正しく動作しているかどうかは、examples/example_001.php などをWebサーバーから開いてみると、わかります。
PDFで、サンプルが表示されればできています!
使う時には、このtcpdfフォルダ内のtcpdf.phpを読み込めばOKです。
require_once('tcpdf/tcpdf.php'); $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); //あとは、$pdf-> から色々と利用できます。
レンタルサーバーでも使えますね。
HTMLで書けるので、これが非常に便利です!
さて、デフォルトのコンフィグだと、日本語が表示されず??となってしまいます。
これはフォントが日本語フォントが指定されていないからですね。
??とならず、あわてず、コンフィグファイルを書き変えましょう。
日本語フォントがちゃんと用意されています。ありがたいことですね!
/tcpdf/config/tcpdf_config.php
189行目辺り
define ('PDF_FONT_NAME_MAIN', 'Helvetica'); ↓ define ('PDF_FONT_NAME_MAIN', 'kozminproregular');
199行目辺り
define ('PDF_FONT_NAME_DATA', 'Helvetica'); ↓ define ('PDF_FONT_NAME_DATA', 'kozminproregular');
各ファイルの中で変更する場合は、次のようにします。
$pdf->SetFont('kozminproregular', '', 14, '', true);