TranslateProject/sources/tech/20170128 Wkhtmltopdf – A Smart Tool to Convert Website HTML Page to PDF in Linux.md

213 lines
6.6 KiB
Markdown
Raw Normal View History

2017-02-01 11:47:54 +08:00
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)
Lets 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