繁体   English   中英

生成网页的图像(例如jpg)?

[英]generate image (e.g. jpg) of a web page?

我想创建一个网页看起来像的图像,例如创建一个html +图像的小缩略图。 它不一定是完美的(例如flash / javascript渲染)。

我将调用linux上的代码,理想情况下是一些java库,但命令行工具也会很酷。

有任何想法吗?

尝试CutyCapt ,一个命令行实用程序。 它使用Webkit进行各种格式的渲染和输出(SVG,PNG等)。

通过使用浏览器插件,您可以使其近乎完美,并且也可以跨平台。

BrowserShots是一个开源项目,可能有一些你可以使用的代码。

另见:

要使用ImageMagick在终端中截取屏幕截图,请在终端中键入以下行,然后在屏幕的某个部分单击并拖动鼠标:

import MyScreenshot.png

要捕获整个屏幕并在延迟一段时间后调整大小,请使用以下命令:

import -window root -resize 400×300 -delay 200 screenshot.png 

您可以使用xwininfoimport的混合来检索浏览器的窗口ID并制作该窗口的屏幕截图。 用于自动执行此过程的bash脚本将是这样的:

#!/bin/bash
window_id=`xwininfo -tree -root | grep Mozilla | awk '{print $1}'`
import -window $window_id -resize 100x100 tumb.png

该脚本将在当前目录下以tumb.png的名称创建一个100x100的Firefox屏幕截图

几个来源展示了如何从Java应用程序内部运行bash脚本,谷歌可以帮助你。 如果你赶时间,请检查这个这个

如果您对Java感兴趣,也许您可​​以使用Selenium-RC http://seleniumhq.com查看浏览器自动化

这是一个可以安装在盒子上的小型Java服务器,程序本身将在Web浏览器中执行远程命令。

像这样的步骤(顺便说一下,这是伪代码,我在php中编写了我的Selenium代码,我无法回想起100%的细节)

selenium.location("http://foo.com")
selenium.open("/folder/sub/bar.html")
selenium.captureScreenshot("/tmp/" + this.getClass().getName() + "."
                               + testMethodName + ".png");

实际上,我刚刚对最后一个的确切语法做了一个快速的网络搜索...这个人有一个博客,其中可能实际上是java中的代码:) https://dev.youdevise.com/YDBlog/index。 PHP?标题= capture_screenshots_of_selenium_browser_&更= 1& C = 1&TB = 1&PB = 1

还有一些网站提供这种服务“跨浏览器和操作系统”我只是不记得它们是什么。 基本上他们拥有每个操作系统和浏览器组合的云,他们登录每台机器,拿一个屏幕并将其存储在他们的网站上,让他们在完成后的几个小时内回来。

啊......另一个网络搜索,它是你的:) http://browsershots.org/

阅读本页后,我想,让我开启midori浏览器: http//midori-browser.org/当我尝试-h选项时,我看到:

  -s, --snapshot      Take a snapshot of the specified URI

QutyCapt很难编译,并且有许多依赖项。 Midori减少了。 它将网站的PNG输出到TMP文件夹。 可以通过以下方式获取文件:

midori -s http://www.rcdwealth.com new.png 2>/dev/null | awk '{ print $4}'

之后,可以使用ImageMagick的转换程序将文件转换为缩略图大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM