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 抓取网页图片并且另存为的实现代码
Mar 24 PHP
php学习之数据类型之间的转换代码
May 29 PHP
php连接数据库代码应用分析
May 29 PHP
php字符串截取的简单方法
Jul 04 PHP
thinkphp的URL路由规则与配置实例
Nov 26 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
php实现递归与无限分类的方法
Feb 16 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
php实现将Session写入数据库
Jul 26 PHP
php解决安全问题的方法实例
Sep 19 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 PHP
php下的原生ajax请求用法实例分析
Feb 28 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
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python魔法方法-自定义序列详解
2016/07/21 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
Python 忽略warning的输出方法
2018/10/18 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
领导检查欢迎词
2014/01/14 职场文书
年终总结会主持词
2014/03/25 职场文书
环保倡议书格式范文
2014/05/14 职场文书
推广普通话标语
2014/06/27 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
大学生自我评价范文
2015/03/03 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
Github 使用python对copilot做些简单使用测试
2022/04/14 Python