博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决larave-dompdf中文字体显示问题
阅读量:6715 次
发布时间:2019-06-25

本文共 1985 字,大约阅读时间需要 6 分钟。

0、使用MPDF

dompdf个人感觉没有那么好用,最终的生产环境使用的是MPDF,github上有文档说明。

如果你坚持使用,下面是解决办法。可以明确的说,中文乱码是可以解决的。

1、安装laravel-dompdf依赖。

:https://packagist.org/packages/barryvdh/laravel-dompdf

composer require barryvdh/laravel-dompdf

2、配置config/app.php

// add the ServiceProvider to the providers array in config/app.php// 添加到providers数组下Barryvdh\DomPDF\ServiceProvider::class,// Add this to your facades// 添加到aliases数组下'PDF' => Barryvdh\DomPDF\Facade::class,

3、创建view

  下载中文字体,这里我使用了msyh.ttf(微软雅黑)。

      在public目录下创建fonts目录并把下载好的字体复制到该目录下。

      

      创建view:

            测试pdf                        
xiao{
{
$name}}

注意:引入字体,使用@font-face,并通过【font-family: 'msyh';】应用到这个body上。

@font-face {                font-family: 'msyh';                font-style: normal;                font-weight: normal;                src: url(http://www.testpdf.com/fonts/msyh.ttf) format('truetype');            }

 

 4、创建controller

'宝bao'); $pdf = PDF::loadView('invoice', $data); return $pdf->download('invoice.pdf'); } /** * 测试web页面展示pdf,使用loadHTML()方法加载 * @return mixed */ public function testStreamPdf() { $html = 'Laravel

献给母亲的爱

Laravel 5中文测试
测试三
'; $pdf = PDF::loadHTML($html); return $pdf->stream(); } }

 

问题1:

ErrorException in AdobeFontMetrics.php line 45:fopen(D:\workspace\php\testpdf\storage\fonts/\b0a260823b52b90d6a99ba3a53e67e9f.ufm): failed to open stream: No such file or directory

解决方法:在storage下创建fonts文件夹

 

问题2:

FatalThrowableError in TableCell.php line 31:Call to a member function get_cellmap() on null

解决方法:

更多解释请查看:https://github.com/barryvdh/laravel-dompdf/issues/137

// 注释掉view中的这一行代码display: table-cell;

 

:https://github.com/dompdf/dompdf/wiki/UnicodeHowTo

 

有问题可加QQ群询问【】:576269252

--------------------------------------

声明: 原创文章,未经允许,禁止转载!

--------------------------------------

你可能感兴趣的文章
Android实现左右滑动指引效果
查看>>
html里frame导航框架实现方法
查看>>
shell编程系列5--数学运算
查看>>
在 UWP 应用中创建、使用、调试 App Service (应用服务)
查看>>
Active MQ C#实现
查看>>
C#实现秒表程序
查看>>
cJSON 使用笔记
查看>>
CF1163E Magical Permutation
查看>>
BroadcastReceiver
查看>>
redis备份实操
查看>>
重要更新-Word 2003查找替换最后一个实例的第四种方法
查看>>
实现大屏幕全国监控各地流量和负载质量
查看>>
高性能HTTP加速器Varnish(安装配置篇)
查看>>
如何取消OneNote的粘贴来源地址
查看>>
编程乐趣:C#实现读取12306余票信息
查看>>
视频编码的常见参数基本概念
查看>>
用python写一个专业的传参脚本
查看>>
Nginx+PHP7 安装及配置
查看>>
OpenIndiana
查看>>
varnish基础概念详解
查看>>