2015-06-11 33 views
0

我想创建一个将某些网站的HTML源代码转换为jpg/png图像的功能。我还必须在外部服务器上这样做 - 这意味着我不知道它是否具有所有必需的库,并且我不想在那里安装太多的东西,越少越好。将HTML转换为图像而不安装任何东西

我已经发现了两个选项:

- wkhtmltoimage 
- cutycapt 

但它们都需要依赖安装,更不用说模拟服务器,它很烂。

有没有办法做到这一点,没有任何外部库?谢谢!

+0

您可以使用旧的''方法。画布内的元素可以从鼠标右键菜单保存为图像。但IE是唯一一个无法将其保存为图像的人。 – Nikko

+0

嗨,我认为这个链接有你的答案.. http://stackoverflow.com/questions/757675/website-screenshots-using-php – phpfresher

+0

使用webkit2png。 这可以在100%缩放比例(-s 1)下保存剪辑后的图像(-C): webkit2png -C -s ​​1 -W 1000 -H 1000 --clipwidth 1000 --clipheight 1000 http://t.co -F只保存一个完整大小的图像: webkit2png -F http://stackoverflow.com –

回答

0

您可以使用此Java库,。这个简单的Java库将纯HTML标记转换为图像,并使用HTML元素提供客户端图像映射,并支持不同的图像格式,如GIF,PNG或JPEG图像。

这个库有非常方便,简单和清醒API的。

常见的用法是这样的:

HtmlImageGenerator imageGenerator = new HtmlImageGenerator(); 

imageGenerator.loadHtml("<b>Hello World!</b> Please goto <a title=\"Goto Google\" href=\"http://www.google.com\">Google</a>."); 
// OR you can fetch HTML from URL 
imageGenerator.loadUrl("http://www.example.com/xyz.html"); 

imageGenerator.saveAsImage("hello-world.png"); 
imageGenerator.saveAsHtmlWithMap("hello-world.html", "hello-world.png"); 

将产生HELLO-world.png的HTML形象和HELLO-world.html文件,其中包含客户端图像映射。

该库还有其他几个API,您可以根据自己的需求进行探索。

+0

不过,我有一个PHP的标签在我的岗位 – khernik

+0

@khernik,首先你必须编辑你的问题,指定'php'也。 –

+0

@khernik,用于处理* php *脚本,您可以使用** loadUrl(url)**此库的Api从URL对象或URL字符串加载HTML。因为当您从URL访问* php *脚本时,它会返回处理文件完全是HTML格式。 –

0

这在使用pbmtext的linux中是非常有可能的。该工具将任何文本转换为pbm图像文件。

对于你的情况下,

curl -L google.com | pbmtext > google.pbm 

然而,提防,这将产生一个非常大的文件(MB几个100S)。所以你将不得不做一些后处理,比如把它转换成另一种格式或调整它的大小。

相关问题