PHP导出生成PDF文件开源组件:mPDF使用详情

最近在使用php要实现一个把旅游线路导出成pdf文件下载,在全网搜索了一遍有几个常用的开源组件,在PHP中生成PDF文件,比如FPDFTCPDFmPDF等。在对比了一圈后就

mPDF开源地址:

https://github.com/mpdf/mpdf

mPDF版本说明

  • PHP >=5.6 <7.3.0 is supported for mPDF >= 7.0
  • PHP 7.3 is supported since mPDF v7.1.7
  • PHP 7.4 is supported since mPDF v8.0.4
  • PHP 8.0 is supported since mPDF v8.0.10
  • PHP 8.1 is supported as of mPDF v8.0.13
  • PHP 8.2 is supported as of mPDF v8.1.3
  • PHP 8.3 is supported as of mPDF v8.2.1

mPDF文档说明

http://mpdf.github.io/

mPDF安装

bash 复制代码
composer require mpdf/mpdf

mPDF使用方法

php 复制代码
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();

ThinkPHP项目中使用

php 复制代码
//丽途网 www.litour.cn 入境旅游管理系统
		$stylesheet = '';
        $mpdf = new Mpdf([
            'tempDir' => WEB_ROOT . 'pdf',
              'mode' => 'utf-8',
//            'orientation' => 'L',
            'format' => 'A4',

//            'margin_left' => 10,
//            'margin_right' => 10,
//            'margin_top' => 10,
//            'margin_bottom' => 10,
//            'margin_header' => 10,
//            'margin_footer' => 10,
        ]);
        $mpdf->SetDisplayMode('fullpage');
        $stylesheet .= file_get_contents(WEB_ROOT.'/css/pdf.css');

        $url = cmf_get_domain().'/enquiry/'.$name;
        $html = file_get_contents($url);

        $footer = 'xxxxx';//设置每一页的页脚,支持html标签
        $mpdf->SetHTMLFooter($footer);

        $mpdf->WriteHTML($stylesheet,1);
        $mpdf->WriteHTML($html);

        $filename = $name.'.pdf';

        $path = WEB_ROOT . '/pdf/'.$filename;

        $mpdf->Output($path,'f');
        return download($path, 'my_'.$name.'.pdf');

效果:

相关推荐
Erishen6 分钟前
从 SQLite 到 LLM 重排:一个 Rust RAG 服务的七层设计决策
架构·开源·agent
万物智能信息科技30 分钟前
MIPI DSI屏幕输出—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
嵌入式硬件·华为·开源·harmonyos·鸿蒙
海带紫菜菠萝汤1 小时前
开源大模型出海开始收费:许可证里的三条路线与真实影响
人工智能·ai·开源·大模型
分布式存储与RustFS1 小时前
在 Kubernetes 上用 RustFS Operator 给 Tenant 开 KMS 加密:spec.encryption 实战
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
不悔哥2 小时前
开源 OOMWOO:自己组一台扫地机
开源·嵌入式
sbjdhjd2 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd2 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
浅安的邂逅2 小时前
260910-DeepSeek 发布 V4.1 Flash:1M 上下文、552B MoE,KV 缓存降到上一代 1/4,同步开源
人工智能·开源·ai大模型·deepseek·ai日报
慧都小妮子2 小时前
DevExpress Java 文档处理 API 免费 CTP:PDF、PowerPoint、条码与跨平台部署
java·pdf·powerpoint·devexpress·文档处理·条码生成
Mr.朱鹏2 小时前
科技周报(第2026-09-10期):模型激战量子降温
人工智能·科技·chatgpt·机器人·开源