由于公司業務的需要,最近需要把html靜態文件生成pdf,在網上找了很多類文件來實現,效果都不是很好.最先用的是tcpdf這個類特別的慢,而且當前版本有一個很讓人頭疼的問題—css中的背景圖片無法獲取到,找了很多資料都無法解決.最后發現mpdf可能實現該功能,大喜過望,而且效率也比tcpdf快.
mpdf的官方下載地址:http://www.mpdf1.com/mpdf/download
下載后里面有實例,可以參照著做一個就知道了.當然官方網站也有實例,網址:http://mpdf1.com/common/mpdf/examples/
官方提供的文檔:http://mpdf1.com/manual/
<?php/**功能:生成用戶診斷報告PDF文件*創建時間:--*///phpinfo();exit;//引入MPDF類文件set_time_limit();include '/include/MPDF/mpdf.php';//實例化mpdf$mpdf=new mPDF('utf-','A','','宋體',,,,);//設置字體,解決中文亂碼$mpdf->useAdobeCJK = true;$mpdf->SetAutoFont(AUTOFONT_ALL);//獲取要生成的靜態文件$html=file_get_contents('template.html');echo $html;exit;//設置PDF頁眉內容$header='<table width="%" style="margin: auto;border-bottom: px solid #FBD; vertical-align: middle; font-family:serif; font-size: pt; color: #;"><tr><td width="%"></td><td width="%" align="center" style="font-size:px;color:#AAA">頁眉</td><td width="%" style="text-align: right;"></td></tr></table>';//設置PDF頁腳內容$footer='<table width="%" style=" vertical-align: bottom; font-family:serif; font-size: pt; color: #;"><tr style="height:px"></tr><tr><td width="%"></td><td width="%" align="center" style="font-size:px;color:#AAA">頁腳</td><td width="%" style="text-align: left;">頁碼:{PAGENO}/{nb}</td></tr></table>';//添加頁眉和頁腳到pdf中$mpdf->SetHTMLHeader($header);$mpdf->SetHTMLFooter($footer);//設置pdf顯示方式$mpdf->SetDisplayMode('fullpage');//設置pdf的尺寸為mm*mm//$mpdf->WriteHTML('<pagebreak sheet-size="mm mm" />');//創建pdf文件$mpdf->WriteHTML($html);//刪除pdf第一頁(由于設置pdf尺寸導致多出了一頁)//$mpdf->DeletePages(,);//輸出pdf$mpdf->Output();exit;?>