TranslateProject/sources/tech/20170128 Wkhtmltopdf – A Smart Tool to Convert Website HTML Page to PDF in Linux.md
2017-02-01 11:47:54 +08:00

213 lines
6.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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