天天看點

(實用篇)使用PHP生成PDF文檔

實際工作中,我們要使用PHP動态的建立PDF文檔,目前有許多開源的PHP建立PDF的類庫,今天我給大家來介紹一款優秀的PDF庫,它就是TCPDF,TCPDF是一個用于快速生成PDF檔案的PHP5函數包。TCPDF基于FPDF進行擴充和改進,增強了實用功能。

特性

TCPDF具有以下特性:

1、支援頁面頁腳;

2、支援HTML标簽代碼;

3、支援jpg/png/gif/svg圖形圖像;

4、支援表格;

5、支援中文字元;(有些PDF類不支援中文或者進行中文相當麻煩)

6、自動分頁,自動頁碼,等等。

如何使用

您可以從TCPDF官網擷取最新版本:http://www.tcpdf.org。官網提供了幾十個示例以及說明文檔,下載下傳解壓後一定要注意檔案路徑,如何使用TCPDF,可以從以下5個步驟完成:

1、require_once導入tcpdf.php檔案及相關配置資訊;

2、執行個體化TCPDF;

3、設定PDF文檔的格式,包括文檔資訊、頁眉、頁尾、字型、外間距、圖檔邊框、分頁等;

4、導入PDF文檔的内容,可以是單行或多行簡單字元串,也可以HTML格式的字元串等;

5、輸出PDF文檔。

代碼示例:

require_once('tcpdf.php'); 
//執行個體化 
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false); 

 
// 設定文檔資訊 
$pdf->SetCreator('Helloweba'); 
$pdf->SetAuthor('yueguangguang'); 
$pdf->SetTitle('Welcome to helloweba.com!'); 
$pdf->SetSubject('TCPDF Tutorial'); 
$pdf->SetKeywords('TCPDF, PDF, PHP'); 

 
// 設定頁眉和頁腳資訊 
$pdf->SetHeaderData('logo.png', 30, 'Helloweba.com', '緻力于WEB前端技術在中國的應用',  

      array(0,64,255), array(0,64,128)); 
$pdf->setFooterData(array(0,64,0), array(0,64,128)); 

 
// 設定頁眉和頁腳字型 
$pdf->setHeaderFont(Array('stsongstdlight', '', '10')); 
$pdf->setFooterFont(Array('helvetica', '', '8')); 

 
// 設定預設等寬字型 
$pdf->SetDefaultMonospacedFont('courier'); 

 
// 設定間距 
$pdf->SetMargins(15, 27, 15); 
$pdf->SetHeaderMargin(5); 
$pdf->SetFooterMargin(10); 

 
// 設定分頁 
$pdf->SetAutoPageBreak(TRUE, 25); 

 
// set image scale factor 
$pdf->setImageScale(1.25); 

 
// set default font subsetting mode 
$pdf->setFontSubsetting(true); 

 
//設定字型 
$pdf->SetFont('stsongstdlight', '', 14); 

 
$pdf->AddPage(); 

 
$str1 = '歡迎來到Helloweba.com'; 

 
$pdf->Write(0,$str1,'', 0, 'L', true, 0, false, false, 0); 

 
//輸出PDF 
$pdf->Output('t.pdf', 'I');       

儲存後用浏覽器打開,如果您的系統安裝了PDF閱讀器或者使用google chrome直接在浏覽器中打開,否則會提示下載下傳生成的PDF。

其他php生成PDF的常用類

FPDF

HTML2PDF

HTML2PDF能夠把一個HTML文本轉換成一個列印機友好的PDF檔案。這個PHP腳本建構在FPDF PHP腳本之上。

TCPDF

TCPDF是一個用于快速生成PDF檔案的PHP5函數包。TCPDF基于FPDF進行擴充和改進。支援UTF-8,Unicode,HTML和XHTML。

html2ps

html2ps 能夠把帶有圖檔,複雜表格(包含rowspan/colspan) ,layer/div和css樣式的HTML轉換成Postscript與PDF。 html2ps對CSS2.1支援非常好,并且很好地相容不正确的HMTL。它甚至能夠轉換幾乎是采用CSS設計的網站如msn.com。

HTML_ToPDF

HTML_ToPDF能夠把任何HTML文檔轉換成在任何平台和列印機下界面格式都一樣的PDF文檔。它包括支援圖檔轉換,使用樣式表來定制PDF檔案和錯誤處理。

cPdfWriter

php