dompdf是一个可以将HTML生成PD并保留样式效果的PHP第三方扩展。
下面就一步步讲解如何使用:
一、通过composer安装
composer require dompdf/dompdf
![c940e0732876d7649acb687a776ad56a.png](https://i-blog.csdnimg.cn/blog_migrate/2b4e8ad67be1eb5830a8b5eb03bcaabd.jpeg)
安装过程
二 、编写测试代码
(1)引用autoload.php
include 'vendor/autoload.php';
(2)实例化Dompdf
$dompdf=new DompdfDompdf();
(3)加载HTML
$dompdf->loadHtml($html); //$html 为HTML字符串
(4)设置纸张和方向
$dompdf->setPaper('A4', 'landscape'); //纸张大小和纸张方向
(5)生成PDF并下载
$dompdf->render();$dompdf->stream('数据字典.pdf');
三、导出PDF测试,发现中文乱码了
![19ba839d9512195a6533114e597a7ce9.png](https://i-blog.csdnimg.cn/blog_migrate/49ecd0a4aa76ecd04a2b88e40fc09ad9.jpeg)
导出PDF发现中文乱码了
四、解决中文乱了问题
(1)下载支持中文的字体包放到根目录下(和vendor目录同级),这里演示使用的是阿里巴巴的普惠字体(字体格式是ttf的,小编原先下载使用的字体格式是otf格式的无效)
(2)下载dompdf字体安装工具解压到根目录(和vendor目录同级)
下载地址:https://github.com/dompdf/utils
(3)在命令行(CMD定位到根目录)下执行命令
php load_font.php "puhui" Alibaba-PuHuiTi-Light.ttf
执行成功后在路径(vendordompdfdompdflibfonts)下就会出现刚才的字体
(4)在样式文件中指定使用刚才安装的字体
body{font-family:puhui;}
(5)再次导出PDF测试成功
![672ca2ed16f3ea57df76d88fbb0b9642.png](https://i-blog.csdnimg.cn/blog_migrate/2eadc0dcf886a40c3ed83511dcea9669.jpeg)
乱码问题解决