PHPexcel导出PDF文件,调用了domPDF,PDF文档中文都是问号

使用PHPexcel插件导出PDF文件时,调用了domPDF,但是生成的PDF文件,中文都是‘?’,英文正常,如果说编码问题,如何设置?

我也遇到了相同问题了,诚意请教大家!

下面是问题链接

不要沉。大家怎么解决的,用哪个方法设置字体呀;或者你们怎么处理的哟

dompdf库默认不支持中文字体,只支持了4种Windows ANSI encoding编码的字体。官方原文PDF d

PDF documents internally support the following fonts: Helvetica, Times-Roman, Courier, Zapf-Dingbats, & Symbol. These fonts only support Windows ANSI encoding. In order for a PDF to display characters that are not available in Windows ANSI, you must supply an external font. 

解决方案:

1.安装DomPDF
composer require dompdf/dompdf
2.下载dompdf字体工具脚本
git clone  https://github.com/dompdf/utils.git
将文件夹中的load_font.php、autoload.inc.php复制到 dompdf目录中,与lib 和 src 目录同级
重命名autoload.inc.php为autoload.php;打开autolaod.php,修改php-font-lib和php-svg-lib为自己实际目录
修改load_foot.php文件中的autload.php目录为./autoload.php
3.下载支持中文的ttf字体
simsum字体,下载地址:https://ufonts.com/download/simsun/82073.html
将文件夹中的lsimsun.ttf复制到 dompdf目录中,与lib 和 src 目录同级
4.安装字体
php load_font.php 'simsun'  simsun.ttf
没有意外,在vendor/dompdf/dompdf/lib/fonts/目录下将产生相应的文件simsun.ttf,simsun.ufm
5.如何使用字体
在调用dompdf工具的时候,直接将字体名写入CSS代码,例如:
$header = "<style>* {font-family: \"simsun\"}</style>";
$html = $header.$result["content"];
$pdfManager = new Dompdf();
$pdfManager->loadHtml($html);
$pdfManager->render();
$pdfManager->stream();