ไลบรารีการแปลง HTML เป็น PDF แบบโอเพ่นซอร์สใน Python
ลองใช้ Python API แบบโอเพ่นซอร์สและฟรีนี้เป็นไลบรารีการแปลง HTML เป็น PDF
WeasyPrint คืออะไร?
WeasyPrint เป็นไลบรารี Python แบบโอเพ่นซอร์สและเครื่องมือบรรทัดคำสั่งที่แปลงไฟล์ HTML และ CSS เป็นเอกสาร PDF ด้วยการเรนเดอร์คุณภาพสูง ทำให้เป็นเครื่องมืออเนกประสงค์สำหรับการสร้าง PDF จากเนื้อหาเว็บ WeasyPrint อนุญาตให้แปลงโค้ด HTML แบบอินไลน์ ไฟล์ HTML ในเครื่อง และ URL ของเว็บเป็นเอกสาร PDF ด้วยโค้ดบรรทัดเดียว
รายการคุณสมบัติโดยย่อที่รองรับโดย WeasyPrint มีดังต่อไปนี้:
- WeasyPrint รองรับข้อกำหนด CSS หลายประการที่เขียนโดย W3C
- ให้การสนับสนุนที่ครอบคลุมสำหรับ URL, HTML และแท็ก HTML ที่รองรับ
- WeasyPrint สามารถจัดการทรัพยากรภายนอก เช่น รูปภาพหรือสไตล์ชีต CSS ผ่านทางตัวดึง URL
- ตัวเรียกเริ่มต้นสามารถเปิดไฟล์และ URL HTTP ได้
- รองรับคุณสมบัติต่างๆ ที่เกี่ยวข้องกับการสร้าง PDF รวมถึงแบบอักษร, CSS, CSS ระดับ 2 การแก้ไข 1, ตัวเลือกระดับ 3/4 และข้อความ CSS
เริ่มต้นใช้งาน WeasyPrint
คุณต้องมี Python เวอร์ชัน 3.7.0 หรือสูงกว่าจึงจะติดตั้งและใช้ WeasyPrint ได้ ดังนั้น ขั้นแรกให้ติดตั้ง Python จากนั้นใช้คำสั่งด้านล่างเพื่อติดตั้ง WeasyPrint บนเครื่องของคุณโดยใช้ pip และ สภาพแวดล้อมเสมือน:
ติดตั้งบนลินุกซ์
python3 -m venv venv
source venv/bin/activate
pip install weasyprint
weasyprint --info
ติดตั้งบน Ubuntu 20.04 หรือสูงกว่า
apt install python3-pip libpango-1.0-0 libharfbuzz0b libpangoft2-1.0-0 libffi-dev libjpeg-dev libopenjp2-7-dev
ติดตั้งบน MacOS โดยใช้ Homebrew
brew install weasyprint
ติดตั้งบน Windows 11 64 บิต
python3 -m venv venv
venv\Scripts\activate.bat
python3 -m pip install weasyprint
python3 -m weasyprint --info
หมายเหตุ: สำหรับการติดตั้งบน Windows ติดตั้ง GTK3 ก่อนที่จะรันคำสั่งข้างต้น
แปลง HTML เป็น PDF ผ่าน URL ของเว็บ
เราสามารถแปลงหน้าเว็บ HTML เป็น PDF ด้วยโค้ดเพียงบรรทัดเดียวโดยใช้ไลบรารี WeasyPrint Python เราเพียงแค่ต้องนำเข้าคลาส HTML จากไลบรารี สร้างอ็อบเจ็กต์ของคลาส HTML ด้วย URL ของเว็บไซต์ และเรียกเมธอด write_pdf เพื่อแปลงเป็นเอกสาร PDF ด้วยชื่อที่ต้องการ
แปลง HTML เป็น PDF ผ่าน URL ของเว็บด้วย Inline CSS
นอกจากนี้เรายังสามารถแปลง URL ของเว็บไซต์เป็น PDF ด้วยสไตล์ชีตอินไลน์โดยใช้ไลบรารี WeasyPrint
บทสรุป
WeasyPrint เป็นไลบรารี Python แบบโอเพ่นซอร์สฟรีที่ใช้งานง่าย ซึ่งแปลง HTML และ CSS เป็นเอกสาร PDF คุณสามารถสร้างเทมเพลตที่ใช้ HTML สำหรับเอกสารที่จำเป็น จากนั้นส่งออกเป็น PDF ได้อย่างรวดเร็ว WeasyPrint มอบตัวเลือกการแปลงที่ยืดหยุ่นให้กับนักพัฒนาโดยอนุญาตให้พวกเขาแปลง HTML เป็น PDF จาก URL เว็บไซต์, ไฟล์ HTML ในเครื่อง, สตริงที่มีโค้ด HTML และวัตถุไฟล์ ฯลฯ
แม้แต่ WeasyPrint ก็เป็นตัวเลือกฟรีที่ยอดเยี่ยมในการแปลงเอกสาร HTML เป็น PDF สำหรับนักพัฒนา Python แม้ว่าในกรณีของโครงสร้าง HTML และ CSS ที่ซับซ้อน เอกสาร PDF ที่สร้างขึ้นอาจไม่แสดงผลด้วยความเที่ยงตรงสูง ซึ่งสามารถสร้างปัญหาให้กับผู้ใช้ที่มีข้อกำหนดที่เข้มงวดได้