實際工作中,我們要使用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。
★ 如果需要直接保存到磁盤的某個目錄下:
$res = $pdf->Output('aaa.pdf', 'S'); file_put_contents('ttt.pdf', $res);
其他php生成PDF的常用類
HTML2PDF能夠把一個HTML文本轉換成一個打印機友好的PDF文件。這個PHP腳本構建在FPDF PHP腳本之上。
TCPDF是一個用於快速生成PDF文件的PHP5函數包。TCPDF基於FPDF進行擴展和改進。支持UTF-8,Unicode,HTML和XHTML。
html2ps 能夠把帶有圖片,復雜表格(包含rowspan/colspan) ,layer/div和css樣式的HTML轉換成Postscript與PDF。 html2ps對CSS2.1支持非常好,並且很好地兼容不正確的HMTL。它甚至能夠轉換幾乎是采用CSS設計的網站如msn.com。
HTML_ToPDF能夠把任何HTML文檔轉換成在任何平台和打印機下界面格式都一樣的PDF文檔。它包括支持圖片轉換,使用樣式表來定制PDF文件和錯誤處理。
cPdfWriter是一個能夠輸出PDF文檔的PHP5 class。基於TCPDF,FPDF和其它相關腳本。
dompdf是一個HTML到PDF的轉換工具。它的核心是一個遵循大部份CSS2.1樣式的Rendering引擎。dompdf采用樣式驅動, 它能夠下載並讀取外部樣式,整個樣式標簽和單個HTML元素的樣式屬性。它同樣支持目當大部份HTML屬性。