ThinkPHP5/PHP 使用TCPDF 生成PDF文件 - Go语言中文社区

ThinkPHP5/PHP 使用TCPDF 生成PDF文件


由于公司业务需求,需要生成PDF文件。

网上找了一些解决方案,很多是使用composer插件解决问题的。由于同事的顾虑,建议。把网上找的TCPDF插件包,当作第三方组件来使用,放在extend 扩展文件夹中。

确认tcpdf 会用到的文件,都加上命名空间 namespace comtcpdfmethods;  不然会找不到对应的类文件


(说明:我把library 文件夹改名成methods,因为引入上述方法类的时候关键词冲突。文件中使用一些配置常量的,需要引入配置文件)

这个控制文件也需要使用命名空间  namespace comtcpdf;

//引入插件包中的方法类

use comtcpdfmethodstcpdf_font_data;
use comtcpdfmethodstcpdf_fonts;
use comtcpdfmethodstcpdf_colors;
use comtcpdfmethodstcpdf_images;
use comtcpdfmethodstcpdf_static;

//引入配置文件(我写的是model类,所以引入文件有点差异)

Config::load(EXTEND_PATH.'com/tcpdf/config/tcpdf_config.php');

Config::load(EXTEND_PATH.'com/tcpdf/tcpdf_autoconfig.php');

//初始化TCPDF类

$tcpdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT,true, 'UTF-8', false);

//设置作者,标题,文件属性

$tcpdf->SetCreator('CREATOR');
$tcpdf->SetAuthor('zeng94731');
$tcpdf->SetTitle('TITLE');
$tcpdf->SetSubject('SUBJECT');
$tcpdf->SetKeywords('PDF, TCPDF');

// 设置页眉和页脚信息

$tcpdf->setHeaderData('', 30, 'zeng94731', 'zeng94731的博客', array(0,64,255), array(0,64,128));
$tcpdf->setFooterData(array(0,64,0), array(0,64,128));

// 设置页眉和页脚字体

$tcpdf->setHeaderFont(Array('stsongstdlight', '', '10'));
$tcpdf->setFooterFont(Array('helvetica', '', '8'));

//设置文档对齐,间距,字体,图片

$tcpdf->SetCreator(PDF_CREATOR);
$tcpdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$tcpdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

//设置页眉页脚 边距

$tcpdf->setHeaderMargin(PDF_MARGIN_HEADER);
$tcpdf->setFooterMargin(PDF_MARGIN_FOOTER);

//自动分页

$tcpdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$tcpdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$tcpdf->setFontSubsetting(true);
$tcpdf->setPageMark();

//设置正文字体,大小   (stsongstdlight,网上说这个字体支持的文字更全,支持中文不乱码)

$tcpdf->SetFont('stsongstdlight', '', 10);

//创建页面,渲染PDF

$tcpdf->AddPage();

$html = '<h1>test</h1>';

$tcpdf->writeHTML($html, true, false, true, true, '');
$tcpdf->lastPage();

//PDF输出   I:在浏览器中打开,D:下载,F:在服务器生成pdf ,S:只返回pdf的字符串

$tcpdf->Output($filePath,'D');




版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zeng94731/article/details/78603610
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:34:10
  • 阅读 ( 2244 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢