raj*_*dhi 21 html pdf performance xhtml wkhtmltopdf
我们打算使用wkhtmltopdf将html转换为pdf,但我们担心wkhtmltopdf的可扩展性.有谁知道它如何扩展?我们的网络应用程序可能会尝试转换数十万(相对复杂的)HTML,因此对我们来说有一些想法非常重要.有人有任何相关信息吗?
小智 19
首先,你的问题很普遍; 在询问任何项目的可伸缩性时,需要考虑许多变量.显然,在一周内转换"数十万"HTML文件并期望在一天或一小时内完成此操作之间存在差异.除此之外,"相对复杂"的HTML对其他人来说意味着不同的东西.
话虽这么说,我想我已经做了类似的事情,使用wkhtmltopdf转换大约450,000个html文件; 我会分享我的经验.
这是我的场景:
我使用了一个用PHP编写的简单单线程脚本来迭代文件夹并将html文件路径传递给wkhtmltopdf.转换所有文件大约需要2.5天,错误非常少.
我希望这可以让您深入了解在Web应用程序中使用wkhtmltopdf可以获得的内容.一些明显的改进将来自在更好的硬件上运行,但主要来自利用多线程应用程序同时处理文件.
根据我的经验,表现取决于你的照片.它有很多大型图片,可以显着减慢速度.如果可能的话,我会尝试进行测试,估计服务器的负载.有些人确实用它来进行密集操作,但我从来没有听说过成千上万的人.我想一切都取决于你的内容和资源.
以下引用直接来自wkhtmltopdf邮件列表:
我正在使用wkHtmlToPDF将每天约6000封电子邮件转换为PDF.这一切都是在具有4GB内存的四核服务器上完成的...它甚至足够了.
有一些性能提示,但我建议在优化性能之前尝试一下您的瓶颈.例如,我记得有人说如果可能的话,直接从磁盘加载图像而不是在其间安装Web服务器可以加快速度.
编辑:添加到此我只是玩wkhtmltopdf玩得很开心.目前在具有4Gb内存的英特尔迅驰2上,我生成具有57页内容(混合p,ul,表格)的PDF,约100张图像和一个toc始终<7秒.我也在运行视觉工作室,浏览器,http服务器和其他各种软件,可能会降低它的速度.我直接使用stdin和stdout而不是文件.
编辑:我没有尝试过这个,但如果您已经链接了CSS,请尝试将其嵌入HTML文件中(记得在测试之前和之后进行正确的查看效果!).这里的改进很可能取决于缓存和CSS服务的地方 - 如果每次都从磁盘读取或上帝禁止从scss重新生成,它可能会很慢,但如果结果是由网络服务器缓存的(我不认为wkhtmltopdf在实例之间缓存任何东西)它可能没有很大的影响.因人而异.
wkhtmltopdf --print-media-type正在快速燃烧。但是你会失去正常的 CSS 样式。
这可能不是复杂 html 页面导出的理想解决方案。但它对我有用,因为我的 html 内容非常简单并且是表格形式。
在版本上测试 wkhtmltopdf 0.12.2.1
| 归档时间: |
|
| 查看次数: |
19538 次 |
| 最近记录: |