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 }
本文来自博客园,作者:小枫同学,除网络转载的部分,其他版权属于作者和博客园所有,未经作者或博客园许可,禁止转载、复制、重新发布完整或者部分文字、代码、图片等信息,否则将保留追究法律责任的权利(如博客侵权了您的作品,本人再次表示抱歉,请将原创地址发送至下文邮箱,核实后立刻删除。)。查阅文章的同学,由于网络爬虫严重,有些代码并不会完整贴出来或者存在bug,不过你可以发送邮件到xfstune@126.com获取新代码,记得附上文章链接