TCPDF性能......分成小块的大型HTML块?

时间:2011-05-30 04:19:39

标签: php tcpdf

我正在使用TCPDF从HTML生成PDF。我有一些缓慢的加载时间,因此阅读http://www.tcpdf.org/performances.php并且它说“将较大的HTML块拆分成较小的块”,我将如何做到这一点以及我应该制作这些较小的块有多大?

由于

3 个答案:

答案 0 :(得分:1)

这可能会被误解,但这是我的解释。

HTML具有所谓的块元素,它们是在前后都有换行符的元素 - 实际上,块元素出现在它自己的行上,因为其他元素可能不在其左边或右边。块元素的示例是<div><p><h2>。这与内联元素形成对比,例如<strong><span><a>

也就是说,TCPDF用于将HTML转换为PDF的算法可能会受到块元素大小的影响 - 也就是说,块元素又包含许多其他元素和文本。把它想象成在一片水面上建造一座桥梁;在小溪上建造数百座小桥比在英国通道上建造一座桥要容易得多。出于同样的原因,转换数十个较小的块可能比转换一个较大的块更容易。

就完成此任务而言,可能很难,因为它似乎需要重构HTML和重新设置CSS。此外,一些样式只能通过嵌套块元素来实现 - 好吧,至少只是实际的。例如,许多页面布局使用用于水平居中的包装块。嵌套块元素对TCPDF有什么影响?您可能希望通过搜索已经执行此类基准测试的人员或通过自己对这些事项进行基准测试来进行此类研究。在任何情况下,您链接的页面上的信息都不足。

其他解决方案可能是试用FPDF,这可能会为您提供更好的效果。您是否尝试过调整字体?

这些问题可能会提供更多信息。

答案 1 :(得分:0)

根据我的经验,减少加载时间效果更好的是避免像这样的字体子集

$pdf->setFontSubsetting(false) ;

通常使用选项集

渲染时间为十分之一或更少

答案 2 :(得分:0)

较新的TCPDF版本已经大大提高了字体子集化方法的性能,所以现在应该可以正常使用它。