Linux中國

wkhtmltopdf:一個 Linux 中將網頁轉成 PDF 的智能工具

wkhtmltopdf 的功能

  1. 開源並且跨平台。
  2. 使用 WebKit 引擎將任意 HTML 網頁轉換為 PDF 文件。
  3. 添加頁眉和頁腳的選項
  4. 目錄生成 (TOC) 選項。
  5. 提供批量模式轉換。
  6. 通過綁定 libwkhtmltox 來支持 PHP 或 Python。

在本文中,我們將介紹如何在 Linux 系統下使用 tar 包來安裝 wkhtmltopdf

安裝 Evince (PDF 瀏覽器)

讓我們在 Linux 系統中安裝 evince (一個 PDF 閱讀器)來瀏覽 PDF 文件。

$ 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]

下載 wkhtmltopdf 源碼文件

使用 wget 命令根據你的 Linux 架構來下載 wkhtmltopdf 源碼文件,或者你也可以在 wkhtmltopdf 下載頁下載最新的版本(目前最新的穩定版是 0.12.4)

在 64 位 Linux 系統中:

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

在 32 位 Linux 系統中:

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

在 Linux 中安裝 wkhtmltopdf

使用 tar 命令解壓文件到當前目錄中。

------ 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 

為了能從任意路徑執行程序,將 wkhtmltopdf 安裝到 /usr/bin 目錄下。

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

如何使用 wkhtmltopdf?

我們會看到如何將遠程的 HTML 頁面轉換成 PDF 文件、驗證信息、使用 evince 在 GNOME 桌面中瀏覽創建的文件。

將 HTML 網頁轉成 PDF 文件

要將任意 HTML 頁面轉換成 PDF,運行下面的命令。它會在當前目錄下將頁面轉換成 10-Sudo-Configurations.pdf

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

示例輸出:

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

瀏覽生成的 PDF 文件

為了驗證創建的文件,使用下面的命令。

$ file 10-Sudo-Configurations.pdf

示例輸出:

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

瀏覽生成的 PDF 文件細節

要瀏覽生成的文件信息,運行下面的命令。

$ pdfinfo 10-Sudo-Configurations.pdf

示例輸出:

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

瀏覽創建的文件

在桌面中使用 evince 查看最新生成的 PDF 文件。

$ evince 10-Sudo-Configurations.pdf

示例截圖:

在我的 Linux Mint 17 中看起來很棒。

View Website Page in PDF

在 PDF 中瀏覽網頁

給 PDF 創建頁面的 目錄 Table Of Content (TOC)

要創建一個 PDF 文件的目錄,使用 toc 選項。

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

示例輸出:

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

要查看已創建文件的 TOC,再次使用 evince。

$ evince 10-Sudo-Configurations.pdf

示例截圖:

看一下下面的圖。它上看去比上面的更好。

Create Website Page to Table of Contents in PDF

在 PDF 中創建網頁的目錄

wkhtmltopdf 選項及使用

更多關於 wkhtmltopdf 的使用及選項,使用下面的幫助命令。它會顯示出所有可用的選項。

$ wkhtmltopdf --help

作者簡介:

我是 Ravi Saive,TecMint 的創建者。一個愛在網上分享的技巧和提示的電腦極客和 Linux 專家。我的大多數伺服器運行在名為 Linux 的開源平台上。請在 Twitter、 Facebook 和 Google+ 等上關注我。

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

作者:Ravi Saive 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國