:::

8-1-2 TCPDF 基本設定

您沒有觀看影片的權限

您沒有觀看影片的權限

請先登入,登入後,確認您的權限後,即可觀看影片。

  1. 完整手冊:https://tcpdf.org/docs/srcdoc/TCPDF/class-TCPDF/
  2. 函數查詢:https://www.rubydoc.info/gems/rfpdf/1.17.4/TCPDF
  3. 建立空白PDF文件,如: pdf.php,基本架構為:
    <?php
    use Xmf\Request;
    /*-----------引入檔案區--------------*/
    require_once __DIR__ . '/header.php';
    require_once XOOPS_ROOT_PATH . '/modules/tadtools/tcpdf/tcpdf.php';
    $pdf = new TCPDF("P", "mm", "A4", true, 'UTF-8', false);
    //PDF內容設定
    $pdf->Output('檔案標題.pdf', 'D');
    

    (1) $orientation頁面方向,預設為P(直式),橫向為L,空值則自動判斷
    (2) $unit度量單位,pt、mm(預設)、cm、in
    (3) $format紙張大小,預設為 A4(210 x 297mm)
    (4) $unicode是否使用unicode,預設為true
    (5) $encoding文件編碼,預設為 UTF-8
    (6) $diskcache使用磁碟快取,true 會減少記憶體用量,但效能會變差,預設為false
    (7) $pdfa使用PDF/A模式(長期保存的電子文件格式),預設為false。

  4. Output的參數:
    • $name檔名;
    • $dest輸出模式:
      • I: 在瀏覽器中呈現 (預設,測試期間建議用此值);
      • D: 強制下載;
      • F: 存在主機空間裡;
      • S: 以文字方式傳回文件;
      • FI: 等同F+I :
      • FD: 等同F+D;
      • E: 以郵件附件方式傳回文件。
  5. 常用基本設定為:
    $pdf->setPrintHeader(false); //不要頁首
    $pdf->setPrintFooter(false); //不要頁尾
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);  //設定自動分頁
    $pdf->setFontSubsetting(true); //產生字型子集(有用到的字才放到文件中)
    $pdf->SetFont('droidsansfallback', '', 12, '', true); //設定字型
    $pdf->SetMargins(15, 15); //設定頁面邊界,
    $pdf->AddPage(); //新增頁面,一定要有,否則內容出不來

    SetFont 的參數:
    (1) $family字型(droidsansfallback 是自加的,msungstdlight細明體是內建)
    (2) $style樣式:B粗、I斜、U底線、D刪除線、O上方線
    (3) $size字型大小(預設為12pt)
    (4) $fontfile字型檔
    (5) $subset使用文字子集

  6. 例如:

    <?php
    use Xmf\Request;
    use XoopsModules\Tad_signup\Tad_signup_actions;
    use XoopsModules\Tad_signup\Tad_signup_data;
    /*-----------引入檔案區--------------*/
    require_once __DIR__ . '/header.php';
    require_once XOOPS_ROOT_PATH . '/modules/tadtools/tcpdf/tcpdf.php';
    $pdf = new TCPDF("P", "mm", "A4", true, 'UTF-8', false);
    $pdf->setPrintHeader(false); //不要頁首
    $pdf->setPrintFooter(false); //不要頁尾
    $pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM); //設定自動分頁
    $pdf->setFontSubsetting(true); //產生字型子集(有用到的字才放到文件中)
    $pdf->SetFont('droidsansfallback', '', 12, '', true); //設定字型
    $pdf->SetMargins(15, 15); //設定頁面邊界,
    $pdf->AddPage(); //新增頁面,一定要有,否則內容出不來
    
    if (!$_SESSION['can_add']) {
        redirect_header($_SERVER['PHP_SELF'], 3, "您沒有權限使用此功能");
    }
    
    $id = Request::getInt('id');
    $type = Request::getString('type');
    
    $action = Tad_signup_actions::get($id);
    
    if ($action['uid'] != $xoopsUser->uid()) {
        redirect_header($_SERVER['PHP_SELF'], 3, "您沒有權限使用此功能");
    }
    
    $pdf->Output("{$action['title']}.pdf", 'D');
    

     

link to https://github.com/tadlearn/tad_signup/commit/9a47a44179055a87ba1a2760bd5053b51ae7b753 \


:::

搜尋

QR Code 區塊

https%3A%2F%2Fwww.tad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D48%26tbdsn%3D1772

書籍目錄

展開 | 闔起

線上使用者

19人線上 (5人在瀏覽線上書籍)

會員: 0

訪客: 19

更多…