ค้นหาเว็บไซต์

Wkhtmltopdf - เครื่องมืออัจฉริยะในการแปลงหน้า HTML ของเว็บไซต์เป็น PDF ใน Linux


Wkhtmltopdf เป็นโปรแกรมอรรถประโยชน์เชลล์บรรทัดคำสั่งแบบโอเพ่นซอร์สที่เรียบง่ายและมีประสิทธิภาพมาก ซึ่งช่วยให้ผู้ใช้สามารถแปลง HTML (หน้าเว็บ) ที่กำหนดให้เป็น >เอกสาร PDF หรือรูปภาพ (jpg, png ฯลฯ)

Wkhtmltopdf เขียนด้วยภาษาโปรแกรม C++ และเผยแพร่ภายใต้ GNU/GPL (สัญญาอนุญาตสาธารณะทั่วไป) ใช้กลไกการจัดวางการแสดงผล WebKit เพื่อแปลงหน้า HTML เป็นเอกสาร PDF โดยไม่สูญเสียคุณภาพของหน้า มันเป็นโซลูชันที่มีประโยชน์และน่าเชื่อถือมากสำหรับการสร้างและจัดเก็บสแนปชอตของหน้าเว็บแบบเรียลไทม์

คุณสมบัติ Wkhtmltopdf

  1. โอเพ่นซอร์สและข้ามแพลตฟอร์ม
  2. แปลงหน้าเว็บ HTML ให้เป็นไฟล์ PDF โดยใช้กลไก WebKit
  3. ตัวเลือกในการเพิ่มส่วนหัวและส่วนท้าย
  4. ตัวเลือกการสร้างสารบัญ (TOC)
  5. ให้การแปลงโหมดแบตช์
  6. รองรับ PHP หรือ Python ผ่านการเชื่อมโยงกับ libwkhtmltox

ในบทความนี้ เราจะแสดงวิธีการติดตั้งโปรแกรม Wkhtmltopdf ในระบบ Linux โดยใช้ไฟล์ tarball ต้นฉบับ

ติดตั้ง Evince (โปรแกรมดู PDF)

มาติดตั้งโปรแกรม evince (โปรแกรมอ่าน PDF) สำหรับการดูไฟล์ PDF ในระบบ 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]

ดาวน์โหลดไฟล์ต้นฉบับ Wkhtmltopdf

ดาวน์โหลดไฟล์ต้นฉบับ wkhtmltopdf สำหรับสถาปัตยกรรม Linux ของคุณโดยใช้คำสั่ง Wget หรือคุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้ (ซีรีส์ที่เสถียรในปัจจุบันคือ 0.12.4) ได้ที่ หน้าดาวน์โหลด wkhtmltopdf

บนระบบปฏิบัติการ Linux 64 บิต
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
บนระบบปฏิบัติการ Linux 32 บิต
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz

ติดตั้ง Wkhtmltopdf ใน Linux

แยกไฟล์ไปยังไดเร็กทอรีการทำงานปัจจุบันโดยใช้คำสั่ง 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 https://linux-console.net/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

ดูไฟล์ PDF ที่สร้างขึ้น

ดูไฟล์ PDF ที่สร้างขึ้นใหม่โดยใช้โปรแกรม evince จากเดสก์ท็อป

evince 10-Sudo-Configurations.pdf
ภาพหน้าจอตัวอย่าง :

ดูค่อนข้างดีภายใต้กล่อง Linux Mint 17 ของฉัน

สร้าง TOC (สารบัญ) ของเพจเป็น PDF

หากต้องการสร้างสารบัญสำหรับไฟล์ PDF ให้ใช้ตัวเลือกเป็น toc

wkhtmltopdf toc https://linux-console.net/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