近日有网友希望有一篇用PHP生成PDF的文章教程,好的今天我们就讲一讲怎么样用PHP将HTML生成PDF我们使用的开源类库就是TCPDFGITHUB地址:https://github.com/tecnickcom/TCPDF
composer安装:composer require tecnickcom/tcpdfdemo示例:https://tcpdf.org/examples/这里主要讲的是讲HTML生成PDF因为HTML格式绝大部分够用了,其它个性化的功能大家看下官方的DEMO就行了比如生成图表等
下面说下具体使用方式:1.实例化TCPDF对象$pdf = new TCPDF(PDF_PAGE_ORIENTATIN, PDF_UNIT, PDF_PAGE_FORMAT, true, UTF-8, false);
2.设置标题关键字等(步骤可以省略)$pdf->SetCreator(PDF_CREATOR);$pdf->SetAuthor(Nicola Asuni);$pdf->SetTitle(TCPDF演示);
$pdf->SetSubject(TCPDF Tutorial);$pdf->SetKeywords(TCPDF, PDF, example, test, guide);3.设置字体(这步很重要不然中文乱码)
$fontname = TCPDF_FONTS::addTTFfont(Droid Sans Fallback.ttf, TrueTypeUnicode, , 32);$pdf->SetFont($fontname, , 20);
4.添加个页面$pdf->AddPage();5.将HTML生成PDF$pdf->writeHTML($html);6.输出(默认直接在浏览器显示)$pdf->Output();$pdf->Output(123.pdf,D);//这个是下载,其他方式请替换参数
7.生成后的效果
链接列表等演示
生成图片演示
表格演示最后总结:1.一定要设置字体,否则中文乱码最好使用文本的设置方法和字体网上的设置字体的方法虽然能解决但是用pdfparser这个类读取生成后的PDF内容还是乱码(读取PDF内容的方法在我另一篇文章中有说到)。
2.如果你设置了PDF的头和脚 还需在设置一遍字体$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF头部标题, 代码庸医);$pdf->setHeaderFont(Array($fontname, , PDF_FONT_SIZE_MAIN));
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。