lumen/laravel 生成pdf中文乱码

最近在处理一个需求。把一个处理好的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',   // 粗体

                ]

            ]];

 
| | | | | ---- | ---- | ---- | | | | || | | | | ---- | ---- | ---- | | | | |`- [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] ````` 最后多说一句,有帮助的朋友可以自助小弟一杯奶茶。哈哈
posted @ 2024-09-09 11:56  夫子张  阅读(6)  评论(0编辑  收藏  举报