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表达式
Oct 09 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
PHP的5个安全措施小结
Jul 17 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
php调用自己java程序的方法详解
May 13 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
PHP调用接口API封装的例子
Oct 11 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 调用远程url的六种方法小结
2009/11/02 PHP
php创建session的方法实例详解
2015/01/27 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
js获取单选按钮的数据
2006/11/27 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
查看django版本的方法分享
2018/05/14 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
pycharm修改file type方式
2019/11/19 Python
哪些是python中web开发框架
2020/06/17 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
小学生演讲稿
2014/01/12 职场文书
事业单位考核材料
2014/05/21 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
2015年工商所工作总结
2015/05/21 职场文书
图书借阅制度范本
2015/08/06 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
Web应用开发TypeScript使用详解
2022/05/25 Javascript