关于 DomPDF 导出中文乱码问题
12

框架使用的 laravel5.2,包使用的是 maatwebsite/excel

maatwebsite/excel文档中说明要导出pdf需要下载依赖包 "dompdf/dompdf": " ~0.6.1",可以导出pdf但是中文是乱码,于是去看了DomPDF文档,发现了这段

file

当我运行第一种方法的时候结果如下:

file

压根没由class这个目录我也是懵逼的。我想可能是版本问题,但是maatwebsite/excel的文档中明确表明了用 0.6.1 没敢乱换,所以就尝试第二种,想去 google font上找个中文字体来的,找了半天也没找到。遂来求助了。提前感谢牛牛了。

忘记说了,开发环境是ubuntu,php版本是7.0.8

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 34
Summer

dompdf 中文问题我之前也找过,没找到解决方案。

建议使用:https://github.com/barryvdh/laravel-dompdf

2年前
Summer

用的好用的话,记得回来写个教程 :smirk:

2年前

@Summer 用这个也是出现乱码哈,由解决方案吗!

2年前

问题解决了,晚上会奉上教程!:laughing:

2年前
Summer

@maxiaoxiong 靠,怪我,早上贴错链接了,应该是这个项目 https://github.com/barryvdh/laravel-snappy

2年前

下面是我自己处理 ubuntu centos 输出 PDF 乱码整理的笔记,你可以试试,好的话给点赞

wget https://dn-weiclicai.qbox.me/xpdf-chinese-simplified.tar.gz
wget https://dn-weiclicai.qbox.me/font.zip
tar zxvf xpdf-chinese-simplified.tar.gz
unzip font.zip
#中文支持安装:
mkdir –p /usr/local/share/xpdf
mv Gbsn00lp.ttf gkai00mp.ttf xpdf-chinese-simplified/CMap/
mv xpdf-chinese-simplified /usr/local/share/xpdf/
cd /usr/local/share/xpdf/xpdf-chinese-simplified
#修改add-to-xpdfrc为如下内容
#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/local/share/xpdf/chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap
toUnicodeDir /usr/local/share/xpdf/chinese-simplified/CMap
displayCIDFontTT Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap/gkai00mp.ttf
#fontFileCC Adobe-GB1 /usr/local/....
#----- end Chinese Simplified support package
2年前
Summer

laravel-snappy 底层使用的是 wkhtmltopdf,wkhtmltopdf 是构建于 QT Webkit 之上,而 QT Webkit 又是基于 Webkit 的,跟我们的浏览器一样的渲染引擎。

2年前

@Summer 学习了,谢谢站长大人!
@zhuzhichao 好详细的方案,会在教程中整理发出。感谢感谢!

2年前

@Summer 说的对,经过实际生产环境使用 laravel-snappy 这个比 dompdf CPU占用率低很多,一定要用 laravel-snappy

2年前
MRWang

使用 laravel-snappy 的飘过。。。推荐

2年前

@maxiaoxiong 我也遇到了和你相同的问题,在使用barryvdh/laravel-dompdf导出pdf不显示中文,能否将你的解决方法和我分享一下? 万分感谢~

2年前

@Summer 你好,我用的laravel-snappy, 中文也是空白是怎么回事

2年前

mark

2年前

@Summer 请教一下用了snappy依然乱码是什么情况?

2年前
Ma

laravel-snappy要提前安装一个command line tool比较不方便吧,尤其是开发的时候是windows,部署时是linux的情况,还要分别在开发机和服务器上安装。
请问用DomPDF最后是如何解决生成PDF中文会乱码的问题?@maxiaoxiong

2年前

@Ma 我在服务器上安装了中文字体就可以了。

1年前

@link1st 需要往服务器上安装中文字体哈,代码中也增加了对 @face的引用。具体哪个起作用没有具体测试。

1年前

@maxiaoxiong 教程在哪里?评论中提到的【laravel-snappy】支持laravel5.2版本吗?

1年前

我按照laravel-snappy文档在linux中部署了项目,结果生成的pdf全是黑色方框

1年前

问题解决了,我使用的laravel-dompdf。
已经沉淀成了博客

http://www.cnblogs.com/xxoome/p/6083542.html

1年前

@maxiaoxiong ,你好,我现在也遇到导出PDF乱码问题了,使用的是laravel-snappy ,想请教你下,是怎么解决乱码问题的!谢了!

1年前

@hiword 你好,我在服务端导出pdf的时候,有遇到过中文乱码的问题,系统是ubuntu的,使用的snappy类库,后来我安装了中文字体解决的?:http://cnedelcu.blogspot.com/2015/04/wkhtmltopdf-chinese-character-support.html

1年前

还是建议用 laravel-snappy ,速度快多了,内存也小

1年前

我是看到Top 100 进来的,可是为什么EXCEL处理工具也推荐用PDF生成工具呢?注释写错了吧?理应是 laravel-dompdf 和 laravel-snappy 的讨论吧???

4 1269005 2396 maatwebsite/excel Excel 处理工具,中文处理时会出现乱码,推荐使用 laravel-snappy,历史讨论请见 https://laravel-china.org/topics/2477
1年前

@syoukaihou 您好!我参考了blog上的做法,中文显示没有问题,但是我以为下载过一次,第二次点其他的link生成PDF时会快一点,但是实际上每次生成PDF时,等很长时间,怎么办?有办法改进加载速度?请教了,谢谢!

1年前

@billyct 你好,我也遇到这个问题了,网址失效了,能再给一个吗

1年前

@abcderffdsdee123

那个链接没问题哦,你反正里面意思就说,比如ubuntu,按照类似?这样,安装下中文字体,然后就可以了

apt-get install fonts-wqy-microhei ttf-wqy-microhei fonts-wqy-zenhei ttf-wqy-zenhei

fc-cache -f -v
1年前

@billyct :joy:還是無法解決中文亂碼的問題,我已經放棄了,改用tcpdf了,雖然麻煩一點,但是圖片能正常顯示,繁體也沒有出現亂碼

1年前

生成pdf,出现这个错误,Unable to write in directory: C:\WINDOWS 是怎么回事?

1年前

安装完中文字体,怎么关联起来?
大佬求助啊!!!

1年前

laravel-snappy 在 window 7 里面的中文字体还是乱码啊!用了 @font-face 也无效……

5个月前

今天刚好在做相关的需求,感谢各位前人的经验

1个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!