PDFライブラリ
CakePHPでPDFを出力する方法を試してみた。
まず、PDFライブラリですが、調べたところイロイロあり迷ったのですが、TCPDFを使用することにしました。
決め手は、
- 後発
- UTF-8 対応
TCPDFサイトにはexamplesが大量にあったのでそれを参考にすればよさそう。
CakePHPでの使用
まずは、TCPDFをダウンロード&展開し、
- トップ/app/Vendor/tcpdf
次に、コントローラ作成
- トップ/app/Controller/PdfsController.php
<?php
class PdfsController extends AppController {
public $components = array('RequestHandler');
public function pdfTest() {
// Content-Type
$this->RequestHandler->respondAs('application/pdf');
// レイアウトを使用しない
$this->layout = '';
}
}
最後に、ビュー作成
- トップ/app/View/Pdfs/pdf_test.ctp
<?php
App::import('Vendor', 'tcpdf/tcpdf');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->AddPage();
$pdf->Cell(0, 0, 'Hello World');
$pdf->Output('HelloWorld.pdf', 'I');
Content-Typeがうまく設定できなくてはまりました。RequestHandlerが必要なんだって。
0 件のコメント:
コメントを投稿