Dompdf创建pdf文件并支持中文

Dompdf是HTML到PDF的转换器。它本质是(大多数)PHP兼容的 HTML布局和呈现引擎。 样式驱动的渲染器,还支持大多数演示HTML属性。

直接安装的dompdf并不支持中文,本文将介绍如何设置,并提供两种使用方法。

目录

安装

下载语言安装脚本 

下载中文字体 

加载中文字体

进行加载

模板页面设置字体

使用方式

直接下载

保存本地

总结


安装

使用composer 在项目根目录打开命令行进行安装。、

安装命令:

composer require dompdf/dompdf

安装效果:

 

下载语言安装脚本 

链接地址

mirrors / dompdf / utils · GitCode

打开网站可看到如下截图,主要使用load_font.php文件。

复制 load_font.php到 dompdf目录中,与lib 和 src 目录同级。

下载中文字体 

可自行下载,也可以用我上传的微软雅黑。

https://download.csdn.net/download/json_ligege/19563651

可将字体文件放在public/font中

加载中文字体

项目根目录命令行执行(注意执行语句时文件位置) 

php vendor/dompdf/dompdf/load_font.php msyh public/font/msyh.ttf msyh

进行加载

此时 vendor/dompdf/dompdf/lib/fonts 下会出现你的字体文件

模板页面设置字体

在页面的header中设置style 整体的字体;也可以使用行内样式来设置。

<style>
    @font-face {
        font-family: msyh;
    }

    body {
        font-family: msyh;
    }
</style>

使用方式

直接下载

通过浏览器激活下载窗口。

// 获取模板页面 tp框架获取模板方式 返回为html字符串
$html = view('test/form')->getContent();

// 生成pdf
$dompdf = new \Dompdf\Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$name = 'dompdf2.pdf';
$dompdf->stream($name);

 效果

保存本地

保存本地是通过dompdf返回文件二进制,使用file_put_contents保存到本地设置路径和文件中。

// 获取模板页面
$html = view('test/form')->getContent();

// 生成pdf
$dompdf = new \Dompdf\Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$name = 'dompdf2.pdf';
$filename = './uploads/' . $name;
$binary = $dompdf->output(array('compres' => 0));
file_put_contents($filename, $binary);
halt($filename);

 效果

最终pdf中文显示正常

总结

dompdf使用很简单,就是需要加载中文字体,整体很流畅。希望能给朋友们一点帮助。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值