> wkhtmltoimage 0.10.0 rc2 Manual <=======================

This file documents wkhtmltoimage, a program capable of converting HTML documents into images.

> Contact <===================================

If you experience bugs or want to request new features please visit <code.google.com/p/wkhtmltopdf/issues/list>, if you have any problems or comments please feel free to contact me: <uuf6429@gmail.com>

> License <===================================

Copyright (C) 2010 wkhtmltopdf/wkhtmltoimage Authors.

License GPLv3+: GNU GPL version 3 or later <gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

> Authors <===================================

Written by Jan Habermann, Christian Sciberras and Jakob Truelsen. Patches by Mehdi Abbad, Lyes Amazouz, Pascal Bach, Emmanuel Bouthenot, Benoit Garret and Mário Silva.

> Synopsis <==================================

wkhtmltoimage [OPTIONS]… <input file> <output file>

> General Options <===============================
--allow <path>                    Allow the file or files from the specified
                                  folder to be loaded (repeatable)
--checkbox-checked-svg <path>     Use this SVG file when rendering checked
                                  checkboxes
--checkbox-svg <path>             Use this SVG file when rendering unchecked
                                  checkboxes
--cookie <name> <value>           Set an additional cookie (repeatable)
--cookie-jar <path>               Read and write cookies from and to the
                                  supplied cookie jar file
--crop-h <int>                    Set height for croping
--crop-w <int>                    Set width for croping
--crop-x <int>                    Set x coordinate for croping
--crop-y <int>                    Set y coordinate for croping
--custom-header <name> <value>    Set an additional HTTP header (repeatable)
--custom-header-propagation       Add HTTP headers specified by
                                  --custom-header for each resource request.
--no-custom-header-propagation    Do not add HTTP headers specified by
                                  --custom-header for each resource request.
--debug-javascript                Show javascript debugging output
--no-debug-javascript             Do not show javascript debugging output
                                  (default)
--encoding <encoding>             Set the default text encoding, for input

-H, –extended-help Display more extensive help, detailing

less common command switches

-f, –format <format> Output file format (default is jpg)

--height <int>                    Set screen height (default is calculated
                                  from page content) (default 0)

-h, –help Display help

--htmldoc                         Output program html help
--images                          Do load or print images (default)
--no-images                       Do not load or print images

-n, –disable-javascript Do not allow web pages to run javascript

--enable-javascript               Do allow web pages to run javascript
                                  (default)
--javascript-delay <msec>         Wait some milliseconds for javascript
                                  finish (default 200)
--load-error-handling <handler>   Specify how to handle pages that fail to
                                  load: abort, ignore or skip (default
                                  abort)
--disable-local-file-access       Do not allowed conversion of a local file
                                  to read in other local files, unless
                                  explecitily allowed with --allow
--enable-local-file-access        Allowed conversion of a local file to read
                                  in other local files. (default)
--manpage                         Output program man page
--minimum-font-size <int>         Minimum font size
--password <password>             HTTP Authentication password
--disable-plugins                 Disable installed plugins (default)
--enable-plugins                  Enable installed plugins (plugins will
                                  likely not work)
--post <name> <value>             Add an additional post field (repeatable)
--post-file <name> <path>         Post an additional file (repeatable)

-p, –proxy <proxy> Use a proxy

--quality <int>                   Output image quality (between 0 and 100)
                                  (default 94)
--radiobutton-checked-svg <path>  Use this SVG file when rendering checked
                                  radiobuttons
--radiobutton-svg <path>          Use this SVG file when rendering unchecked
                                  radiobuttons
--readme                          Output program readme
--run-script <js>                 Run this additional javascript after the
                                  page is done loading (repeatable)

-0, –disable-smart-width * Use the specified width even if it is not

                                  large enough for the content
--stop-slow-scripts               Stop slow running javascripts (default)
--no-stop-slow-scripts            Do not Stop slow running javascripts
                                  (default)
--transparent *                   Make the background transparent in pngs
--use-xserver *                   Use the X server (some plugins and other
                                  stuff might not work without X11)
--user-style-sheet <url>          Specify a user style sheet, to load with
                                  every page
--username <username>             HTTP Authentication username

-V, –version Output version information an exit

--width <int>                     Set screen width (default is 1024)
                                  (default 1024)
--window-status <windowStatus>    Wait until window.status is equal to this
                                  string before rendering page
--zoom <float>                    Use this zoom factor (default 1)

Items marked * are only available using patched QT.

> Specifying A Proxy <=============================

By default proxy information will be read from the environment variables: proxy, all_proxy and http_proxy, proxy options can also by specified with the -p switch

<type> := “http://” | “socks5://” <serif> := <username> (“:” <password>)? “@” <proxy> := “None” | <type>? <sering>? <host> (“:” <port>)?

Here are some examples (In case you are unfamiliar with the BNF):

user:password@myproxyserver:8080 socks5://myproxyserver None

> Static version <===============================

On the wkhtmltopdf website you can download a static version of wkhtmltopdf <code.google.com/p/wkhtmltopdf/downloads/list>. This static binary will work on most systems and comes with a build in patched QT.

Unfortunately the static binary is not particularly static, on Linux it depends on both glibc and openssl, furthermore you will need to have an xserver installed but not necessary running. You will need to have different fonts install including xfonts-scalable (Type1), and msttcorefonts. See <code.google.com/p/wkhtmltopdf/wiki/static> for trouble shouting.

> Compilation <=================================

It can happen that the static binary does not work for your system for one reason or the other, in that case you might need to compile wkhtmltoimage yourself.

> Installation <================================

There are several ways to install wkhtmltoimage. You can download a already compiled binary, or you can compile wkhtmltoimage yourself.

> Examples <==================================

This section presents a number of examples of how to invoke wkhtmltoimage.

To convert a remote HTML file to PNG:

wkhtmltoimage www.google.com google.png

To convert a local HTML file to PNG:

wkhtmltoimage my.html my.png