Wkhtmltopdf – A Smart Tool to Convert Website HTML Page to PDF in Linux
============================================================

**Wkhtmltopdf** is an open source simple and much effective command-line shell utility that enables user to convert any given **HTML** (**Web Page**) to **PDF** document or an image (**jpg**, **png**, etc).

Wkhtmltopdf is written in **C++** programming language and distributed under **GNU/GPL** (**General Public License**). It uses **WebKit** rendering layout engine to convert **HTML** pages to** PDF**document without loosing the quality of the pages. Its is really very useful and trustworthy solution for creating and storing snapshots of web pages in real-time.

### Wkhtmltopdf Features

1.  Open source and cross platform.
2.  Convert any **HTML** web pages to **PDF** files using **WebKit** engine.
3.  Options to add headers and footers
4.  Table of Content (**TOC**) generation option.
5.  Provides batch mode conversions.
6.  Support for **PHP** or **Python** via bindings to libwkhtmltox.

In this article we will show you how to install **Wkhtmltopdf** program under Linux systems using source tarball files.

### Install Evince (PDF Viewer)

Let’s install **evince** (a **PDF** reader) program for viewing **PDF** files in Linux systems.

```
$ sudo yum install evince             [RHEL/CentOS and Fedora]
$ sudo dnf install evince             [On Fedora 22+ versions]
$ sudo apt-get install evince         [On Debian/Ubuntu systems]
```

### Download Wkhtmltopdf Source File

Download **wkhtmltopdf** source files for your **Linux** architecture using [Wget command][1], or you can also download latest versions (current stable series is **0.12.4**) at [wkhtmltopdf download][2] page.

##### On 64-bit Linux OS

```
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
```

##### On 32-bit Linux OS

```
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz
```

### Install Wkhtmltopdf in Linux

Extract the files to a current working directory using following [tar command][3].

```
------ On 64-bit Linux OS ------
$ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
------ On 32-bit Linux OS ------
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz 
```

Install the **wkhtmltopdf** under **/usr/bin** directory for easy execution of program from any path.

```
$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
```

### How to Use Wkhtmltopdf?

Here we will see how to covert remote **HTML** pages to **PDF** files, verify information, view created files using **evince** program from the **GNOME** Desktop.

#### Convert Website HTML Page to PDF File

To convert any website **HTML** web page to **PDF**, run the following example command. It will convert the given webpage to [10-Sudo-Configurations.pdf][4] in current working directory.

```
# wkhtmltopdf http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
```

##### Sample Output :

```
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
```

#### View Generated PDF File

To verify that the file is created, use the following command.

```
$ file 10-Sudo-Configurations.pdf
```

##### Sample Output :

```
10-Sudo-Configurations.pdf: PDF document, version 1.4
```

#### View Information of Generated PDF File

To view the information of generated file, issue the following command.

```
$ pdfinfo 10-Sudo-Configurations.pdf
```

##### Sample Output :

```
Title:          10 Useful Sudoers Configurations for Setting 'sudo' in Linux
Creator:        wkhtmltopdf 0.12.4
Producer:       Qt 4.8.7
CreationDate:   Sat Jan 28 13:02:58 2017
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          13
Encrypted:      no
Page size:      595 x 842 pts (A4)
Page rot:       0
File size:      697827 bytes
Optimized:      no
PDF version:    1.4
```

#### View Created PDF File

Take a look at the newly created **PDF** file using **evince** program from the desktop.

```
$ evince 10-Sudo-Configurations.pdf
```

##### Sample Screenshot :

Looks pretty nice under my Linux Mint 17 box.

[
 ![View Website Page in PDF](http://www.tecmint.com/wp-content/uploads/2012/10/View-Website-Page-in-PDF.png) 
][5]

View Website Page in PDF

#### Create TOC (Table Of Content) of a Page to PDF

To create a table of content for a **PDF** file, use the option as **toc**.

```
$ wkhtmltopdf toc http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
```

##### Sample Output :

```
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
```

To check the **TOC** for the created file, again use evince program.

```
$ evince 10-Sudo-Configurations.pdf
```

##### Sample Screenshot :

Take a look at the picture below. it looks even more better than the above.

[
 ![Create Website Page to Table of Contents in PDF](http://www.tecmint.com/wp-content/uploads/2012/10/Create-Website-Page-Table-of-Contents-in-PDF.png) 
][6]

Create Website Page to Table of Contents in PDF

#### Wkhtmltopdf Options and Usage

For **Wkhtmltopdf** more usage and options, use the following help command. It will display list of all available options that you can use with it.

```
$ wkhtmltopdf --help
```

--------------------------------------------------------------------------------

作者简介:

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

--------------------------------------------------

via: http://www.tecmint.com/wkhtmltopdf-convert-website-html-page-to-pdf-linux/

作者:[Ravi Saive][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

[a]:http://www.tecmint.com/author/admin/
[1]:http://www.tecmint.com/10-wget-command-examples-in-linux/
[2]:http://wkhtmltopdf.org/downloads.html
[3]:http://www.tecmint.com/18-tar-command-examples-in-linux/
[4]:http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/
[5]:http://www.tecmint.com/wp-content/uploads/2012/10/View-Website-Page-in-PDF.png
[6]:http://www.tecmint.com/wp-content/uploads/2012/10/Create-Website-Page-Table-of-Contents-in-PDF.png