cakephp2.doc_083
R e i - D r e a m
for Laravel
TOP > CakePHP2 > Sample関連(PDF出力)
Guest
login

最終投稿日:2019年11月20日

Sample関連(PDF出力)
CakePHP2.x
【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 は、ダメだった)
            
ログインしてコメントを残そう!!


きっぷる