thinkphp使用mpdf导出pdf,中文符号乱码问题解决

文章描述:

pdf中文字符存在乱码问题

方法一:

mpdf中文和符号乱码

查看了文档后发现需要指定两个参数:

$this->pdf = new Mpdf([
    'autoScriptToLang' => true,
    'autoLangToFont'   => true,
]);

 

mpdf中文正常,符号依旧是方块

但是当中文的标点符号靠近英文的时候,中文符号就又会变回小方块。

再添加一个配置项代码,解决符号的问题:

$this->pdf = new Mpdf([
    'autoScriptToLang' => true,
    'autoLangToFont'   => true,
    'useSubstitutions' => true,
]);

 

方法二:

/vendor/mpdf/mpdf/src/Config/FontVariables.php

搜索fontdata

"unbatang" => [/* Korean */
	'R' => "UnBatang_0613.ttf",
],

添加

"gb" => [
       'R' => 'gb.ttf',
       'B' => 'gb.ttf',
       'I' => 'gb.ttf'
]

 

用法

$mpdf = new \Mpdf\Mpdf([
            'tempDir' => './',
//            'margin_left' => 10,
//            'margin_right' => 10,
//            'margin_top' => 10,
//            'margin_bottom' => 10,
//            'margin_header' => 10,
//            'margin_footer' => 10,
            'orientation' => 'P',
            'format' => 'A4',
            'default_font'=>'unbatang', // gb
            'default_font_size' => 20,
            'autoScriptToLang' => true,
            'autoLangToFont'   => true,
//            'useSubstitutions' => true,
]);

 

 

发布时间:2024/03/23

发表评论