8-1-2
TCPDF 基本設定
您沒有觀看影片的權限
請先登入,登入後,確認您的權限後,即可觀看影片。
- 完整手冊:https://tcpdf.org/docs/srcdoc/TCPDF/class-TCPDF/
- 函數查詢:https://www.rubydoc.info/gems/rfpdf/1.17.4/TCPDF
- 建立空白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。
- Output的參數:
$name
檔名;
$dest
輸出模式:
I
: 在瀏覽器中呈現 (預設,測試期間建議用此值);
D
: 強制下載;
F
: 存在主機空間裡;
S
: 以文字方式傳回文件;
FI
: 等同F+I :
FD
: 等同F+D;
E
: 以郵件附件方式傳回文件。
- 常用基本設定為:
$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
使用文字子集
-
例如:
<?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 \