当前位置: 首页 > 后端技术 > PHP

使用dompdf-dompdf生成pdf文件

时间:2023-03-30 00:37:38 PHP

一:dompdf/dompdf地址github:https://github.com/dompdf/dompdfpackagist:http://packagist.p2hp.com/pac...二:dompdf/dompdfinstallcomposerrequiredompdf/dompdf三:dompdf/dompdf简单例子$pdf=new\Dompdf\Dompdf();$content='pdf内容';$pdf->loadHtml($content);//设置纸张大小和方向$pdf->setPaper('A4','landscape');$options=newOptions();//设置使用远程图片填充pdfcontent$options->setIsRemoteEnabled(true);$pdf->setOptions($options);//将html转换为PDF$pdf->render();//下载生成的pdf文件$pdf->stream('xxx.pdf');//将生成的pdf保存到服务器file_put_contents('xxx.pdf',$pdf->output());//将生成的pdf文件渲染到页面$pdf->stream('xxx.pdf',['compress'=>0,'Attachment'=>0]);四:解决生成pdf文件中文乱码1:下载字体包安装脚本utilshttps://github.com/dompdf/utils2:字体包安装脚本处理将下载的安装脚本中的load_font.php文件复制到项目vendor级目录,然后安装需要的字体包ttf文件也放在load_font.php同级目录下(如simsun.ttf)3:执行字体包安装脚本phpload_font.phpsimsunsimsun.ttf4:修改已安装字体包中的文件路径(注意:之前不要操作此项在本机上正常,放到服务器上就会有问题)找到dompdf\dompdf\lib\fonts\installed-fonts.json文件,然后我们可以看到我们刚刚安装的字体包这里可以看到lead导入的字体包相关路径为本地路径,可以看到dompdf\dompdf\lib\fonts路径下有我们需要的文件,修改导入路径即可,如:5:html可以使用字体包stylebody{font-family:simsun;}根据以上操作,我们就可以解决中文乱码问题