关于mPDF

mPDF是一个PHP类库,它由UTF-8编码的HTML生成PDF文件。


为什么要引入mPDF?

1.需要将HTML文档生成pdf供客户端下载或预览;

2.前端可以直接使用html2canvas,JS前端插件。html2canvas实际上是截图,即将前端页面截图成为图片然后保存为pdf,文档中的文字无法复制,且在支持自动分页,大数据量的情况下,使用不佳;

3.mPDF,支持从服务器端渲染,按照需求在客户端进行预览、下载等设置;


开发实践

版本

Software: mPDF, Unicode-HTML Free PDF generator *

Version: 6.0

安装

使用composer安装;或者直接将mPDF项目包全部拷贝至资源引入目录,此处不再赘述。

调用

实例化

‘utf-8’,指语言编码。在config_lang2fonts.php中找到对应的代码,选择的语言不同默认的字体也是不同的,这里我们默认的是宋体。

‘A4’,之纸张的大小,默认是竖版,可以设置为A4-L变成横板。当然除了A4还有其它很多纸张的尺寸。

'0, 0, 20, 10’四个参数分别是margin-left,margin-right,margin-top,margin-bottom,指每一页的内容距离页面边界的距离,通过调节它们,空出页眉、页脚以及一些有边框的背景图片。

文档内容获取

为避免在php封装函数中涉及大量的HTML混合文本,在项目使用应用中,采用 file_get_contents 函数,获取需要生成PDF文档的网页版详情页,然后将mPDF的类调用进行二次封装。

水印文字

输出模式配置

填坑实录

为了便于排版,项目初期采用table表格进行排版。一是为了配合word文档的排版模式,而是表格的排版也是简单实用。

当表格中的字符串太长时,文本字体会变小,且不会自动分页


image


换成div的排版,成功解决。


@lockdata.cn

php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)
php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)
php开发实战分析(4):php调用封装函数包含文件路径自适应不同目录的解决方案($_SERVER[‘DOCUMENT_ROOT‘]与__DIR__魔术常量)
php开发实战分析(4):php调用封装函数包含文件路径自适应不同目录的解决方案($_SERVER[‘DOCUMENT_ROOT‘]与__DIR__魔术常量)
<?php/** 一致性哈希算法* 过程:* 1,抽象一个圆,然后把服务器节点按一定算法得到整数有序顺时针放到圆上,圆环用2^32 个点来进行均匀切割。* hash函数的结果应该均匀分布在[0,2^32-1]区间* 2,由于服务器少,在圆上分布不均匀会造成数据倾斜,所以我们使用虚拟节点代替服务器的节点,一个服务器生成32个虚拟节点,或者更多。 很多想做渗透测试的朋友都想了解关于PHP后门漏洞的安全测试重点方法,以及该如何预防被中php后门,本节由我们的安全高级渗透工程师进行全面的讲解,来让大家更好的理解和了解php代码的安全检测,让网站得到最大化的安全保障,安全保障了,网站才能更长远的运行下去。 临近9月底,seacms官方升级海洋cms系统到9.95版本,我们SINE安全在对其源码进行网站漏洞检测的时候发现问题,可导致全局变量被覆盖,后台可以存在越权漏洞并绕过后台安全检测直接登录管理员账号。