Wkhtmltopdf là một tiện ích trình bao dòng lệnh mã nguồn mở đơn giản và hiệu quả cho phép người dùng chuyển đổi bất kỳ HTML (Web Page) đến PDF tài liệu hoặc hình ảnh (jpg, pngvân vân).

Wkhtmltopdf được viết bằng C++ngôn ngữ trộn lẫn và được phân phối dưới GNU/GPL (General Public License). Nó sử dụng WebKit công cụ bố trí kết xuất để chuyển đổi HTMLs đến PDF tài liệu mà không làm giảm chất lượng của các trang. Nó thực sự là giải pháp rất hữu ích và đáng tin cậy để tạo và lưu trữ ảnh chụp nhanh của các trang web trong thời gian thực.

Tính năng của wkhtmltopdf

  1. Nguồn mở và nền tảng chéo.
  2. Chuyển đổi bất kỳ HTML các trang web đến PDFs sử dụng WebKit động cơ.
  3. Các tùy chọn để thêm đầu trang và chân trang
  4. Mục lục (TOC) tùy chọn tạo.
  5. Cung cấp chuyển đổi chế độ hàng loạt.
  6. Hỗ trợ cho PHP hoặc Python thông qua liên kết với libwkhtmltox.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cài đặt Wkhtmltopdf trong hệ thống Linux sử dụng tệp tarball nguồn.

Cài đặt Evince (Trình xem PDF)

Hãy cài đặt evince (một PDF đọc) chương trình để xem PDFs trong hệ thống Linux.

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

Tải xuống Tệp nguồn Wkhtmltopdf

Tải xuống wkhtmltopdf các tập tin nguồn cho bạn Linux kiến trúc bằng cách sử dụng lệnh Wget hoặc bạn cũng có thể tải xuống các phiên bản mới nhất (dòng máy ổn định hiện tại là 0.12.4) tại tải xuống wkhtmltopdf trang.

Trên hệ điều hành Linux 64-bit
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Trên hệ điều hành Linux 32-bit
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz

Cài đặt Wkhtmltopdf trong Linux

Giải nén các tập tin vào một thư mục làm việc hiện tại bằng cách sử dụng lệnh tar sau.

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

Cài đặt wkhtmltopdf Dưới /usr/bin để dễ dàng thực hiện chương trình từ bất kỳ đường dẫn nào.

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

Làm thế nào để sử dụng Wkhtmltopdf?

Ở đây chúng ta sẽ xem làm thế nào để bí mật điều khiển từ xa HTMLs đến PDFs, xác minh thông tin, xem các tệp đã tạo bằng cách sử dụng evince từ GNOME Máy tính để bàn.

Chuyển đổi trang HTML của trang web thành tệp PDF

Để chuyển đổi bất kỳ trang web nào HTML trang web đến PDF, chạy lệnh ví dụ sau. Nó sẽ chuyển đổi trang web đã cho thành 10-Sudo-Configurations.pdf trong thư mục làm việc hiện tại.

# wkhtmltopdf https://www.2error.net/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
Đầu ra mẫu:
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

Xem tệp PDF đã tạo

Để xác minh rằng tệp đã được tạo, hãy sử dụng lệnh sau.

$ file 10-Sudo-Configurations.pdf
Đầu ra mẫu:
10-Sudo-Configurations.pdf: PDF document, version 1.4

Xem thông tin về tệp PDF đã tạo

Để xem thông tin của tệp đã tạo, hãy sử dụng lệnh sau.

$ pdfinfo 10-Sudo-Configurations.pdf
Đầu ra mẫu:
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

Xem tệp PDF đã tạo

Hãy xem cái mới được tạo PDF sử dụng evince từ máy tính để bàn.

$ evince 10-Sudo-Configurations.pdf
Ảnh chụp màn hình mẫu:

Trông khá đẹp bên dưới hộp Linux Mint 17 của tôi.

Xem trang web bằng PDF

Tạo TOC (Mục lục) của một trang sang PDF

Để tạo một bảng nội dung cho một PDFsử dụng tùy chọn như toc.

$ wkhtmltopdf toc https://www.2error.net/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
Đầu ra mẫu:
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

Để kiểm tra TOC đối với tệp đã tạo, hãy sử dụng lại chương trình evince.

$ evince 10-Sudo-Configurations.pdf
Ảnh chụp màn hình mẫu:

Hãy xem hình dưới đây. nó trông thậm chí còn tốt hơn so với ở trên.

Tạo Trang web thành Mục lục trong PDF
Tạo Trang web thành Mục lục trong PDF

Wkhtmltùy chọn và sử dụng wktopdf

Wkhtmltopdf sử dụng nhiều hơn và các tùy chọn, hãy sử dụng lệnh trợ giúp sau. Nó sẽ hiển thị danh sách tất cả các tùy chọn có sẵn mà bạn có thể sử dụng với nó.

$ wkhtmltopdf --help