TCPDFを使うとPHPでPDFを生成することができます。
特徴は次のとおりです。
- 導入が簡単。
- HTMLが使える。
導入
次のページでClone or downloadをクリックします。
GitHub – tecnickcom/TCPDF: Official clone of PHP library to generate PDF documents and barcodes
Download Zipをクリックします。
TCPDF-master.zipがダウンロードされます。
展開するとTCPDF-masterというフォルダが現れます。
フォルダ名を適当に変更します。ここでは「tcpdf」とします。
使い方
詳細は下のサンプルのとおりです。
HTMLが使えますが、少し癖があります。おそらくHTMLの解釈を独自に行なっているのだと思います。
普通、HTMLは次のように書きます。
<head>
<style>
</style>
</head>
<body>
本文
</body>
</html>
しかしTCPDFでは次のように書きます。html, head, bodyというタグが不要です。
</style>
本文
使えるタグが限られています。writeHTML:TCPDFマニュアル(勝手訳)によると次のとおりです。
a, b, blockquote, br, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, img, li, ol, p, pre, small, span, strong, sub, sup, table, tcpdf, td, th, thead, tr, tt, u, ul
styleタグによる装飾が可能です。
classを使うことができます。クラス名はダブルクォートを使います。シングルクォートだと効かないようです。
<div class='warning'>吾輩は猫である。</div> NG
idは使えません。
CSSの指定も独特です。例えばtdを使うときはtable tdとする必要があります。
td{color:blue;} NG
サンプル
require_once("tcpdf/tcpdf.php");
$tcpdf = new TCPDF();
$tcpdf -> AddPage();
$tcpdf -> SetFont("kozgopromedium");
$html = <<< EOF
<style>
h1{color:#0000FF}
.warning{color:red}
table,th,td{
border-collapse: collapse;
border:1px solid silver;
}
</style>
<h1>吾輩は猫である</h1>
<div class="warning">吾輩は猫である。</div>
<table>
<tr>
<th>タイトル</th><th>著者</th>
</tr>
<tr>
<td>吾輩は猫である</td><td>夏目漱石</td>
</tr>
</table>
EOF;
$tcpdf -> writeHTML($html);
$tcpdf -> Output("sample.pdf");
その他
上下の横線を消す方法
上部と下部に横線が入ることがあります。
これはヘッダとフッタを表示するためのものです。
消したいときはこれらを無効にすればOKです。
下のようにします。AddPageの上に入れます。
$tcpdf -> setPrintHeader(false);
$tcpdf -> setPrintFooter(false);
$tcpdf -> AddPage();
用紙のサイズを指定する方法
用紙のサイズはAddPageで指定できます。
第1引数は用紙の向きです。Pは縦、Lは横です。
第2引数は用紙のサイズです。”A4″、”B5″などと指定します。長さ(ミリ)を配列で指定することもできます。
下のようにします。
コメント
[…] PDFの生成についてはTCPDFを使いました。 […]