mpdf导出pdf,中文符号乱码

改源码:

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

在最后一行加入:

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

 

 

 new的时候,使用刚刚设置的字体

 

 

 

$mpdf = new Mpdf(['utf-8', 'A4', 16, '', 10, 10, 15, 1, 'default_font' => 'gb']);

然后就可以用了,帮到你的话,顶一下推荐呗!

PS:字体包放在vendor/mpdf/mpdf/ttfonts该目录下面

字体链接:

链接:https://pan.baidu.com/s/1wy0Ik95AjM5WjSC3nzOzqA 提取码:f26j 复制这段内容后打开百度网盘手机App,操作更方便哦

本文是以thinkphp来写的,实际上都一样,只是mpdf的目录vendor不一样

 


还有一个版本,就莫名奇妙的。

首先在路径:vendor\mpdf\mpdf\ttfonts放入微软雅黑字体

然后代码

 1 /**
 2  * 导出报告
 3  * @param string $filename 文件名.pdf
 4  * @param string $content 文件内容
 5  * @param string $type D下载,F保存,I浏览器直接打开。默认下载
 6  */
 7 public static function exportToPdf($filename, $content, $filePaht, $type = 'D')
 8 {
 9     $noName = ['/', '\\', ':', '*', '"', '<', '>', '?'];
10     $filename = str_replace($noName, '_', $filename);
11     if (!is_dir($filePaht) && $type == "F") {
12         mkdir($filePaht);
13     }
14     $mpdf = new Mpdf(['utf-8', 'A4', 16, '', 10, 10, 15, 1, 'default_font' => 'gb']);
15     $mpdf->SetDisplayMode('fullpage');
16     $mpdf->autoScriptToLang = true;
17     $mpdf->autoLangToFont = true;
18     $mpdf->useAdobeCJK = true;
19     $mpdf->WriteHTML($content);
20     $mpdf->Output($filePaht . "/" . $filename . ".pdf", $type);
21 }

 

posted @ 2021-02-07 14:29  小枫同学  阅读(1218)  评论(0编辑  收藏  举报