1、后台生成PDF
thinkphp利用MPDF插件
示例代码:
public function pdf(){
//引入类库
Vendor(‘mpdf.mpdf‘);
//设置中文编码
$mpdf=new \mPDF(‘zh-cn‘,‘A4‘, 0, ‘宋体‘, 0, 0);
//html内容
$html=‘<h1><a name="top"></a>一个PDF文件</h1>‘;
$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
}
2.利用命令行将网页链接生成PDF
下载wkhtmltox
工具命令 链接 生成的PDF文件
./wkhtmltox/bin/wkhtmltopdf http://www.baidu.com test.pdf
3.利用js生成PDF
引入以下两个js插件
html2canvas.js
jspdf.debug.js
示例代码:
function explode(){
$(".ncap-order-details").css("background-color",‘#FFFFFF‘);
html2canvas($(".ncap-order-details"), {
onrendered:function(canvas) {
var pageData = canvas.toDataURL(‘image/jpeg‘, 1.0);
var pdf = new jsPDF(‘‘, ‘pt‘, ‘a4‘);
pdf.addImage(pageData, ‘JPEG‘, 0, 0, 595.28, 592.28/canvas.width * canvas.height );
pdf.save(‘stone.pdf‘);
}
})
}
原理:先截图,然后将截图插入到PDF中
$(".ncap-order-details")是要截图的div区域,截图默认是透明背景,所以提前设置背景色,然后将截图保存到PDF中