我正在使用TCPDF從HTML生成PDF。我有一些緩慢的加載時間,所以閱讀http://www.tcpdf.org/performances.php,它說「分割大塊的HTML塊」,我該如何做到這一點,我應該做多大的小塊?TCPDF性能......以較小的塊分割大型HTML塊?
謝謝
我正在使用TCPDF從HTML生成PDF。我有一些緩慢的加載時間,所以閱讀http://www.tcpdf.org/performances.php,它說「分割大塊的HTML塊」,我該如何做到這一點,我應該做多大的小塊?TCPDF性能......以較小的塊分割大型HTML塊?
謝謝
這可能會被誤解,但這裏是我的解釋。
HTML具有所謂的塊元素,它們是在前後都具有換行符的元素 - 實際上,塊元素髮生在它自己的行上,因爲在其他元素中可能沒有其它元素可以左或右。一個塊元素的例子是<div>
,<p>
或<h2>
。這與行內元素相反,例如<strong>
,<span>
或<a>
。
也就是說,TCPDF用於將HTML轉換爲PDF的算法很可能受到塊元素大小的影響 - 也就是塊元素,其中包含大量其他元素和文本。把它想象成在一段水域上架起一座橋;在小溪上建造數百座小橋比在英吉利海峽上建造一座橋更容易。出於同樣的原因,轉換數十個較小的塊可能比轉換一個較大的塊要容易。
就完成這項任務而言,可能很困難,因爲它似乎需要重新構建HTML和重新設置CSS。另外,一些造型只能通過嵌套塊元素來實現 - 至少在實踐中是可行的。例如,許多頁面佈局使用用於水平居中的包裝塊。嵌套塊元素對TCPDF有什麼影響?您可能希望根據這種性質進行研究,既可以通過搜索已經執行此類基準的人員,也可以通過自己對這些事情進行基準測試。無論如何,鏈接到的頁面上沒有足夠的信息。
其他解決方案可能會嘗試FPDF,這可能會爲您提供更好的性能。你是否嘗試過調整字體?
這些問題可能會提供更多信息。
在我的經驗,更好地工作,以減少加載時間的事情是避免字體子集這樣
$pdf->setFontSubsetting(false) ;
通常渲染時間爲十分之一或更少與該選項集合
較新的TCPDF版本已經深入地改進了字體子集方法的性能,所以現在它應該很好地使用它。