
```
<?php
//============================================================+
// File name : example_003.php
// Begin : 2008-03-04
// Last Update : 2013-05-14
//
// Description : Example 003 for TCPDF class
// 自定義頁眉和頁腳
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com LTD
// www.tecnick.com
// info@tecnick.com
//============================================================+
/**
* Creates an example PDF TEST document using TCPDF
* @package com.tecnick.tcpdf
* @abstract TCPDF - Example: 自定義頁眉和頁腳
* @author Nicola Asuni
* @since 2008-03-04
*/
// 包括主TCPDF庫(搜索安裝路徑)。
require_once('tcpdf_include.php');
// 擴展tcpdf類以創建自定義頁眉和頁腳。
class MYPDF extends TCPDF {
//頁眉
public function Header() {
// logo
$image_file = K_PATH_IMAGES.'logo_example.jpg';
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// 設置字體
$this->SetFont('helvetica', 'B', 20);
// 標題
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// 頁腳
public function Footer() {
// 距底部15毫米的位置
$this->SetY(-15);
// 設置字體
$this->SetFont('helvetica', 'I', 8);
// 頁碼
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
// 創建新的PDF文檔
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// 設置文檔信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 003');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// 設置默認報頭數據
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// 設置頁眉和頁腳字體
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// 設置默認的單間距字體
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// 設定邊距
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// 設置自動分頁
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// 設定圖像尺度因子
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// 設置一些依賴于語言的字符串(可選)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
// 設置字體
$pdf->SetFont('times', 'BI', 12);
// 添加一個頁面
$pdf->AddPage();
// 設置要打印的文本
$txt = <<<EOD
TCPDF示例003
自定義頁頭和頁腳是通過擴展TCPDF類和重寫Header()和fopu()來定義的。
EOD;
//使用write()打印一個文本塊
$pdf->Write(0, $txt, '', 0, 'C', true, 0, false, false, 0);
// ---------------------------------------------------------
//關閉和輸出PDF文檔
$pdf->Output('example_003.pdf', 'I');
//============================================================+
// END OF FILE
//============================================================+
```
- 說明
- 示例代碼
- 例001:具有默認頁眉和頁腳
- 例002:沒有頁眉和頁腳
- 例003:自定義頁眉和頁腳
- 例004:文本使用Cell()進行拉伸
- 例005:Multicell()
- 例006:WriteHTML()
- 例007:WriteHTMLCell()的獨立列
- 例008:外部UTF-8 Unicode文本文件
- 例009:圖像()
- 例010:多列上的文本
- 例011:具有基本方法的表
- 例012:圖形方法
- 例013:圖形變換
- 例014:表單和javascript
- 例015:帶書簽的索引()
- 例016:文檔加密
- 例017:具有MultiCell()的獨立列
- 例018:RTL文檔中的波斯語和阿拉伯語
- 例019:備用配置文件
- 例020:與Multicell()的復雜對齊
- 例021:writeHTML()文本流
- 例022:CMYK顏色
- 例023:頁面組
- 例024:使用setVisibility()的對象可見性和使用startLayer()的圖層
- 例025:使用SetAlpha()的對象透明度
- 例026:文本剪輯
- 例027:1D條形碼
- 例028:多頁格式
- 例029:使用setViewerPreferences()設置PDF查看器顯示首選項
- 例030:顏色梯度
- 例031:餅圖圖形
- 例032:使用ImageEPS()的EPS AI矢量圖像
- 例033:混合字體類型(TrueType Unicode,核心,CID-0)
- 例034:剪切蒙版
- 例035:使用SetLineStyle()的邊框樣式
- 例036:PDF文本注釋
- 例037:專色
- 例038:未嵌入的CID-0 CJK字體
- 例039:HTML文本對齊
- 例040:小冊子模式(雙面頁面)
- 例041:文件附件
- 例042:具有透明度的圖像(alpha通道)
- 例043:磁盤緩存
- 例044:移動,復制和刪除頁面
- 例045:目錄
- 例046:文本連字符
- 例047:交易和UNDO
- 例048:包含標題和行數的HTML表
- 例049:在HTML中調用TCPDF方法
- 例050:2D條形碼(QR碼,Datamatrix ECC200和PDF417)
- 例051:圖像作為頁面背景
- 例052:數字簽名認證
- 例053:javascript函數
- 例054:XHTML表格
- 例055:核心字體轉儲
- 例056:裁剪標記和注冊標記
- 例057:Cell()上的垂直對齊和度量
- 例058:帶有ImageSVG()的SVG矢量圖像
- 例059:具有HTML模板的目錄
- 例060:高級頁面設置
- 例061:XHTML + CSS
- 例062:XObject模板
- 例063:文本拉伸和間距(跟蹤字距調整)
- 例064:無寫頁面區域
- 例065:PDF A 1b(ISO19005 1:2005)文件