当前位置: 首页 > news >正文

ThinkPHP3.2.3扩展之生成PDF文件(MPDF)

目前是PHP生成PDF文件最好的插件了,今天介绍下在ThinkPHP3.2.3里如何使用。

先安照路径放好如图。

2016-03-14_144416.gif

下面是使用方法

  1. public function pdf(){
  2.     //引入类库
  3.     Vendor('mpdf.mpdf');
  4.     //设置中文编码
  5.     $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0);
  6.     //html内容
  7.     $html='<h1><a name="top"></a>一个PDF文件</h1>';
  8.     $mpdf->WriteHTML($html);
  9.     $mpdf->Output();
  10.     exit;
  11. }
复制

在浏览器中输入

  1. xxx/index.php?s=/Home/Index/pdf    //换成你的url路径
复制

效果如下

2016-03-14_144911.gif

下面是高级一些的使用方法:

  1. public function pdf(){
  2.         //引入类库
  3.         Vendor('mpdf.mpdf');
  4.         //设置中文编码
  5.         $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0);
  6.         $mpdf->SetWatermarkText('中国水印',0.1);
  7.         $strContent = '我是带水印的PDF文件';
  8.         $mpdf->showWatermarkText = true;
  9.         $mpdf->SetHTMLHeader( '头部' );
  10.         $mpdf->SetHTMLFooter( '底部' );
  11.         //$stylesheet =file_get_contents('themes/wei/css/bootstrap.min.css');
  12.         //$mpdf->WriteHTML($stylesheet, 1);
  13.         $mpdf->WriteHTML($strContent);
  14.         //保存ss.pdf文件
  15.         $mpdf->Output('ss.pdf');
  16.         //直接浏览器输出pdf
  17.         $mpdf->Output('tmp.pdf',true);
  18.         $mpdf->Output('tmp.pdf','d');
  19.         $mpdf->Output();
  20.         exit;
  21. }
复制

2016-03-14_150552.gif

mpdf下载可以到官网下载http://www.mpdf1.com 或者在下面的百度云里下载


转载于:https://www.cnblogs.com/ZDPPU/p/5823901.html

相关文章:

  • codeforces 711E E. ZS and The Birthday Paradox(数学+概率)
  • java解惑你知多少(七)
  • css3 TransformZ() 3D缩放
  • java解惑你知多少(八)
  • 多线程总结之旅(8):线程同步之信号量
  • java类初始化顺序
  • bootstrap总结
  • java创建对象的四种方式
  • java基础之String
  • 为什么单例对象的并发调用需要同步?
  • Spring_事务(1)
  • java集合框架总结
  • LeetCode-Count Bits
  • Java中对HashMap的深度分析与比较
  • java 线程小结
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 10个确保微服务与容器安全的最佳实践
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • EventListener原理
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java知识点总结(JavaIO-打印流)
  • PHP CLI应用的调试原理
  • Promise面试题,控制异步流程
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Redis的resp协议
  • Spring声明式事务管理之一:五大属性分析
  • Vue学习第二天
  • 关于extract.autodesk.io的一些说明
  • 关于使用markdown的方法(引自CSDN教程)
  • 算法-图和图算法
  • 我看到的前端
  • 学习JavaScript数据结构与算法 — 树
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​Linux·i2c驱动架构​
  • #### go map 底层结构 ####
  • (3)(3.5) 遥测无线电区域条例
  • (42)STM32——LCD显示屏实验笔记
  • (十八)SpringBoot之发送QQ邮件
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net core 6.0 升8.0
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .netcore如何运行环境安装到Linux服务器
  • .NET项目中存在多个web.config文件时的加载顺序
  • /run/containerd/containerd.sock connect: connection refused
  • @Data注解的作用
  • @property括号内属性讲解
  • [ 数据结构 - C++] AVL树原理及实现
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [1525]字符统计2 (哈希)SDUT
  • [383] 赎金信 js
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [C++]二叉搜索树