abstract:本文實(shí)例講述了在linux中利用HTML2FPDF與wkhtmltoimage把網(wǎng)頁(yè)html直接生成pdf格式的文件方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:找到一款在FPDF和HTML2FPDF源碼基礎(chǔ)上開發(fā)的一套開源程序,作者很給力?;窘鉀Q了中文(以及日語(yǔ)、韓語(yǔ)及東南亞和全球語(yǔ)言)亂碼的問(wèn)題,在Windows/Linux開發(fā)環(huán)境下測(cè)試可用,不需要安裝別的組件支持,是沒有VPS和獨(dú)立服務(wù)器
本文實(shí)例講述了在linux中利用HTML2FPDF與wkhtmltoimage把網(wǎng)頁(yè)html直接生成pdf格式的文件方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
找到一款在FPDF和HTML2FPDF源碼基礎(chǔ)上開發(fā)的一套開源程序,作者很給力?;窘鉀Q了中文(以及日語(yǔ)、韓語(yǔ)及東南亞和全球語(yǔ)言)亂碼的問(wèn)題,在Windows/Linux開發(fā)環(huán)境下測(cè)試可用,不需要安裝別的組件支持,是沒有VPS和獨(dú)立服務(wù)器的網(wǎng)站開發(fā)者的福音。
不多說(shuō),源碼名稱是MPDF,官方地址是:http://www.mpdf1.com/ 已經(jīng)更新到5.6版。
到官網(wǎng)下載,解壓到網(wǎng)站目錄下,使用。
<?php include('mpdf.php'); $mpdf=new mPDF('UTF-8','A4','','',15,15,44,15); $mpdf->useAdobeCJK = true; $mpdf->SetAutoFont(AUTOFONT_ALL); $mpdf->SetDisplayMode('fullpage'); //$mpdf->watermark_font = 'GB'; //$mpdf->SetWatermarkText('中國(guó)水印',0.1); $url = 'http://www.你的域名.com/'; $strContent = file_get_contents($url); //print_r($strContent);die; $mpdf->showWatermarkText = true; $mpdf->SetAutoFont(); //$mpdf->SetHTMLHeader( '頭部' ); //$mpdf->SetHTMLFooter( '底部' ); $mpdf->WriteHTML($strContent); $mpdf->Output('ss.pdf'); //$mpdf->Output('tmp.pdf',true); //$mpdf->Output('tmp.pdf','d'); //$mpdf->Output(); exit; ?>
PASS:需要注意的是,PHP文件要是UTF-8。不用心情天空貼出的代碼,自己寫時(shí)出現(xiàn)方格亂碼時(shí),可以在config.php文件里的$this->useAdobeCJK = false;修改成true或者必須標(biāo)注:$mpdf->useAdobeCJK = true; 官方有文檔,可以自己摸索。
這個(gè)不完美方法,MPDF只能解析相對(duì)簡(jiǎn)單的css(不能解析js和css中ul li等標(biāo)簽)?,F(xiàn)在既然使用了wkhtmltoimage擴(kuò)展,也就不在乎wkhtmltopdf的使用了。
同樣,wkhtmltoimage 0.11會(huì)出現(xiàn)錯(cuò)誤,需要下載0.10.0_rc2版。
32位:
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2 tar jxf wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2 cp wkhtmltoimage-i386 /usr/local/bin/wkhtmltopdf
64位
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2 mv wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2 wkhtmltoimage-0.10.0_rc2-static-amd64.tar tar -xvf wkhtmltopdf-0.10.0_rc2-static-amd64.tar mv wkhtmltoimage-amd64 /usr/bin/wkhtmltopdf測(cè)試 wkhtmltopdf http://www.你的域名.com/ 你的域名.pdfphp shell_exec() 執(zhí)行shell_exec('/usr/local/bin/wkhtmltopdf http://www.你的域名.com/ /usr/local/wwwroot/你的域名.com/你的域名.pdf');
更多關(guān)于php實(shí)現(xiàn)HTML生成PDF文件的方法請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!