PyMuPDF
ไลบรารี่โอเพ่นซอร์ส Python สำหรับจัดการข้อมูลเมตาของ PDF
ลองใช้ PyMuPDF ซึ่งเป็นไลบรารี Python โอเพนซอร์สฟรีสำหรับเข้าถึงและแก้ไขข้อมูลเมตาของเอกสาร PDF
PyMuPDF คืออะไร?
PyMuPDF หรือที่รู้จักกันในชื่อ Fitz เป็นไลบรารี่ Python โอเพ่นซอร์สที่มีฟีเจอร์มากมาย เช่น การแยกวิเคราะห์ PDF การแยกและรวม PDF เป็นต้น แต่ในหน้านี้เราจะพูดถึงเฉพาะวิธีที่นักพัฒนา Python จะใช้ไลบรารี่ PyMuPDF เพื่อจัดการงานที่เกี่ยวข้องกับข้อมูลเมตาของ PDF เช่น:
- อ่านข้อมูลเมตาของ PDF: PyMuPDF รองรับการเข้าถึงข้อมูลเมตาของเอกสาร PDF ที่มีข้อมูลเช่น ผู้เขียน ชื่อเรื่อง หัวเรื่อง และวันที่สร้าง เป็นต้น
- แก้ไขข้อมูลเมตาของ PDF: นอกจากนี้ไลบรารียังอนุญาตให้แก้ไขข้อมูลเมตาของเอกสาร PDF ได้อีกด้วย
- อ่านข้อมูลเมตา XML: เอกสาร PDF ยังมีข้อมูลเมตา XML ซึ่งไม่จำกัดอยู่แค่คุณสมบัติเอกสารมาตรฐาน เช่น ผู้เขียน ชื่อเรื่อง เป็นต้น และอาจมีข้อมูลเมตาเพิ่มเติมได้ด้วย ด้วย PyMuPDF นักพัฒนาสามารถอ่านข้อมูลดังกล่าวได้เช่นกัน
- เปลี่ยนแปลงข้อมูลเมตา XML: นักพัฒนายังสามารถเปลี่ยนแปลงข้อมูลเมตา XML ของ PDF ได้โดยใช้ไลบรารี PyMuPDF
เริ่มต้นใช้งาน PyMuPDF
คุณต้องใช้ Python เวอร์ชัน 3.8.0 ขึ้นไปจึงจะติดตั้งและใช้ PyMuPDF ได้ ดังนั้น ให้ติดตั้ง Python ก่อน จากนั้นใช้คำสั่งด้านล่างเพื่อติดตั้ง PyMuPDF บนเครื่องของคุณโดยใช้ pip และ สภาพแวดล้อมเสมือน
ลินุกซ์
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
ระบบปฏิบัติการ MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
หน้าต่าง
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
อ่านข้อมูลเมตา PDF
เราสามารถอ่านข้อมูลเมตาของ PDF ได้โดยใช้สมาชิก metadata ของไลบรารี PyMuPDF ซึ่งประกอบด้วยเนื้อหาข้อมูลเมตาทั้งหมดของเอกสาร ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการรับข้อมูลเมตาของ PDF จากสมาชิก metadata:
เอาท์พุต
ภาพหน้าจอด้านล่างแสดงข้อมูลเมตาที่ดึงมาจาก PDF โดยใช้ PyMuPDF:
แก้ไขข้อมูลเมตา PDF
เราสามารถแก้ไขข้อมูลเมตาของ PDF ได้โดยใช้ไลบรารี PyMuPDF โดยการส่งพจนานุกรมที่มีฟิลด์ที่เราต้องการเปลี่ยนแปลงพร้อมกับค่าใหม่ไปยังวิธี set_metadata ดังที่แสดงในตัวอย่างโค้ดด้านล่าง:
อ่านข้อมูลเมตา XML ของ PDF
เราสามารถเรียกข้อมูลเมตา XML ของ PDF ได้โดยใช้ไลบรารี PyMuPDF เราใช้เมธอด get_xml_metadata ซึ่งจะส่งคืนข้อมูลเมตา XML ทั้งหมดตามที่แสดงในโค้ดตัวอย่างด้านล่าง:
เอาท์พุต
ภาพหน้าจอด้านล่างแสดงข้อมูลเมตา XML ที่ดึงมาจาก PDF โดยใช้ PyMuPDF:
การเปลี่ยนแปลงข้อมูลเมตา XML ของ PDF
เราสามารถตั้งค่าหรือเปลี่ยนแปลงข้อมูลเมตา XML ของ PDF ได้โดยใช้เมธอด set_xml_metadata ของไลบรารี PyMuPDF วิธีนี้ไม่ได้ตรงไปตรงมาเหมือนกับการแทนที่ข้อมูลเมตาในระดับเอกสาร เนื่องจาก set_xml_metadata จะยอมรับสตริงใดๆ ก็ได้และแทนที่ข้อมูลเมตา XML ทั้งหมดด้วยสตริงที่ส่งมาให้
เพื่อหลีกเลี่ยงการลบข้อมูลเมตาเดตาโดยไม่ได้ตั้งใจ เราจะดึงข้อมูลเมตาเดตา XML ทั้งหมดในรูปแบบสตริงโดยใช้ get_xml_metadata ก่อน จากนั้นจึงใช้เมธอด replace ของสตริงเพื่อแทนที่ข้อมูลที่ต้องการ ในที่สุด เราจะส่ง XML ทั้งหมดที่มีฟิลด์ที่เปลี่ยนแปลงไปยังเมธอด set_xml_metadata ซึ่งจะเปลี่ยนข้อมูลเมตาเดตา XML ทั้งหมดของ PDF ดูรายละเอียดได้ในโค้ดด้านล่าง:
บทสรุป
โดยสรุป PyMuPDF เป็นเครื่องมือที่ยอดเยี่ยมสำหรับงานที่เกี่ยวข้องกับการจัดการข้อมูลเมตา เราสามารถดึงและเปลี่ยนแปลงข้อมูลเมตาของ PDF ได้อย่างง่ายดาย อย่างไรก็ตาม จุดอ่อนที่เห็นได้ชัดอยู่ที่เมธอด set_xml_metadata เมธอดนี้ยอมรับสตริงใดๆ ที่ส่งมาให้และเขียนทับ XML ก่อนหน้าด้วย ซึ่งอาจทำให้สูญเสียข้อมูลโดยไม่ได้ตั้งใจเพื่อหลีกเลี่ยงปัญหานี้ นักพัฒนาจำเป็นต้องนำตรรกะของตนไปใช้เพื่อให้แน่ใจว่ามีการปรับเปลี่ยนข้อมูลเมตาของ XML อย่างถูกต้อง
สินค้าที่คล้ายกัน
- Mutagen Python Library - จัดการข้อมูลเมตาของเสียงได้อย่างง่ายดาย
- OpenPyXL API - จัดการข้อมูลเมตาของ Excel ได้อย่างง่ายดาย
- pdf-lib สำหรับ JavaScript | จัดการข้อมูลเมตาของ PDF ได้อย่างง่ายดาย
- pyExifTool | โอเพ่นซอร์ส Python API สำหรับข้อมูลเมตาของเอกสาร
- PyLightXL API – จัดการข้อมูลเมตาของไฟล์ Excel อย่างมีประสิทธิภาพ