最近在處理一個需求。把一個處理好的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', // 粗體
]
]];
| | | | | ---- | ---- | ---- | | | | || | | | | ---- | ---- | ---- | | | | |`- [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] ````` 最後多說一句,有幫助的朋友可以自助小弟一杯奶茶。哈哈