我需要将HTML模板转换为节点服务器上的图像。 服务器将以字符串形式接收HTML。我尝试了PhantomJS(使用一个名为Webshot的库),但它不适用于弹性盒和现代CSS。我试图使用Chrome无头浏览器,但它似乎没有解析HTML的API,只有URL。如何将HTML转换为Node.js中的图像
将HTML片段转换为图片的最佳方式是什么?
我会在这里尝试更具体。我需要从一个HTML模板制作缩略图PIC,如:
<div style="color:red;width:300px;hegiht:300px;">hello world</div>
我已经尝试过了一个名为webshot了图书馆应该做到这一点,利用罩下PhantomJS,但是生成的缩略图不正确地表示实HTML模板,因为不受支持的CSS,如弹性框。 我需要在Node.js服务器上完成它 - 客户端将以字符串形式发送html,服务器将返回JPG或PNG格式的缩略图。
有没有在模板模式而不是URL模式下使用无头Chrome的方法?我的意思,而不是做一些像
chrome.goTo('http://test.com')
,我需要的是这样的:
chrome.evaluate('<div>hello world</div>');
另一种选择,这里建议在评论这一职务,是为了 保存模板中的一个文件服务器,然后在本地提供服务,并执行类似操作:
chrome.goTo('http://localhost/saved_template');
但是这个选项在我看来有点尴尬。还有其他更直接的解决方案吗?
是啊我想过使用http服务器的选项,但它似乎有点奇怪......如果没有人会建议一个更简单的解决方案生病接受你的,因为即时通讯开始认为没有更简单的解决方案,tnx – kundasaba
你可以写html文件并使用[文件URI](https://en.wikipedia.org/wiki/File_URI_scheme)代替(即:'file:/// home/user/path/to/your/file.html') ,它应该正常工作与无头铬: – gnuns
哦对,我没有想过关于文件的Uri事情。听起来不错,谢谢! – kundasaba