TCPDF优化性能


TCPDF optimize performance

我做了很多搜索和测试。我的任务是优化PDF生成表单HTML。

我的代码是:

<?php
define('K_TCPDF_EXTERNAL_CONFIG', true); 
require('static_config.php');
require("hipero_pdf.class.php");
$pdf = new hipero_TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->SetHeaderData(PDF_HEADER_IMAGE, PDF_HEADER_IMAGE_WIDTH);
$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->SetFont('dejavusans', '', 10);
$pdf->AddPage();
$pdf->SetTextColor(0, 0, 0);
$pdf->writeHTML(PDF_SYNEO_HTML, true, false, true, false, '');
$pdf->Output('../../Content/Offers/Generated/'.PDF_SYNEO_FILENAME.'.pdf');
?>

我的HTML有点乱,但测试表明这对性能几乎没有影响。

每一段代码的解析时间都不到1 sek。只有这需要更长的时间:

$pdf->AddPage-3 sek.

$pdf->writeHTML-9 sek.

$pdf->输出-5 sek.

这是在IIS服务器上(共享主机)。

请告诉我如何优化这种方法。我没有更多的想法:/。

在TCPDF网站上,有一个页面建议尽可能避免使用writeHTML。除此之外,它还建议避免使用大的HTML块。还有更多http://www.tcpdf.org/performances.php他们解释说,可以关闭其他选项以加快渲染速度。

我还遇到了TCPDF性能问题。我遵循了http://www.tcpdf.org/performances.php.我能从中得到什么:

  • writeHTML()比cell()产生了很大的不同,但只是在很短的时间内。它除以不超过5秒的碎片所花费的时间。但除此之外,这并没有什么不同
  • 相反,把大块切成小块对我来说效果很好。我试着把大块切成更小的,看起来最好的是每块5000个字符左右。它使我能够在服务器上生成从60秒到20秒的pdf,以及7秒

希望它能有所帮助!