laravel使用dompdf/dompdf中文乱码变成问号???解决

作者:Liaodeity - 2021年06月16日

在使用dompdf/dompdf生成一个页面html到pdf,但是生成出来的文件中文乱码,显示问号??????。

发现是字体问题,但是设置了字体,但是仍然不起效果。查看官方文档后,发现配置有误导致。

异常问题


正确代码

1、一开始由于没有设置setChroot,导致设置了setFontDir和setDefaultFont并不起效。所以setChroot根目录必须设置。

2、dompdf无法显示远程图片的,需要setIsRemoteEnabled设置成true,否则图片是访问不了的。

3、采用了一个支持中文的雅黑字体。

$options = new Options();
$options->setChroot(public_path ());
$options->setFontDir (public_path ('font'));
$options->setDefaultFont('msyh');
$options->setIsRemoteEnabled(true);
$dompdf    = new Dompdf($options);
$html      = view ('admin.pdf', compact ('data'))->render ();

$dompdf->loadHtml ($html);
$dompdf->render ();

更多的配置信息,可以查看官方文档说明,和配置Options类。

正确效果

本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/738

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!