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 相关文章推荐
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Nov 18 PHP
php 发送带附件邮件示例
Jan 23 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
php接口技术实例详解
Dec 07 PHP
PHPMailer发送邮件
Dec 28 PHP
常用PHP封装分页工具类
Jan 14 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 PHP
浅谈php://filter的妙用
Mar 05 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
php写入mysql中文乱码的实例解决方法
Sep 17 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
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中与数组相关的函数
2007/03/22 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
javascript for循环设法提高性能
2010/02/24 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
手把手教你python实现SVM算法
2017/12/27 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
全球性的女装店:storets
2019/06/12 全球购物
Ajax的优点和缺点
2014/11/21 面试题
公司总经理岗位职责
2014/03/15 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书