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 获取全局变量的代码
Apr 21 PHP
解析ajax事件的调用顺序
Jun 17 PHP
浅析PHP绘图技术
Jul 03 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php删除数组元素示例分享
Feb 17 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
CI框架整合smarty步骤详解
May 19 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 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
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
js document.write()使用介绍
2014/02/21 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
对python3新增的byte类型详解
2018/12/04 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
Python多图片合并PDF的方法
2019/01/03 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
Django模板Templates使用方法详解
2019/07/19 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
行政副总岗位职责
2014/02/23 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
实习科室评语
2015/01/04 职场文书
西安大雁塔导游词
2015/02/10 职场文书
小学教师求职信范文
2015/03/20 职场文书
同乡会致辞
2015/07/30 职场文书