手把手的教你用PHP将HTML生成PDF
dompdf是一个可以将HTML生成PD并保留样式效果的PHP第三方扩展。
下面就一步步讲解如何使用:
一、通过composer安装
composer require dompdf/dompdf

安装过程
二 、编写测试代码
(1)引用autoload.php
include 'vendor/autoload.php';
(2)实例化Dompdf
$dompdf=new \Dompdf\Dompdf();
(3)加载HTML
$dompdf->loadHtml($html); //$html 为HTML字符串
(4)设置纸张和方向
$dompdf->setPaper('A4', 'landscape'); //纸张大小和纸张方向
(5)生成PDF并下载
$dompdf->render();
$dompdf->stream('数据字典.pdf');
三、导出PDF测试,发现中文乱码了

导出PDF发现中文乱码了
四、解决中文乱了问题
(1)下载支持中文的字体包放到根目录下(和vendor目录同级),这里演示使用的是阿里巴巴的普惠字体(字体格式是ttf的,小编原先下载使用的字体格式是otf格式的无效)
(2)下载dompdf字体安装工具解压到根目录(和vendor目录同级)
下载地址:https://github.com/dompdf/utils
(3)在命令行(CMD定位到根目录)下执行命令
php load_font.php "puhui" Alibaba-PuHuiTi-Light.ttf
执行成功后在路径(vendor\dompdf\dompdf\lib\fonts)下就会出现刚才的字体
(4)在样式文件中指定使用刚才安装的字体
body{font-family:puhui;}
(5)再次导出PDF测试成功

乱码问题解决