本文给大家介绍的是如何使用PHP生成pdf文件,并且把该文件加密或设置访问密码的方法,有需要的小伙伴可以参考下。
项目需求:PHP对现有(上传的pdf文件)或者生成pdf文件,并且把该文件加密或设置访问密码、加水印。今天作者使用mpdf进行实现该功能。
mpdf 是一个 PHP 库,它从 UTF-8 编码的 HTML 生成 PDF 文件。
要求
PHP 版本和扩展
mPDF >=7.0
支持PHP ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0
PHP 7.3
支持,因为mPDF v7.1.7
PHP 7.4
支持,因为mPDF v8.0.4
PHP 8.0
支持,因为mPDF v8.0.10
PHP 8.1
支持自mPDF v8.0.13
必须加载PHPmbstring
和扩展。gd
某些高级功能可能需要额外的扩展,例如zlib
压缩输出和嵌入资源(如字体)、bcmath
生成条形码或xml
字符集转换和 SVG 处理。
安装
官方安装方法是通过 composer 及其 packagegist 包mpdf/mpdf。
$ composer require mpdf/mpdf
用法
该库的最简单用法(自 7.0 版以来)如下:
<?php require_once __DIR__ . '/vendor/autoload.php'; $mpdf = new \Mpdf\Mpdf(); $mpdf->WriteHTML('<h1>Hello world!</h1>'); $mpdf->Output();
application/pdf
这会将内嵌的 PDF 作为内容类型输出到浏览器设置和配置
所有配置指令都可以通过$config
构造函数的参数来设置。
tempDir
建议通过配置变量设置自己的临时目录。775
对于使用 mPDF(通常为cli
、webserver
、 )的用户,该目录必须具有写入权限(推荐模式fpm
)。
警告: mPDF 将清理临时目录中的旧临时文件。选择专用于 mPDF 的路径。
<?php $mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']);
默认情况下,临时目录将在供应商目录中,并且将具有来自 post_install
作曲家脚本的写入权限。
CSS 支持和开发状态
mPDF 作为一个整体是一个相当过时的软件。如今,有更好的替代方案可用,尽管不是用 PHP 编写的。
如果您不能使用非 PHP 方法生成 PDF 文件,或者如果您想利用 mPDF 相对于浏览器方法的一些优势,请使用 mPDF——颜色处理、预打印、条形码支持、页眉和页脚、页码、目录等. 但请注意,可能需要为 mPDF 量身定制的 HTML/CSS 模板。
如果您正在寻找最先进的 CSS 支持,将现有的 HTML 页面镜像到 PDF,请使用无头 Chrome。
mPDF 仍将更新以增强一些内部功能并支持更新版本的 PHP,但很可能不会实现更好和/或更新的 CSS 支持。
在线手册
在线手册可在https://mpdf.github.io/获得。
接下来咱们就来看怎么实现该需求的功能。
第一步:
$ composer require mpdf/mpdf
第二步:
<?php use Mpdf\Mpdf; //这里只处理pdf文件后缀
水印铺满屏这块间距觉得不合适的可以自己调整。
本文到此结束,后面回陆续发布干货文章。
本站所有资源都来源于网络收集、网友提供或者交换而来!如果侵犯了您的权益,请及时联系本站客服,我们立刻删除!
猜你还喜欢
- 08-17 图片水印,在PS中制作防盗图的全屏水印
- 07-29 [PHPOffice]PHP对excel文件加水印、写保护(加密码)
- 07-08 加水印,通过PS给所需图片添加水印
暂无评论,来添加一个吧。