我們打算使用wkhtmltopdf將html轉換爲pdf,但我們關注wkhtmltopdf的可伸縮性。有沒有人有任何想法如何衡量?我們的網絡應用程序可能會嘗試轉換成千上萬(相對複雜)的html,所以對我們來說有一些想法很重要。有沒有人得到這方面的信息?wkhtmltopdf的性能
回答
在我的經驗中,性能取決於你的照片。它有很多大圖片可以顯着減慢。如果可能的話,我會試着用一個估計你的服務器的負載的測試來進行測試。有些人確實將它用於密集的操作,但我從來沒有聽說過成千上萬的人。我想所有事情都取決於你的內容和資源。
以下報價是直客wkhtmltopdf mailing list:
我使用wkHtmlToPDF轉換約6000封電子郵件一天PDF。這是所有 在4GB內存的四核服務器上完成的......它對於 來說已經足夠了。
有幾個性能提示,但我會建議在性能優化之前嘗試一下你的瓶頸。例如,我記得有人說如果可能的話,直接從磁盤加載圖像,而不是在其間安裝網絡服務器,可以大大加快圖像加速速度。
編輯: 添加到這一點,我只是有一些有趣的玩wkhtmltopdf。目前在具有4Gb內存的英特爾迅馳2上,我生成57頁內容(混合p,ul,表格)的PDF,約100張圖像,並且toc始終持續7秒鐘處理<。我還運行visual studio,瀏覽器,http服務器和其他各種可能會降低速度的軟件。我直接使用stdin和stdout而不是文件。
編輯: 我沒有嘗試這樣做,但如果你有聯繫CSS,嘗試在HTML文件中嵌入它(記得之前和測試正確看到效果後做!)。這裏的改進很可能取決於緩存和CSS的服務位置 - 如果每次從磁盤讀取或禁止從scss重新生成,它可能非常慢,但是如果結果被web服務器緩存(我不認爲wkhtmltopdf在實例之間緩存任何東西)它可能沒有很大的影響。因人而異。
首先,你的問題是相當一般的;在詢問任何項目的可擴展性時,需要考慮許多變量。顯然,在一週內轉換「數十萬」HTML文件與期待在一天或一小時內完成這些操作之間存在差異。除此之外,「相對複雜」的HTML對其他人來說可能意味着不同的事情。這是說,我認爲,因爲我做了類似的事情,轉換大約45萬html文件,利用wkhtmltopdf;我會分享我的經驗。
在這裏是我的情形:
- 450000 HTML文件
-
文件
- 95%的長度爲一頁
- 通常含有2幅圖像(相對路徑,本地系統)
- 片狀數據(有時包含嵌套表)
- 其他地方的簡單標記(強,斜體,下劃線等)
- 一個備用桌面PC
- 8GB RAM
- 2.4GHz的雙核處理器
- 7200 HD
我用PHP編寫一個簡單的單線程腳本,遍歷文件夾並將html文件路徑傳遞給wkhtmltopdf。整個過程花費了大約2.5天的時間來轉換所有文件,並且錯誤率極低。
我希望這可以讓你瞭解在你的web應用程序中使用wkhtmltopdf可以期待什麼。一些明顯的改進將來自在更好的硬件上運行,但主要是利用多線程應用程序同時處理文件。
供參考,平均每個文檔爲480毫秒 – 2014-09-02 20:01:37
或每秒2頁。 – xyres 2018-02-24 11:44:36
我們嘗試在任何實現中使用wkhtmltopdf。我的對象是生成座標點的巨大表格。通常我的pdf的容量= 500頁
我們嘗試使用wkhtmltopdf的端口到.net。結果是
- Pechkin - Pro: don't need other app. Contra: slow. 500 pages generated about 5 minutes
- PdfCodaxy - only contra: slow. Slower than pure wkhtmltopdf. Required installed wkhtmltopdf. Problems with non unicode text
- Nreco - only contra: slow. Slower than pure wkhtmltopdf. Required installed wkhtmltopdf. Incorrect unlock libs after use (for me)
我們嘗試使用從C#代碼調用的二進制wkhtmltopdf。
Pro: easy to use, faster that libs
Contra: need temporary files (cannot use Stream objects). Break with very huge (100MB+)html files as like as other libs
關於NReco.PdfGenerator,我不知道它如何比純WkHtmlToPdf慢(內部它在單獨的過程中調用WkHtmlToPdf.exe)。此外,它不需要安裝WkHtmlToPdf:所有文件都嵌入到DLL中,並在錯過時自動提取。 – 2014-09-10 16:12:00
wkhtmltopdf --print-media-type
正在快速發展。但是你放棄了正常的CSS樣式。
這可能不是複雜的html頁面導出的理想解決方案。但它對我來說很有效,因爲我的html內容非常簡單並且以表格形式。
測試在wkhtmltopdf 0.12.2.1
版本
- 1. 不好wkhtmltopdf的wicked_pdf和wkhtmltopdf的路徑
- 2. wkhtmltopdf RuntimeError(wkhtmltopdf未知的位置)
- 3. wkhtmltopdf Engine Yard的
- 4. wkhtmltopdf segfaults
- 5. wkhtmltopdf笨
- 6. wkhtmltopdf不能在php腳本中工作
- 7. wkhtmltopdf不能從warick-pdf內部執行
- 8. 不能下載wkhtmltopdf加上在Plone
- 9. Wicked_pdf和wkhtmltopdf不能正確編碼pdf
- 10. wkhtmltopdf - 啓用智能收縮不縮小
- 11. wkhtmltopdf vs fpdf以及關於使用和性能的問題(HTML to PDF)
- 12. wkhtmltopdf問題
- 13. wkhtmltopdf windows錯誤
- 14. wkhtmltopdf pdf差異
- 15. shell_exec和wkhtmltopdf
- 16. Wkhtmltopdf SVG填充
- 17. codeigniter wkhtmltopdf介紹
- 18. wkhtmltopdf javascript延遲
- 19. wkhtmltopdf問題
- 20. 使用wkhtmltopdf
- 21. wkhtmltopdf offsetHeight差異
- 22. Wkhtmltopdf轉換
- 23. 在wkhtmltopdf過程
- 24. Django - 多PDFTemplateResponse(wkhtmltopdf)
- 25. Knp Snappy Bundle - wkhtmltopdf
- 26. Ubuntu上的wkhtmltopdf編譯
- 27. wkhtmltopdf的其他設置?
- 28. 在CentOS 6上的Wkhtmltopdf/Snappy
- 29. wkhtmltopdf +混合的光色
- 30. wkhtmltopdf每頁上的標題
圓角CSS角落引起了我渲染由20X的時間增加。刪除這些在相對簡單的HTML頁面上將我的渲染從〜6秒降低到〜0.3秒。例如。 'border-radius:8px;'和'border-top-left-radius:6px;' – 2016-09-01 01:08:43
在我的案例中,經過很多調查,我有從第三方獲取QRcode的URL,這個第三方持有創建我的門票。 – shareef 2018-01-26 18:31:05