gpt4 book ai didi

php - 使用相同代码,TCPDF 比 FPDF 慢两倍

转载 作者:可可西里 更新时间:2023-11-01 13:20:23 27 4
gpt4 key购买 nike

我目前使用 FPDF 创建一些相当复杂的报告,并且正在尝试升级到 TCPDF,但我发现通过 TCPDF 运行我的相同代码的速度大约是原来的两倍。因为我的 PDF 已经需要一分钟的时间来生成,所以我真的无法承受这种减速,但我真的很想利用 TCPDF 的一些功能(比如创建书签)。

如果有人有关于这个问题的一些信息,我真的很感激 - 无论是你为使 TCPDF 更快而做的事情,还是只是确认它运行得比 FPDF 慢,所以我可以忘记它并坚持使用 FPDF。

最佳答案

这是一个很好的解决方案,为我节省了 2 分钟。 PDF 在 3 秒内创建!

http://www.bitrealm.net/2010/08/tcpdf-is-slow-here-is-the-solution/

替换

$font = $this->_getTrueTypeFontSubset($font, $subsetchars);

有了这个:

/ Alcal: $font2cache modification
// This modification creates utf-8 fonts only the first time,
// after that it uses cache file which dramatically reduces execution time
if (!file_exists($fontfile.'.cached')){
// calculate $font first time
$subsetchars = array_fill(0, 512, true); // fill subset for all chars 0-512
$font = $this->_getTrueTypeFontSubset($font, $subsetchars); // this part is actually slow!
// and then save $font to file for further use
$fp=fopen($fontfile.'.cached','w');
$flat_array = serialize($font); //
fwrite($fp,$flat_array);
fclose($fp);
}
else {
// cache file exist, load file
$fp=fopen($fontfile.'.cached','r');
$flat_array = fread($fp,filesize($fontfile.'.cached'));
fclose($fp);
$font = unserialize($flat_array);
}

关于php - 使用相同代码,TCPDF 比 FPDF 慢两倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com