第一種辦法是通過PHP插件來生成PDF,采用使用相對比較多的的tcpdf插件,可以到tcpdf官網(wǎng)下載對應(yīng)插件包,引入對應(yīng)項目中就可以使用,現(xiàn)在的最新版已經(jīng)解決中文亂碼問題,不需要在自己去弄相應(yīng)的語言包,而且支持html直接生成相對簡單實用。
使用TCPDF需要先從TCPDF官網(wǎng)獲取最新版本。官網(wǎng)提供了幾十個示例以及說明文檔,下載解壓后需要注意文件路徑,使用TCPDF只需要簡單五部:
1、require引入tcpdf.php文件類及相關(guān)配置信息;
2、實例化TCPDF類;
3、設(shè)置PDF文檔的格式,包括文檔信息、頁眉、頁尾、字體、外間距、圖片邊框、分頁等;
4、導(dǎo)入PDF文檔的內(nèi)容,可以是單行或多行簡單字符串,也可以HTML格式的字符串等;
5、輸出PDF文檔。
第二種辦法,不實用php來實現(xiàn),相對更為簡單易用,使用js來生成pdf文件,主要使用兩個JS:
html2canvas.js我們可以直接在瀏覽器端使用html2canvas,對整個或局部頁面進行‘截圖’。但這并不是真的截圖,而是通過遍歷頁面DOM結(jié)構(gòu),收集所有元素信息及相應(yīng)樣式,渲染出canvas image。由于html2canvas只能將它能處理的生成canvas image,因此渲染出來的結(jié)果并不是100%與原來一致。但它不需要服務(wù)器參與,整個圖片都由客戶端瀏覽器生成,使用很方便。
jsPDF.js 是一個基于 HTML5 的客戶端解決方案,用于生成各種用途的 PDF 文檔。使用方法很簡單,只要引入 jsPDF 庫,然后調(diào)用內(nèi)置的方法就可以了。