thinkphp整合系列之tcpdf类生成pdf文件
发布日期:2021-10-24 14:20:40 浏览次数:11 分类:技术文章

本文共 2105 字,大约阅读时间需要 7 分钟。

php生成pdf文件的需求是不怎么常见的;当然也是有的;

既然已经整合使用了;那就写篇博客来讲解下吧;

示例项目:

一:引入tcpdf

/ThinkPHP/Library/Vendor/Tcpdf

把tcpdf整个目录拷到自己的项目中;

二:函数

/Application/Common/Common/function.php

/**  * 生成pdf  * @param  string $html      需要生成的内容  */ function pdf($html='
hello word'){
    vendor('Tcpdf.tcpdf');     $pdf = new \Tcpdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);     // 设置打印模式     $pdf->SetCreator(PDF_CREATOR);     $pdf->SetAuthor('Nicola Asuni');     $pdf->SetTitle('TCPDF Example 001');     $pdf->SetSubject('TCPDF Tutorial');     $pdf->SetKeywords('TCPDF, PDF, example, test, guide');     // 是否显示页眉     $pdf->setPrintHeader(false);     // 设置页眉显示的内容     $pdf->SetHeaderData('logo.png', 60, 'baijunyao.com', '白俊遥博客', array(0,64,255), array(0,64,128));     // 设置页眉字体     $pdf->setHeaderFont(Array('dejavusans', '', '12'));     // 页眉距离顶部的距离     $pdf->SetHeaderMargin('5');     // 是否显示页脚     $pdf->setPrintFooter(true);     // 设置页脚显示的内容     $pdf->setFooterData(array(0,64,0), array(0,64,128));     // 设置页脚的字体     $pdf->setFooterFont(Array('dejavusans', '', '10'));     // 设置页脚距离底部的距离     $pdf->SetFooterMargin('10');     // 设置默认等宽字体     $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);     // 设置行高     $pdf->setCellHeightRatio(1);     // 设置左、上、右的间距     $pdf->SetMargins('10', '10', '10');     // 设置是否自动分页  距离底部多少距离时分页     $pdf->SetAutoPageBreak(TRUE, '15');     // 设置图像比例因子     $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);     if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
        require_once(dirname(__FILE__).'/lang/eng.php');         $pdf->setLanguageArray($l);     }     $pdf->setFontSubsetting(true);     $pdf->AddPage();     // 设置字体     $pdf->SetFont('stsongstdlight', '', 14, '', true);     $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);     $pdf->Output('example_001.pdf', 'I'); }

三:使用方法

好吧;这个没什么好说的了;全写注释里面了;

更多栗子:/ThinkPHP/Library/Vendor/Tcpdf/examples

需要注明的就是:

  1. 可以写html标签的;比如说是识别h标签的字体加粗加大效果的;

  2. 可以写style样式;但是并不能完全支持;

  3. tcpdf的官网需要自带梯子:

白俊遥博客

 本文为白俊遥原创文章,转载无需和我联系,但请注明来自http://baijunyao.com                        

转载于:https://www.cnblogs.com/shuaibai123/p/5641942.html

转载地址:https://blog.csdn.net/weixin_30791095/article/details/97992463 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:object references an unsaved transient instance - save the transient instance before flushing
下一篇:luoguP4705 玩游戏

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月30日 05时07分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【Leetcode刷题篇】leetcode611 有效三角形的个数 2019-04-26
【Leetcode刷题篇】leetcode26 删除排序数组中的重复项 2019-04-26
【大话Java面试】-如何通俗易懂的理解Redis的分布式寻址算法hash slot? 2019-04-26
【大话Java面试】-如何通俗易懂的理解单例模式? 2019-04-26
【大话Java面试】请列出Java中几个常用的设计模式? 2019-04-26
【大话Java面试】-如何通俗易懂的理解Java异常以及Java异常处理? 2019-04-26
【大话Mysql面试】-Mysql的索引为什么要使用B+树,而不是B树,红黑树等之类? 2019-04-26
【大话Mysql面试】-如何通俗易懂的了解Mysql的索引最左前缀匹配原则 2019-04-26
【大话Mysql面试】-MYSQL的两种存储引擎MyISAM与InnoDB的区别是什么? 2019-04-26
【大话Mysql面试】-InnoDB可重复读隔离级别下如何避免幻读?MVCC和next-key是什么 2019-04-26
【大话Mysql面试】-Mysql如何恢复数据?如何进行主从复制?Binlog日志到底是什么? 2019-04-26
理解String.intern()和String类常量池疑难解析例子 2019-04-26
python flask打造前后端分离的口罩检测 2019-04-26
【大话Mysql面试】-MySQL基础知识 2019-04-26
【大话Mysql面试】-MySQL数据类型有哪些 2019-04-26
【大话Mysql面试】-MySQL数据引擎 2019-04-26
【大话Mysql面试】-常见SQL语句书写 2019-04-26
【大话Mysql面试】-SQL语句优化 2019-04-26
【大话Mysql面试】-Mysql事务以及隔离级别 2019-04-26
【大话Mysql面试】-Mysql索引 2019-04-26