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');路径要为据对路径。

 

转载于:https://www.cnblogs.com/liushiyong1/p/4201117.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多项目开发下的dll文件管理

阅读目录&#xff1a;DS01&#xff1a;为什么要对生成的dll文件进行管理&#xff1f;DS02&#xff1a;首先介绍以下两个DOS命令DS03&#xff1a;第一种实现方法&#xff08;xcopy&#xff09;DS04&#xff1a;第二种实现方法&#xff08;attrib&#xff09;DS05&#xff1a;分享…

关于Java中的随机数产生

对比两种写法&#xff1a; 第一种&#xff1a; public static void main(String args[]){Random random new Random(System.currentTimeMillis());for(int i0; i<20; i){int sindex random.nextInt(2);System.out.println(sindex);}}第二种&#xff1a; public static voi…

视图

视图是虚表&#xff0c;是从一个或几个基本表&#xff08;或视图&#xff09;中导出的表&#xff0c;在系统的数据字典中仅存放了视图的定义&#xff0c;不存放视图对应的数据。视图是原始数据库数据的一种变换&#xff0c;是查看表中数据的另外一种方式。可以将视图看成是一个…

选择器的并发性

4.3.4 并发性 选择器对象是线程安全的&#xff0c;但它们包含的键集合不是。通过keys( )和selectKeys( )返回的键的集合是Selector对象内部的私有的Set对象集合的直接引用。这些集合可能在任意时间被改变。已注册的键的集合是只读的。如果您试图修改它&#xff0c;那么您得到的…

mysql 自定义函数之判断

DELIMITER $$CREATE DEFINERrootlocalhost FUNCTION getMin(a int,b int) RETURNS int(11)BEGINdeclare min int;if(a>b)then set min b;elseif(b>a)then set min a;else set min 0;#end if;end if;RETURN min;END 调用该函数可以如下方式 select getMin(1,2); 返回值…

C/C++的数组名

数组名相当于指向数组第一个元素的地址。数组名不是变量&#xff0c;是地址常量&#xff0c;不能为其赋值。如下&#xff1a;1&#xff09;一维数组中对于数组 a[5] {1, 2, 3, 4, 5};数组名a相当于指向第一个元素a[0]的指针。即 a 与 &a[0] 等价。2&#xff09;二维数组中…

mysql的运算法

一、算术运算符1、加 www.2cto.com mysql> select 12;-----| 12 |-----| 3 |-----2、减mysql> select 1-2;-----| 1-2 |-----| -1 |-----3、乘mysql> select 2*3;-----| 2*3 |-----| 6 |-----4、除mysql> select 2/3;--------| 2/3 |--------| 0.6667 |-…

转-- iOS 30多个iOS常用动画,带详细注释

// // CoreAnimationEffect.h // CoreAnimationEffect // // Created by VincentXue on 13-1-19. // Copyright (c) 2013年 VincentXue. All rights reserved. //#import <Foundation/Foundation.h>/**! 导入QuartzCore.framework** Example:** Step.1** #imp…

Java中abstract与interface

抽象类&#xff08;abstract class&#xff09;的特点&#xff1a; 1.抽象类、抽象方法都必须使用abstract修饰。 2.抽象类中&#xff0c;可以有非抽象方法&#xff0c;甚至可以是没有任何方法或变量的空类。 对于抽象类中不定义抽象方法的用意在于&#xff1a;使该类不能被创建…

按位与、或、异或等运算方法

按位与运算符&#xff08;&&#xff09; 参加运算的两个数据&#xff0c;按二进制位进行“与”运算。 运算规则&#xff1a;0&00; 0&10; 1&00; 1&11; 即&#xff1a;两位同时为“1”&#xff0c;结果才为“1”&#xff0c;否则为0 例如&#xff1…

JavaScript验证

<script type"text/javascript"> /*密码*/ function password() { var password document.getElementById("password").value; var ts document.getElementById("tsPassword"); if (password.length >…

mysql数据库根据上传的经纬度计算距离

select 6371.393*ACOS(COS(RADIANS(latitude))*COS(RADIANS(47.02))*COS(RADIANS(longitude)-RADIANS(114.100))SIN(RADIANS(latitude))*SIN(RADIANS(47.02))) as distancefrom location

emacs配置

; 指针颜色设置为白色(set-cursor-color "white");; 鼠标颜色设置为白色(set-mouse-color "white") ;; 从color-theme中获取;; 网上下载color-theme.el&#xff0c;放到加载路径(&#xff0f;usr/share/emacs/site-lisp )下;; M-x color-theme-select,鼠标…

自然连接(NATURAL JOIN)

自然连接&#xff08;NATURAL JOIN&#xff09;是一种特殊的等价连接&#xff0c;它将表中具有相同名称的列自动进行记录匹配。自然连接不必指定任何同等连接条件。图9.9给出了典型的自然连接示意图。 图9.9 自然连接 自然连接自动判断相同名称的列&#xff0c;而后形成匹配。…

iis express8 自动关闭

引用&#xff1a;http://www.cnblogs.com/chunCui/p/3522619.html 问题&#xff1a;最近使用vs2013开发个web &#xff0c; 每次调试结束时iis express 8 也会自动关闭 解决方法&#xff1a;web项目-属性-web-调试器-只选中ASP.Net就可以了 转载于:https://www.cnblogs.com/qqq…

自连接

9.3 表的连接类型 9.3.1 自连接 自连接是指表与其自身进行连接&#xff0c;这就需要用到前面介绍的表别名。下面通过一个具体实例来讲解自连接的应用。 实例5 自连接的使用方法 查询成绩中存在不及格课程的学生的姓名、所在系、所有的课程及成绩信息。如果采用前面介绍的…

从此记录

从此记录工作、学习、生活的那些事儿&#xff01;转载于:https://www.cnblogs.com/alwaysjava/p/4221362.html

LIKE运算符

6.5 使用LIKE进行模糊查询 当只知道部分字符串时&#xff0c;可使用LIKE运算符来查询数据库&#xff0c;找出与其相关的整个字符串。因此&#xff0c;当把关键字LIKE用在WHERE子句中时&#xff0c;可以比较两个字符串的部分匹配。当对字符串内容有些印象&#xff0c;但并不知…

AND运算符

6.2 组合查询条件 在前一章提到的WHERE子句进行查询时&#xff0c;WHERE子句后面的搜索条件只是单一的。实际上&#xff0c;可以通过布尔运算符AND和OR&#xff0c;将多个单独的搜索条件结合在一个WHERE子句中&#xff0c;形成一个复合的搜索条件。当对复合搜索条件求值时&a…

Cron表达式【一】

Cron表达式【一】 Cron表达式被用来配置CronTrigger实例。 Cron表达式是一个由 7个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔&#xff0c;分别表示&#xff1a; 1. Seconds 秒 2. Minutes 分钟 3. Hours 小时 4. Day-of-Month 月…