實際工作中,我們要使用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