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
GitHub

สถิติ GitHub

ชื่อ:
ภาษา:
ดาว:
ส้อม:
ใบอนุญาต:
พื้นที่เก็บข้อมูลได้รับการอัปเดตครั้งล่าสุดเมื่อ

เริ่มต้นใช้งาน 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 อย่างถูกต้อง

สินค้าที่คล้ายกัน

 Thai