Dompdf可以把HTML内容生成PDF文件,但默认不支持中文显示。
在解决Dompdf的中文乱码问题之前,请确认已通过Composer在项目中安装好Dompdf库。
下载Dompdf的工具包
该工具包的Git地址为:https://github.com/dompdf/utils。
下载完成后,解压,复制其中的load_font.php
文件到项目下的verdor/dompdf/dompdf
目录下,与lib
和src
目录同级。
修改load_font.php文件
因为之前把该文件直接放在了dompdf目录下,因此需要其默认的加载autoloader的路径如下:
// 1. [Required] Point to the composer or dompdf autoloader
require_once "../../autoload.php";
下载字体文件
可以使用任意支持中文的字体文件,这里以宋体(simsun)为例,下载地址:https://ufonts.com/download/simsun/82073.html。
下载完成后,我们把该字体文件simsun.ttf
直接放在D盘根目录下。
安装字体
在放置load_font.php
的dompdf目录下,使用系统命令行工具执行该文件,具体命令如下:
D:\myproject\vendor\dompdf\dompdf> php load_font.php simsun D:\simsun.ttf
检查字体是否安装成功
如果字体安装成功,则可以在项目的vendor/dompdf/dompdf/lib/fonts
目录中看到新生成的simsun.ttf
及simsun.ufm
文件。
并且可以在该目录下的dompdf_font_family_cache.php
文件中看到如下相关信息:
'simsun' => array(
'normal' => $fontDir . '/simsun',
'bold' => $fontDir . '/simsun',
'italic' => $fontDir . '/simsun',
'bold_italic' => $fontDir . '/simsun',
)
未安装前:
安装成功后: