首页 > 其他分享 >lumen/laravel 生成pdf中文乱码

lumen/laravel 生成pdf中文乱码

时间:2024-09-09 11:53:01浏览次数:10  
标签:laravel ---- simsun mpdf Excel 乱码 lumen 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',   // 粗体

                ]

            ]];

 
| | | | | ---- | ---- | ---- | | | | || | | | | ---- | ---- | ---- | | | | |`- [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] ````` 最后多说一句,有帮助的朋友可以自助小弟一杯奶茶。哈哈

标签:laravel,----,simsun,mpdf,Excel,乱码,lumen,pdf
From: https://www.cnblogs.com/zzqqyy/p/18404261

相关文章

  • 解决vscode终端输出中文乱码问题图文教程
    由于系统终端默认编码为GBK,所以需要修改为UTF-8方法一打开cmd输入chcp查看编码格式,查看以及修改如下图所示:方法二        ......
  • eclipse乱码
    ‌Eclipse注释乱码问题的核心解决方案是统一编码设置。‌具体步骤如下:‌设置工作空间编码‌:打开Eclipse,选择“Window”->“Preferences”->“General”->“Workspace”,在“Textfileencoding”中选择合适的编码,如UTF-8或GBK。‌设置项目编码‌:右键点击项目,选择“Properties”......
  • Java 通过aspose.words 把docx文件转成pdf文件后中文变成小方块,aspose转pdf乱码问题的
    Java通过aspose.words把docx文件转成pdf文件后中文变成小方块,aspose转pdf乱码问题的解决方法一、问题描述​在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码,但是在win服务器上使用可以正常转换二、问题原因由于linux服务器缺少对应的字库导致文件转换出现......
  • thinkjs + puppeteer=解决中文乱码+https错误
    asyncindexAction(){constself=this;constbrowser=awaitpuppeteer.launch({headless:true,ignoreHTTPSErrors:true,args:['--no-sandbox','--disable-setuid-sandbox']});constpage=awaitbrowser.newPage();/......
  • laravel singleton 单例模式使用
    laravelsingleton单例模式使用1、简介在Laravel中,singleton是用于将一个类注册为单例模式的服务,也就是说,整个应用程序生命周期内,Laravel只会实例化一次该服务。这个服务可以在多个地方共享同一个实例,而不是每次请求时都创建一个新的实例。2、使用场景当你希望某个类只......
  • Python基础知识-8(PyQt GUI开发,输出乱码处理)
    (目录)介绍一个VSCode轻量级RestAPI客户端插件:ThunderClient一、关于shebang明确指定解释器#!/usr/bin/python3在shell中寻找第一个python解释器#!/usr/bin/envpython3二、Python类的私有方法/属性Python不支持私有方法/属性,但可以将类成员方法/属性名定义为......
  • 【树莓派开发】树莓派GeanyIDE和控制台下C/C++中文乱码问题解决方法
    文章目录情况说明1.设置VS,将文件保存为UTF8编码2.更改GeanyIDE编码设置3.更改树莓派系统设置情况说明之前使用树莓派的时候,遇到了中文乱码的问题。VS2019编译器下写的.c文件,里面的中文注释在树莓派ide上乱码树莓派控制台上,C语言代码输出中文时乱码这里需要调整三个设置来解决该......
  • 将Laravel项目中的"Remove public directory"翻译成中文为"移除公共目录"
    将"Removepublicdirectory"翻译成中文为"移除公共目录"是正确的。"public"通常指的是公共的、共享的或公开的,"directory"则是目录、文件夹的意思。因此,"Removepublicdirectory"的意思是移除公共目录,即删除或取消该目录的公共访问权限,或者将其从项目中删除。这样的翻译能够准......
  • Laravel 生态系统Forge Vapor Nova Envoyer
    Laravel生态系统中包含了多种工具和服务,旨在帮助开发者更高效地构建和维护Laravel应用程序。以下是您提到的几个工具的具体用途:1.LaravelForge用途:LaravelForge是一个服务器管理工具,可以帮助你快速设置和管理服务器。通过Forge,你可以轻松地创建服务器实例,安装必要的软......
  • 处理springboot使用fastJson浏览器调用接口正常返回数据却中文乱码的问题
    处理springboot使用fastJson浏览器调用接口正常返回数据却中文乱码的问题这属于fastJson的一个bug只需要像下面这样操作就可以了@Bean//使用Bean入fastJsonHttpllessageConvertpublicHttpMessageConverterfastJsonHttpMessageConverters(){//需婴定义......