cakephp2.doc_083
最終投稿日:2019年11月20日
【TCPDFの準備】
まずは、下記よりファイルをダウンロードします。
//tcpdf_6_2_12.zip 使用
http://sourceforge.net/projects/tcpdf/files/
ダウンロードしたファイルを解凍して、app/Vendor/ 以下に配置します。
[app][Vendor][tcpdf][ファイル群]
【Controller】
//コンポーネントを宣言する
public $components = array("RequestHandler");
function pdf_sample(){
//レイアウトを使わない(多分 JS CSS のリンクは無理)
$this->layout = false;
//RequestHandler の respondAs メソッドを使って、Content-Typeを指定します
$this->RequestHandler->respondAs('application/pdf');
}
【View】
<?php
//TCPDF を読み込む
App::import('Vendor','tcpdf/tcpdf');
// 各種設定は app/Vendor/tcpdf/config/tcpdf_config.php で定義
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8');
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// 日本語表示のために「小塚ゴシックPro M」を指定
$pdf->SetFont('kozgopromedium');
// ページを追加
$pdf->AddPage();
//ここが PDF にする内容
$html = $this->element("cakephp/mypdf_template");
$pdf->writeHTML($html, false, false, false, false, 'L');
// ダウンロード
$pdf->Output('sample.pdf', 'D');
?>
【エレメント】
<style>
table td,th{border: solid 1px #000;}
</style>
<div style="width:800px;">PDF テンプレート</div>
<table style="border: solid 1px #000;">
<tr>
<th width="100">ほげ</th>
<th width="100">ふ~</th>
<th width="100">ばぁ</th>
</tr>
<tr>
<td>100</td>
<td>200</td>
<td>300</td>
</tr>
</table>
<br />
<br />
<br />
<div style="text-align:center;">
<?php echo $this->Html->image("/img/hito.jpg"); ?>
</div>
【メモ】
簡単な CSS しか反映されない(height は、ダメだった)