wkhtmltopdf 是一個開源、簡單且高效的命令列 shell 程序,它能夠將任何 HTML (網頁)轉換為 PDF 文件或圖像(如 jpg、png 等)。
wkhtmltopdf 是用 C 編寫的,並在 GNU/GPL (通用公共授權)下發布。它使用 WebKit 渲染引擎將 HTML 頁面轉換為 PDF 文件,而不會損失頁面品質。這是一個非常實用且可靠的解決方案,用於即時建立和儲存網頁快照。
在本文中,我們將介紹如何在 Linux 系統下使用 tar 套件來安裝 wkhtmltopdf。
讓我們在 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]
使用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
使用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/
#我們會看到如何將遠端的 HTML 頁面轉換成 PDF 檔案、驗證資訊、使用 evince 在 GNOME 桌面中瀏覽已建立的檔案。
要將任意 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
#為了驗證已建立的文件,使用下面的命令。
$ file 10-Sudo-Configurations.pdf
範例輸出:
10-Sudo-Configurations.pdf: PDF document, version 1.4
#要瀏覽產生的文件訊息,執行下面的命令。
$ 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 中看起來很棒。
#要建立一個 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
範例截圖:
看一下下面的图。它上看去比上面的更好。
wkhtmltopdf 选项及使用
更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。
$ wkhtmltopdf --help
以上是一款在Linux 中將網頁轉換成 PDF 的智慧工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!