使用PHP把HTML生成PDF文件的幾個(gè)開(kāi)源項(xiàng)目介紹
利用PHP編碼生成PDF文件是一個(gè)非常耗時(shí)的工作。在早期,開(kāi)發(fā)者使用PHP并借助FPDF來(lái)生成PDF文件。但是如今,已經(jīng)有很多函數(shù)庫(kù)可以使用了,并且能夠從你提供的HTML文件生成PDF文檔。這讓原先耗時(shí)的工作變得非常簡(jiǎn)單了。
FPDF是很早就被使用的,其特點(diǎn)如下:
FPDF
FPDF是一個(gè)允許使用純PHP生成PDF文檔的PHP類,換句話說(shuō),沒(méi)有使用PDFlib 函數(shù)庫(kù)。FPDF中的F代表免費(fèi)和自由:你可以在任何情況下使用,并且支持自定義,來(lái)滿足你特定的需求
特點(diǎn):
1、可以選擇單元、頁(yè)面格式和邊距
2、可以管理頁(yè)眉和頁(yè)腳
3、自動(dòng)分頁(yè)
4、自動(dòng)換行和文本對(duì)齊
5、支持圖片(JPEG,PNG,gif)
6、色彩豐富,支持鏈接
順便也介紹一些可以直接從HTML生成PDF的函數(shù)庫(kù)。
DomPDF
domPDF將HTML轉(zhuǎn)換為PDF。DomPDF遵循CSS2.1的HTML布局,它是用PHP編寫的渲染引擎。DomPDF以樣式為主導(dǎo):它會(huì)下載并讀取外鏈樣式表,內(nèi)聯(lián)樣式和HTML元素的style屬性值。并且還支持大部分的HTML可見(jiàn)屬性。
特點(diǎn):
1、處理大部分CSS2.1和少許CSS3屬性,包括@import, @media & @page 規(guī)則
2、支持大部分HTML 4.1的可見(jiàn)屬性
3、支持外部樣式表,包括本地或者h(yuǎn)ttp/ftp鏈接的(通過(guò)fopen-wrappers)
4、支持復(fù)雜的表結(jié)構(gòu),包括行和列的span,separate & collapsed border models和獨(dú)立的cell樣式
5、支持圖片(gif, png, bmp & jpeg)
6、不依賴于其他的PDF函數(shù)庫(kù)
TCPDF也可以用于生成PDF文檔,并且它是一個(gè)開(kāi)源的PHP類庫(kù)。
TCPDF項(xiàng)目開(kāi)始于2002年,現(xiàn)在已經(jīng)被成千上萬(wàn)的人自由使用。TCPDF is a Free Libre Open Source Software (FLOSS).
特點(diǎn):
1、基本功能不依賴于其他PDF函數(shù)庫(kù)
2、標(biāo)準(zhǔn)頁(yè)面格式、支持頁(yè)面格式自定義、邊距自定義和單元計(jì)量
3、支持UTF-8編碼和文字方向從右到左的語(yǔ)言。
4、支持TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0等字體
5、支持字體子集,并提供方法發(fā)布一些XHTML + CSS code, Javascript and Forms
6、支持圖片和圖形的轉(zhuǎn)換
7、支持頁(yè)面壓縮(需要php-zlib擴(kuò)展)
8、自動(dòng)管理頁(yè)眉和頁(yè)腳
更多特點(diǎn)請(qǐng)戳:more
從原文的評(píng)論列表中,我也搜羅了相關(guān)的站點(diǎn)和開(kāi)源項(xiàng)目:
wkhtmltopdf(評(píng)論說(shuō)是HTML生成PDF的標(biāo)準(zhǔn)了):
https://code.google.com/p/wkhtmltopdf/
https://github.com/mreiferson/php-wkhtmltox
pdfservices(這個(gè)不用解釋了,戳開(kāi)就知道):
http://www.pdfservices.net/
- Android開(kāi)源項(xiàng)目PullToRefresh下拉刷新功能詳解
- Android 開(kāi)源項(xiàng)目側(cè)邊欄菜單(SlidingMenu)使用詳解
- 學(xué)習(xí)php開(kāi)源項(xiàng)目的源碼指南
- Ruby微信開(kāi)發(fā)的幾個(gè)開(kāi)源項(xiàng)目介紹
- 發(fā)布一個(gè)基于TokyoTyrant的C#客戶端開(kāi)源項(xiàng)目
- 利用AJAX開(kāi)源項(xiàng)目 在網(wǎng)頁(yè)里播放視頻實(shí)現(xiàn)方法
- web2.0的幾個(gè)開(kāi)源項(xiàng)目
- 如何正確使用開(kāi)源項(xiàng)目?
相關(guān)文章
php強(qiáng)大的時(shí)間轉(zhuǎn)換函數(shù)strtotime
在php中strtotime() 函數(shù)將任何英文文本的日期時(shí)間描述解析為 Unix 時(shí)間戳,這個(gè)函數(shù)也是我們經(jīng)常會(huì)用到的,有需要的朋友參考一下2016-02-02PHP中幾種常見(jiàn)的超時(shí)處理全面總結(jié)
在PHP開(kāi)發(fā)中工作里非常多使用到超時(shí)處理到超時(shí)的場(chǎng)合,我說(shuō)幾個(gè)場(chǎng)景,方便需要的朋友2012-09-09PHP中substr_count()函數(shù)獲取子字符串出現(xiàn)次數(shù)的方法
這篇文章主要介紹了PHP中substr_count()函數(shù)獲取子字符串出現(xiàn)次數(shù)的方法,結(jié)合實(shí)例分析了substr_count()函數(shù)的功能,參數(shù)作用及具體使用技巧,需要的朋友可以參考下2016-01-01PHP實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的幾種常見(jiàn)方式總結(jié)
PHP實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)有多種方式,常用的包括使用header()函數(shù)、使用JavaScript進(jìn)行跳轉(zhuǎn)、使用meta標(biāo)簽、使用超鏈接等,下面分別詳細(xì)介紹這幾種方式,并舉例說(shuō)明,需要的朋友可以參考下2023-11-11php實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的方法
這篇文章主要介紹了php實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的方法,通過(guò)獲取服務(wù)器端網(wǎng)絡(luò)參數(shù)及文本文件讀寫實(shí)現(xiàn)統(tǒng)計(jì)在線人數(shù)的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05php方法調(diào)用模式與函數(shù)調(diào)用模式簡(jiǎn)例
函數(shù)調(diào)用模式時(shí),this被綁定到全局對(duì)象。這種情況在對(duì)象的屬性與方法被初始化時(shí)也能夠得到反應(yīng)。2011-09-09