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 相关文章推荐
Zend引擎的发展 [15]
Oct 09 PHP
如何给phpadmin一个保护
Oct 09 PHP
第八节--访问方式
Nov 16 PHP
基于Zend的Config机制的应用分析
May 02 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
php遍历数组的4种方法总结
Jul 05 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
php轻松实现文件上传功能
Mar 03 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
详解thinkphp中的volist标签
Jan 15 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 _autoload自动加载类与机制分析
2012/02/10 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
许愿墙中用到的函数
2006/10/07 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
python 开发的三种运行模式详细介绍
2017/01/18 Python
python 如何区分return和yield
2020/09/22 Python
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
毕业生自我鉴定
2013/12/04 职场文书
写求职信有什么意义
2014/02/17 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
公司授权委托书范本
2014/04/03 职场文书
初三学习计划书范文
2014/04/30 职场文书
部队2014年终工作总结
2014/11/27 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang
Selenium浏览器自动化如何上传文件
2022/04/06 Python