当前位置:网站首页>laravel-dompdf导出pdf,中文乱码问题解决
laravel-dompdf导出pdf,中文乱码问题解决
2022-07-05 13:44:00 【深海之鲲】
composer安装dompdf包
composer require barryvdh/laravel-dompdf
发布配置文件,生成的配置文件config/dompdf.php,也可选择忽略此步骤
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
此处使用Facade导出,点击查看更多
use PDF;
$pdf = PDF::loadView('pdf.invoice', $data);
return $pdf->download('invoice.pdf');
dompdf包中没有unicode 中文编码的字体,在导出中文时会乱码。需要安装自定义中文字体。我选择的是msyh.ttf微软雅黑字体,该字体渲染后,导出的pdf文件会稍大,可自行选择其他字体。
下载php_font.php脚本,提取需要dompdf需要的字体,php_font工具脚本
- 首先将下载好的msyh.ttf字体下载到本地,粘贴到以下两个目录,一是laravel项目根目录,二是public目录下。php_font.php文件也复制到项目根目录。
在这里插入图片描述 - 执行命令提取msyh字体到dompdf中,以下是成功情况
- 需要注意storage目录下是否有fonts目录,如果没有本地可创建,这里在渲染pdf时,会生成字体缓存文件。(服务器上可能需要给storage/fonts/* 赋权限)
- 在blade文件中具体使用方式如下:
@font-face {
font-family: 'msyh';
font-style: normal;
font-weight: normal;
src: url(./msyh.TTF) format('truetype');
}
body {
font-family: 'msyh';
}
还需要注意,blade文件meta标签中必须是utf-8编码
操作全部完成,可以导出pdf了。
边栏推荐
- 49. 字母异位词分组:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。
- kafaka 日志收集
- 通讯录(链表实现)
- The "Baidu Cup" CTF competition was held in February 2017, Web: explosion-2
- What is a network port
- 什么是网络端口
- 华为推送服务内容,阅读笔记
- 内网穿透工具 netapp
- Catch all asynchronous artifact completable future
- How to apply the updated fluent 3.0 to applet development
猜你喜欢
Self built shooting range 2022
Jasypt configuration file encryption | quick start | actual combat
[public class preview]: basis and practice of video quality evaluation
[notes of in-depth study paper]uctransnet: rethink the jumping connection in u-net from the perspective of transformer channel
MySQL - database query - sort query, paging query
Laravel框架运行报错:No application encryption key has been specified
这18个网站能让你的页面背景炫酷起来
Binder communication process and servicemanager creation process
【华南理工大学】考研初试复试资料分享
STM32 reverse entry
随机推荐
Binder communication process and servicemanager creation process
Backup and restore of Android local SQLite database
Ueditor + PHP enables Alibaba cloud OSS upload
Pancake Bulldog robot V2 (code optimized)
ETCD数据库源码分析——集群间网络层客户端peerRt
Introduction to Chapter 8 proof problem of njupt "Xin'an numeral base"
Go array and slice
[notes of in-depth study paper]transbtsv2: wider instead of deep transformer for medical image segmentation
Can and can FD
Clock cycle
网络安全-HSRP协议
Kotlin协程利用CoroutineContext实现网络请求失败后重试逻辑
Usage, installation and use of TortoiseSVN
Nantong online communication group
研究生可以不用学英语?只要考研英语或六级分数高!
"Baidu Cup" CTF competition in September, web:sql
leetcode 10. Regular expression matching regular expression matching (difficult)
redis6事务和锁机制
"Baidu Cup" CTF competition in September, web:upload
Redis6 data type and operation summary