社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
由于公司业务需求,需要生成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;
Config::load(EXTEND_PATH.'com/tcpdf/config/tcpdf_config.php');
Config::load(EXTEND_PATH.'com/tcpdf/tcpdf_autoconfig.php');
$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();
$tcpdf->SetFont('stsongstdlight', '', 10);
$tcpdf->AddPage();
$html = '<h1>test</h1>';
$tcpdf->writeHTML($html, true, false, true, true, '');
$tcpdf->lastPage();
$tcpdf->Output($filePath,'D');
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!