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');

效果:

相关推荐
Eiceblue5 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
AI生存日记6 小时前
百度文心大模型 4.5 系列全面开源 英特尔同步支持端侧部署
人工智能·百度·开源·open ai大模型
浪裡遊7 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
步、步、为营7 小时前
.net开源库SignalR
开源·.net
国服第二切图仔10 小时前
文心开源大模型ERNIE-4.5-0.3B-Paddle私有化部署保姆级教程及技术架构探索
百度·架构·开源·文心大模型·paddle·gitcode
钱彬 (Qian Bin)10 小时前
一文掌握Qt Quick数字图像处理项目开发(基于Qt 6.9 C++和QML,代码开源)
c++·开源·qml·qt quick·qt6.9·数字图像处理项目·美观界面
步、步、为营11 小时前
.net开源物联网项目IoTSharp
物联网·开源·.net
斯~内克12 小时前
Centrifugo 深度解析:构建高性能实时应用的开源引擎
前端·开源
ejinxian14 小时前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
说私域14 小时前
基于开源AI智能名片链动2+1模式的S2B2C商城小程序:门店私域流量与视频号直播融合的生态创新研究
人工智能·小程序·开源