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 array_map()数组函数使用说明
Jul 12 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
php对数组内元素进行随机调换的方法
May 12 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
JavaScript this使用方法图解
2020/02/04 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
python线程、进程和协程详解
2016/07/19 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
python和c语言的主要区别总结
2019/07/07 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
大学运动会加油稿
2015/07/22 职场文书
文明礼仪主题班会
2015/08/13 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js