本文目录一览:
如何导入tcpdf.php文件及相关配置信息
CPDF具有以下特性:
1、支持页面页脚;
2、支持HTML标签代码;
3、支持jpg/png/gif/svg图形图像;
4、支持表格;
5、支持中文字符;(有些PDF类不支持中文或者处理中文相当麻烦)
6、自动分页,自动页码,等等。
如何使用
您可以从TCPDF官网获取最新版本:。官网提供了几十个示例以及说明文档,下载解压后一定要注意文件路径,如何使用TCPDF,可以从以下5个步骤完成:
1、require_once导入tcpdf.php文件及相关配置信息;
2、实例化TCPDF;
3、设置PDF文档的格式,包括文档信息、页眉、页尾、字体、外间距、图片边框、分页等;
4、导入PDF文档的内容,可以是单行或多行简单字符串,也可以HTML格式的字符串等;
5、输出PDF文档。
代码示例:
复制代码代码如下:
require_once('tcpdf.php');
//实例化
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
// 设置文档信息
$pdf-SetCreator('Helloweba');
$pdf-SetAuthor('yueguangguang');
$pdf-SetTitle('Welcome to helloweba.com!');
$pdf-SetSubject('TCPDF Tutorial');
$pdf-SetKeywords('TCPDF, PDF, PHP');
// 设置页眉和页脚信息
$pdf-SetHeaderData('logo.png', 30, 'Helloweba.com', '致力于WEB前端技术在中国的应用',
array(0,64,255), array(0,64,128));
$pdf-setFooterData(array(0,64,0), array(0,64,128));
php tcpdf怎么使用中文乱码
tcpdf中文解决方案
步骤如下:1.确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白
分析原因,是因为我们输入的中文,tcpdf字体库并不支持,因此乱码或者空白显示
添加一个合适的字体即可
另外tcpdf的字体分为两种方式,嵌入方式和非嵌入(系统自带)嵌入就是输出的pdf会包含你的字体文件,系统自带的要求客户端必须有你指定的字体
另外下列字体不支持嵌入The fonts that could be not embedded are only the standard core fonts and CID-0 fonts.
The PDF Core (standard) fonts are:
courier : Courier
courierb : Courier Bold
courierbi : Courier Bold Italic
courieri : Courier Italic
helvetica : Helvetica
helveticab : Helvetica Bold
helveticabi : Helvetica Bold Italic
helveticai : Helvetica Italic
symbol : Symbol
times : Times New Roman
timesb : Times New Roman Bold
timesbi : Times New Roman Bold Italic
timesi : Times New Roman Italic
zapfdingbats : Zapf Dingbats
找到了原因,明白了原理,ok,动手吧
3.下载支持中文字体的
下载后,将它解压放在droidsansfallback.php、droidsansfallback.z以及droidsansfallback.ctg.z这三个文件复制到 TCPDF\fonts 下面即可-tcpdf下载php
4.配置
中文的解决方法为:tcpdf\config\tcpdf_config.php
define (‘PDF_FONT_NAME_MAIN’, ’helvetica’);
改为: define (‘PDF_FONT_NAME_MAIN’, ’stsongstdlight’);
define (‘PDF_FONT_NAME_DATA’, ’helvetica’);
改为: define (‘PDF_FONT_NAME_DATA’, ’stsongstdlight’);
5.将数据交给TCPDF类处理时,一定要UTF8编码,否则也会出现乱码的情况发生的。
有偿,PHP功能开发
项目需要把html页面转换成pdf,并带图片。
网上试了好几种,发现tcpdf这个方法,很管用。
其中主要问题有html页面带css样式展示出来,图片也附带,下载不显示文件名等
文件下载:TCPDF 《======下载 ,放到自己的项目里。
源代码:
require APP_ROOT_PATH."/system/utils/Tcpdf/tcpdf.php";
//实例化
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
// 设置文档信息
$pdf-SetCreator('Victor');
$pdf-SetAuthor('Victor');
$pdf-SetTitle('xxx');
$pdf-SetSubject('');
$pdf-SetKeywords('');
//设置页眉信息 参数分别是LOGO地址,LOGO大小,两行标题,标题颜色,分割线颜色。。颜色是RGB
$pdf-SetHeaderData('', 30, '', '', array(0,0,0), array(0,0,0));
//设置页脚信息
$pdf-setFooterData(array(0,0,0), array(0,0,0));
// 设置页眉和页脚字体
$pdf-setHeaderFont(Array('stsongstdlight', '', '12'));
$pdf-setFooterFont(Array('helvetica', '', '8'));
//设置默认等宽字体
$pdf-SetDefaultMonospacedFont('courier');
//设置间距
$pdf-SetMargins(15, 27, 15);
$pdf-SetHeaderMargin(5);
$pdf-SetFooterMargin(10);
//设置分页
$pdf-SetAutoPageBreak(TRUE, 15);
//设置图片比例
$pdf-setImageScale(1.25);
//将页眉页脚的信息输出出来。
$pdf-AddPage();
//设置字体 - 正文标题的哦。B是加粗,15是大小
$pdf-SetFont('stsongstdlight', 'B', 15);
$pdf-Write(20, '', '', 0, 'C', true, 0, false, false, 0);
//设置字体 - 正文内容的哦。B是加粗,15是大小
$pdf-SetFont('stsongstdlight', '', 10);
ob_end_clean();
$pdf-writeHTMLCell(0, 0, '', '', 输出模板(我用的TP,所以用的fetch), 0, 1, 0, true, '', true);
//40:x轴,95:y轴,40:图片大小
$pdf-Image('/xxx/xxx/xxx.png', 40, 95, 40, '', '', '', '', false, 100);
//输出PDF。第二个参数默认是I,是浏览器预览。D是下载
$name="xxx.pdf";
$pdf-Output($name,'D');
如果下载发现文件名不显示,去tcpdf.php中的方法Output的7565行左右,把这段屏蔽了:
if ($dest[0] != 'F') {
$name = preg_replace('/[\s]+/', '_', $name);
$name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);
}
就可以显示了
--------
PHP用TCPDF生成PDF自动换页的判断方法?
在你下载的TCPDF包中,找到 TCPDF类,可以自己新建一个类,继承 TCPDF,然后在自己的类中调用内置类成员变量,如 $this-page 是当前页判断,$this-PageNo() 方法是返回总共的页数……-tcpdf下载php
其他的逻辑自己写,比如 $this-Output() 根据不同参数,可以输出pdf文件,是保存服务器或直接下载等等。
更多的可以参考 TCPDF 类。