最近在处理一个需求。把一个处理好的excel格式的表格导出成pdf下载。搞了几次发现,中文不兼容,签名图片不展示。 好不容易兼容中文,又可以展示图片,但是格式有不太好调整。最后选择自己改轮子。自己动手 ,丰衣足食。
第一步直接使用lumen的自带方法类生成pdf
1. Excel::download(new StatisticExport(), "{测试}.pdf",\Maatwebsite\Excel\Excel::MPDF);
重点来了,记号小本本。
1.命令行安装mpdf
`composer require mpdf/mpdf`
2.把字体文件(simsun,直接百度下载)放到文件目录 vendor/mpdf/mpdf/ttfonts/ (依赖包文件夹)。
3. 修改文件 `/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php`
代码行$pdf = $this->createExternalWriterInstance($config);
修改为
$config = ['tempDir' => $this->tempDir . '/mpdf','default_font' => 'simsun', // 设置默认字体
'font_dir' => storage_path('fonts'),
'fontdata' => [
'simsun' => [
'R' => 'simsun.ttf', // 正文字体
'B' => 'simsun.ttf', // 粗体
]
]];
| | | | | ---- | ---- | ---- | | | | || | | | | ---- | ---- | ---- | | | | |`- [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] ````` 最后多说一句,有帮助的朋友可以自助小弟一杯奶茶。哈哈 标签:laravel,----,simsun,mpdf,Excel,乱码,lumen,pdf From: https://www.cnblogs.com/zzqqyy/p/18404261