我需要一个工具来自动将简单的HTML转换为图像.我将控制HTML输入,它将包含简单的文本格式标签和可能的图像链接 - 我不需要能够呈现任意HTML.有一个简单的方法吗?
我看过像Gecko和Webkit这样的HTML布局引擎,但坦率地说,我对它们拥有的选项数量感到不知所措 - 我不需要一个完整的Web浏览器!是否可以这种方式使用这些引擎?有人能引导我朝着正确的方向前进吗?
浏览器等其他可能性依赖于真实浏览器的屏幕截图,但我将在具有潜在许多用户的Web服务器上运行此应用程序,因此性能非常重要,我担心这种解决方案无法扩展.
想法?
编辑:抱歉忘记提到我的服务器正在运行Linux,因此Windows解决方案无济于事.:)
回答,我自己的问题我找到了这个有用的工具,它使用WebKit渲染页面,然后将输出捕获为图像甚至是PDF格式!
http://cutycapt.sourceforge.net/
这个想法类似于Jay提到的khtml2png,但我更喜欢这个实现.此外,为了将来参考,通过Xvfb运行X虚拟帧缓冲区并不像我担心的那样占用大量内存.
我之前使用过CutyCapt有点笨拙和臃肿 - 需要Qt.
IMO,PhantomJs(无头webkit)是迄今为止最好的解决方案,快速,简单,干净.你可以用它做很多事情.
见http://phantomjs.org
或者看到这个
如果您在Linux上运行并且可以使用KDE库,那么您可能会觉得这很有用:khtml2png
khtml2png是一个命令行程序,用于创建网页的屏幕截图.它使用libkhtml(KDE webbrowser Konqueror中使用的库).在khtml2png 2.0.5到2.5.0中,来自ImageMagick的"转换"图形转换工具包用于创建各种图像文件格式的输出文件.2.6.0和未来的开发将使用Qt库的内置转换.
另外,为了跟进Vilx建议的内容,您可以使用html2ps将HTML转换为ps文件,然后使用gs(Ghostscript)将ps文件转换为png或jpg.有关一种方法,请参见http://www.karakas-online.de/myLinuxTips/ps2png.html.