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 相关文章推荐
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
php获取文件大小的方法
Feb 26 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
简单学习vue指令directive
2016/11/03 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
2019/02/13 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue实现信息管理系统
2020/05/30 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
详解python运行三种方式
2019/05/13 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
艺人经纪人岗位职责
2014/04/15 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
电影建国大业观后感
2015/06/01 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL