php 如何生成pdf文件(用PHP将HTML生成PDF以及注意事项)
php 如何生成pdf文件(用PHP将HTML生成PDF以及注意事项)这里主要讲的是讲HTML生成PDF因为HTML格式绝大部分够用了,其它个性化的功能大家看下官方的DEMO就行了比如生成图表等https://tcpdf.org/examples/composer安装:composer require tecnickcom/tcpdfDEMO示例:
近日有网友希望有一篇用PHP生成PDF的文章教程,好的今天我们就讲一讲怎么样用PHP将html生成PDF
我们使用的开源类库就是TCPDF
GITHUB地址:
https://github.com/tecnickcom/TCPDF
composer安装:
composer require tecnickcom/tcpdf
DEMO示例:
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);
链接列表等演示
生成图片演示
表格演示
最后总结:
1.一定要设置字体,否则中文乱码。最好使用文本的设置方法和字体。网上的设置字体的方法虽然能解决但是用pdfparser这个类读取生成后的PDF内容还是乱码(读取PDF内容的方法在我另一篇文章中有说到)
2.如果你设置了PDF的头和脚 还需在设置一遍字体
$pdf->SetHeaderData(PDF_HEADER_LOGO PDF_HEADER_LOGO_WIDTH 'PDF头部标题' '代码庸医');
$pdf->setHeaderFont(Array($fontname '' PDF_FONT_SIZE_MAIN));