thinkPHP框架整合tcpdf插件操作示例


Posted in PHP onAugust 07, 2018

本文实例讲述了thinkPHP框架整合tcpdf插件操作。分享给大家供大家参考,具体如下:

网上查了些关于tcpdf 使用教程,整合到TP的话,会有些小问题,由于基础还不是很扎实,花了点时间终于整合OK了。下面介绍步骤:

环境:

TP版本:TP3.2.2

tcpdf:tcpdf_6_2_3

步骤:

1. 将tcpdf_6_2_3.zip解压在Web root目录下面,把examples文件夹下面的tcpdf_include.php文件拷贝到tcpdf文件夹下面,再把tcpdf/config/tcpdf_config.php内容替换成tcpdf/examples/config/tcpdf_config_alt.php中的内容

这里要注意的是:tcp_include.php$tcpdf_include_dirs数组要多添加一行:“realpath('./').'/tcpdf/tcpdf.php',”

2. 新建test.php

<?php
// Include the main TCPDF library (search for installation path).
require_once('./tcpdf/tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' wisvalley', PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
 require_once(dirname(__FILE__).'/lang/eng.php');
 $pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
// set font
//$pdf->SetFont('helvetica', '', 20);
$pdf->SetFont('stsongstdlight', '', 20);
// add a page
$pdf->AddPage();
$txt = 'your content';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
$pdf->Output('/var/www/example_038.pdf', 'I');//浏览器预览
//$pdf->Output('example_038.pdf', 'F');//存储文件
//$pdf->Output('example_038.pdf', 'D');//下载文件

这样就可以了。

下面说下我碰到的几个问题:

1.我把这些代码拷贝到TP控制器的某个方法里面报错:Class 'Home\Controller\TCPDF' not found

解答:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

改成

$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

对于tp3.2引入了命名空间,这个‘\'很重要

2.TCPDF ERROR: Unable to create output file: example_038.pdf

解答:$pdf->Output('/var/www/example_038.pdf', 'I');路径要为据对路径。

附:tcpdf插件点击此处本站下载

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
人大复印资料处理程序_补充篇
Oct 09 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
php校验表单检测字段是否为空的方法
Mar 20 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
php for 循环使用的简单实例
Jun 02 PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 #PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 #PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 #PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 #PHP
PHP实现普通hash分布式算法简单示例
Aug 06 #PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 #PHP
PHP常用字符串函数小结(推荐)
Aug 05 #PHP
You might like
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
JavaScript 常用函数
2009/12/30 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
jQuery的学习步骤
2011/02/23 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中给List添加元素的4种方法分享
2014/11/28 Python
Python创建模块及模块导入的方法
2015/05/27 Python
python中zip()方法应用实例分析
2016/04/16 Python
Django入门使用示例
2017/12/12 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
2013年保送生自荐信格式
2013/11/20 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
付款委托书范本
2014/04/04 职场文书
咖啡店创业计划书
2014/08/15 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
未婚证明书模板
2014/10/08 职场文书
入学证明
2015/06/23 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书