TCPDF筆記

tags: PHP

套件安裝

  • composer安裝
    ​​​​composer require tecnickcom/tcpdf
    
  • 利用composer載入tcpdf
    ​​​​<?php
    ​​​​include __DIR__."/vendor/autoload.php";
    

物件初始化

  • 建立新的 TCPDF 物件
    ​​​​<?php
    ​​​​
    ​​​​$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    
  • 參數說明:
    預設值 可能的值 作用說明 備註
    PDF_PAGE_ORIENTATION or 'P' 'P' 直式
    'L' 橫式
    頁面方向
    PDF_UNIT or 'mm' 'pt':point
    'mm':公釐
    'cm':公分
    'in':英吋
    文字度量單位 1 pt = 1/72 in
    1 pt = 0.35 mm
    1 in = 2.54 cm
    PDF_PAGE_FORMAT or 'A4' 'A3''A4''B4' 紙張尺寸 tcpdf_static.php
    true 是否使用unicode
    'UTF-8' 文件編碼
    false 使用磁碟快取 DEPRECATED
    false PDF/A模式

常用語法

<?php $pdf->setPrintHeader(false); //不要頁首 $pdf->setPrintFooter(false); //不要頁尾 $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //設定自動分頁 $pdf->setLanguageArray($l); //設定語言相關字串 $pdf->setFontSubsetting(true); //產生字型子集(有用到的字才放到文件中) $pdf->SetFont('droidsansfallback', '', 12, '', true); //設定字型 $pdf->AddPage(); //新增頁面 $pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal'));//文字陰影 $pdf->writeHTML($html, $ln=1, $fill=0, $reseth=true, $cell =true, $align=''); $pdf->Output('contact.pdf', 'D');
  • SetFont 的參數:
    1. 「$family」字型名稱
    2. 「$style」樣式:B粗、I斜、U底線、D刪除線、O上方線
    3. 「$size」字型大小(預設為12pt)
    4. 「$fontfile」字型檔
    5. 「$subset」使用文字子集
  • writeHTML的參數如下(有支援的網頁標籤: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):
    1. 「$html」內容(屬性一定要用雙引號)
    2. 「$ln」下一個元件的位置:「0(預設)右邊;1下行最左邊;2目前元件下方」
    3. 「$fill」是否填色:「true為不透明;false透明」
    4. 「$reseth」若true會重設最後一格的高度
    5. 「$cell」自動增加內距
    6. 「$align」對齊方向:「L;C;R」。
  • Output的參數如下:
    1. 「$name」檔名
    2. 「$dest」輸出模式:「I: 在瀏覽器中呈現 (預設);D: 強制下載(無法用中文檔名);F: 存在主機空間裡;S: 以文字方式傳回文件;FI: 等同F+I :FD: 等同F+D;E: 以郵件附件方式傳回文件。