加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – TCPDF – 如何使打印速度更快?这是非常非常慢,1320记录

发布时间:2020-12-13 17:39:49 所属栏目:PHP教程 来源:网络整理
导读:使用Zend框架和TCPDF,这需要40分钟来打印Test.pdf.我现在不知道如何将这种异常时间减少到正常状态? set_time_limit(0);$pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMAT,true,'UTF-8',false);$pdf-SetHeaderData(PDF_HEADER_LOGO,PDF_HEADE
使用Zend框架和TCPDF,这需要40分钟来打印Test.pdf.我现在不知道如何将这种异常时间减少到正常状态?

set_time_limit(0);
$pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMAT,true,'UTF-8',false);
$pdf->SetHeaderData(PDF_HEADER_LOGO,PDF_HEADER_LOGO_WIDTH,PDF_HEADER_TITLE,PDF_HEADER_STRING);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA,PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT,PDF_MARGIN_TOP,PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setLanguageArray($l);
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans',8,true);
$pdf->AddPage();
/* Database mysql gives the records and it is wrapped with <table> */
$html = "<table>1310 records.... with some simple <tr><td></td></tr></table>";
$pdf->writeHTMLCell($w=0,$h=0,$x='',$y='',$html,$border=0,$ln=1,$fill=0,$reseth=true,$align='',$autopadding=true);
$pdf->Output('Test.pdf','I');
exit;

跟进:(调整性能)

1)php.ini:
memory_limit = 512M
max_execution_time = 0

2)编码
?$PDF-> setFontSubsetting(假); // true到false

3)调试显示,跟随整个时间

$pdf-> writeHTMLCell($w = 0,$h = 0,$x =”,$y =”,$border = 0,$ln = 1,$fill = 0,$reseth = true,$align =”,$autopadding = true);

解决方法

由于没有其他答案,我强烈建议好好看看 MPDF(GPL)因为它比TCPDF快得多.我在一台服务器上进行了操作,花了大约三分钟使用TCPDF将MPDF减少到几秒钟.我只假设某种格式的HTML – > PDF在TCPDF中遇到了一些低效的功能.

无论如何,我提供以下代码,帮助我转换HTML – > PDF.

$mpdf = new mPDF('c');
$mpdf->setDisplayMode('fullpage');
$stylesheet = file_get_contents('css/core.css');
$mpdf->WriteHTML($stylesheet,1);
$html = "<table>1310 records.... with some simple <tr><td></td></tr></table>";
$mpdf->WriteHTML($html); 
$mpdf->Output(standardize(ampersand('filename',false)) . '.pdf','D');

此代码提供了作为可下载文件输出的PDF,MPDF文档提供了许多其他示例以满足您的需求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读