我已经安装可爱队长在我的 Linode VPS 上,并通过以下命令使用它来生成屏幕截图。
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.png
一切正如预期的那样顺利。唯一的问题是,如果页面可以垂直滚动(即高度大于 768)怎么办?在这种情况下,屏幕截图将被截断。一个可能的解决方案是采用更长的屏幕高度(例如 2000),然后从底部删除空白。但这不是最佳解决方案。
有人可以建议我一个更好的解决方案吗?
答案1
以下是您可以从终端使用的应用程序列表:
- 转PDF(来源)
wkhtmltopdf 是一个命令行实用程序,它使用 webkit 渲染引擎将 html 转换为 pdf。
sudo apt-get install wkhtmltopdf
- 图像处理软件(来源)
wkhtmltoimage 实用程序将截取给定 URL 的屏幕截图,并将其保存为 png 图像。它使用 webkit 渲染引擎。
下载 : http://code.google.com/p/wkhtmltopdf/downloads/list
用法 :
要使用 wkthmltoimage 实用程序,只需从终端运行命令,提供图像文件的 URL 和名称。
$ ./wkhtmltoimage-amd64 http://www.google.com google.png
它将在主目录中创建 google.png,其中包含 www.google.com 的屏幕截图
其他选择:
wkhtmltoimage 提供了很多选项来自定义截图,下面是一些示例:
质量 - 控制生成图像的质量/压缩。默认值为 94
$ ./wkhtmltoimage-amd64 --quality 50 http://www.google.com google.png
禁用图像
$ ./wkhtmltoimage-amd64 --no-images http://www.google.com google.png
禁用 JavaScript
$ ./wkhtmltoimage-amd64 --disable-javascript http://www.google.com google.png
裁剪屏幕截图
$ ./wkhtmltoimage-amd64 --crop-h 300 --crop-w 300 --crop-x 0 --crop-y 0 http://www.google.com googl
- 卡蒂卡普(来源)
Cutycapt 是一个实用程序,使用 webkit 渲染引擎截取 URL 的屏幕截图并将其保存为图像文件。
安装
sudo apt-get install subversion libqt4-webkit libqt4-dev g++ cutycapt
用法 要使用 cutycapt,只需从终端运行命令,提供输出文件的 url 和名称。
$ cutycapt --url=http://www.google.com/ --out=google.png
它将在主目录中创建 google.png 文件,其中包含 www.google.com 的屏幕截图
- khtml2png(来源)
khtml2png 使用 konqueror 渲染引擎来创建网页截图。
下载
http://khtml2png.sourceforge.net/index.php?page=download
安装
要安装 khtml2png,必须在系统上编译并构建该程序。
sudo apt-get install kdelibs4-dev zlib1g-dev g++ cmake
Extract the khtml2png archive.
./configure
make
sudo checkinstall (this will create a deb file and install it , so that it can easily uninstalled later)
用法 要使用 khtml2png,请从命令行运行程序,提供 url 和其他选项。
$ khtml2png2 --width 800 --height 600 http://www.google.com/ google.png
这将在主目录中创建一个 google.png,其中包含 www.google.com 的屏幕截图。
- 网页快照(来源)
Pywebshot 使用嵌入 mozilla 的 Python 绑定(http://www.mozilla.org/unix/gtk-embedding.html)
安装
sudo apt-get install python-gtkmozembed
Download pywebshot from https://github.com/coderholic/PyWebShot
用法 :
$ python pywebshot.py www.google.com -t 1024x768<br /><br />Loading www.google.com... saved as www.google.com.png
它应该在目录中创建一个 www.google.com.png,其中包含尺寸为 1024 x 768 的屏幕截图。
答案2
网页截图工具:
Gimp 2.8 具有创建/从网页功能,非常易于使用,允许配置页面宽度和字体大小(但只能进行预定义的选择)。
shutter(需要 gnome-web-photo),一个支持网页的 GUI 截图工具,似乎没有太多的可配置性
gnome-web-photo,命令行应用程序,允许用户使用样式表和设置页面宽度
webkit-image-gtk,命令行应用程序,使用简单,无需任何配置
webkit-image-qt,命令行应用程序,使用简单,无需任何配置
尚未发现任何可以缩放、自由控制字体大小或将屏幕截图限制到特定 div 的功能。Gimp 可能可以通过使用 script-fu 和批处理模式实现自动化。
答案3
如果您想截取网页的屏幕截图,那么为什么不使用“ScreenGrab 插件”呢?此插件可以截取整个屏幕的屏幕截图,甚至可以截取选定区域的屏幕截图。请在此处查看: https://addons.mozilla.org/en-US/firefox/addon/1146