我们打算使用wkhtmltopdf将HTML转换为PDF,但我们担心wkhtmltopdf的可扩展性。 有谁知道它的扩展性如何? 我们的Web应用程序可能会尝试转换数十万个(相对复杂的)HTML,因此了解一些信息对我们很重要。 有人有相关信息吗?
我们打算使用wkhtmltopdf将HTML转换为PDF,但我们担心wkhtmltopdf的可扩展性。 有谁知道它的扩展性如何? 我们的Web应用程序可能会尝试转换数十万个(相对复杂的)HTML,因此了解一些信息对我们很重要。 有人有相关信息吗?
编辑: 此外,我刚刚尝试了一些有趣的wkhtmltopdf操作。目前我使用一台配备4GB内存的英特尔Centrino 2电脑,生成包含57页内容(混合p、ul、table),约100张图片和目录的PDF文件,平均只需要不到7秒的时间。同时,我还在运行Visual Studio、浏览器、HTTP服务器以及其他可能会减慢速度的软件。我直接使用标准输入和标准输出,而不是文件。
编辑:我没有尝试过这个方法,但如果你已经链接了CSS,请尝试将其嵌入HTML文件中(记得进行前后测试以正确查看效果!)。这里的改进很可能取决于缓存和CSS所在的位置-如果每次从磁盘读取或重新生成SCSS文件,则可能会非常慢,但如果结果被Web服务器缓存(我认为wkhtmltopdf在实例之间不会缓存任何内容),则可能效果不大。具体情况因人而异。
我们在任何实现中都尝试使用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)
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
wkhtmltopdf --print-media-type
是非常快速的。但是这样会失去普通的CSS样式。
对于复杂的HTML页面导出,这可能不是理想的解决方案。但对于我来说,它适用于我的HTML内容相当简单且以表格形式呈现。
在版本wkhtmltopdf 0.12.2.1
上进行了测试。
您可以创建自己的wkhtmltopdf引擎池。我为一个简单的用例直接调用API而不是每次启动wkhtmltopdf.exe进程来实现。 wkhtmltopdf API不是线程安全的,所以这并不容易。此外,您不应忘记在AppDomains之间共享本机代码。
border-radius: 8px;
和border-top-left-radius: 6px;
。 - T. Brian Jones