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中使用Oracle数据库(1)
Oct 09 PHP
php中设置多级目录session的问题
Aug 08 PHP
php二分查找二种实现示例
Mar 12 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
yii操作cookie实例简介
Jul 09 PHP
php递归json类实例
Dec 02 PHP
PHP排序算法类实例
Jun 17 PHP
用PHP代码给图片加水印
Jul 01 PHP
基于php实现随机合并数组并排序(原排序)
Nov 26 PHP
PHP Smarty模版简单使用方法
Mar 30 PHP
php简单压缩css样式示例
Sep 22 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
使用数据库保存session的方法
2006/10/09 PHP
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
python+selenium+autoit实现文件上传功能
2017/08/23 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
python多线程与多进程及其区别详解
2019/08/08 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Python 解析简单的XML数据
2020/07/24 Python
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
群众路线查摆问题及整改措施
2014/10/10 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
地道战观后感500字
2015/06/04 职场文书
投诉信范文
2015/07/02 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server