How can I take a full page screenshot of a webpage from the command line?

Solution 1:

Here a list of applications that you can use from terminal:

  • wkhtmltopdf (source)

wkhtmltopdf is a command line utility that converts html to pdf using webkit rendering engine.

sudo apt-get install wkhtmltopdf
  • wkhtmltoimage (source)

The wkhtmltoimage utility shall take the screenshot of a given url, and save it as a png image. It uses the webkit rendering engine.

Download : http://code.google.com/p/wkhtmltopdf/downloads/list

Usage :

To use the wkthmltoimage utility simple run the command from terminal, giving the url and the name for the image file.

$ ./wkhtmltoimage-amd64 http://www.google.com google.png

It will create google.png in home directory with the screenshot of www.google.com

Other options :

wkhtmltoimage provides many options to customise the screenshot. Some examples are as follows :

Quality - Controls the quality/compression of the generation image. Default is 94

$ ./wkhtmltoimage-amd64 --quality 50 http://www.google.com google.png

Disable images

$ ./wkhtmltoimage-amd64 --no-images http://www.google.com google.png

Disable javascript

$ ./wkhtmltoimage-amd64 --disable-javascript http://www.google.com google.png

Crop the screenshot

$ ./wkhtmltoimage-amd64 --crop-h 300 --crop-w 300 --crop-x 0 --crop-y 0 http://www.google.com googl
  • cutycapt (source)

Cutycapt is a utility to take the screenshot of a url, using the webkit rendering engine and save it to an image file.

Install

sudo apt-get install subversion libqt4-webkit libqt4-dev g++ cutycapt

Usage To use cutycapt, simply run the command from the terminal, providing the url and the name for the output file.

$ cutycapt --url=http://www.google.com/ --out=google.png

It will create google.png file in home directory which would have the screenshot of www.google.com

  • khtml2png (source)

khtml2png uses the konqueror rendering engine to create screenshots of web pages.

Download

http://khtml2png.sourceforge.net/index.php?page=download

Install

To install khtml2png, the program has to be compiled and build on the system.

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)

Usage To use khtml2png run the program from commandline providing the url and other options.

$ khtml2png2 --width 800 --height 600 http://www.google.com/ google.png

This would create a google.png in home directory with the screenshot of www.google.com.

  • PyWebShot (source)

Pywebshot uses python bindings embedded mozilla ( http://www.mozilla.org/unix/gtk-embedding.html )

Install

sudo apt-get install python-gtkmozembed

Download pywebshot from https://github.com/coderholic/PyWebShot

Usage :

$ python pywebshot.py www.google.com -t 1024x768&lt;br /&gt;<br />Loading www.google.com... saved as www.google.com.png

It should create a www.google.com.png in the directory which has the screenshot of size 1024 x 768.