แยกรูปภาพจาก pdf ใน python

รูปภาพมักใช้ในเอกสาร PDF ร่วมกับข้อความ ซึ่งทำให้เนื้อหาน่าสนใจและละเอียดยิ่งขึ้น ขณะประมวลผลและวิเคราะห์เอกสาร PDF คุณอาจต้องแยกรูปภาพด้วย ดังนั้นในบทความนี้ เราจะสาธิตวิธีการประมวลผลไฟล์ PDF และแยกรูปภาพโดยทางโปรแกรมใน Python คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดจะสาธิตกระบวนการแยกรูปภาพทั้งหมด

Python Library เพื่อแยกรูปภาพจาก PDF

ในการแยกรูปภาพออกจากไฟล์ PDF เราจะใช้ Aspose.Words for Python เป็นห้องสมุดที่ทรงพลังและเต็มไปด้วยคุณสมบัติในการสร้างและจัดการเอกสารข้อความรวมถึง PDF และ DOCX คุณสามารถติดตั้งไลบรารีได้จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้

> pip install aspose-words

ขั้นตอนในการแยกรูปภาพจาก PDF

Aspose.Words for Python ให้คุณแยกรูปภาพออกจากไฟล์ PDF ภายในไม่กี่ขั้นตอนง่ายๆ ต่อไปนี้เป็นเวิร์กโฟลว์ของวิธีการแยกรูปภาพจาก PDF โดยใช้ Aspose.Words for Python

  • โหลดไฟล์ PDF จากตำแหน่งที่ต้องการ
  • แปลง PDF เป็นรูปแบบ DOCX
  • ประมวลผล PDF เวอร์ชัน DOCX และแยกรูปภาพ
  • บันทึกแต่ละภาพเป็นไฟล์ไปยังตำแหน่งที่ต้องการ

ส่วนต่อไปนี้จะสาธิตวิธีแปลงขั้นตอนที่กล่าวถึงข้างต้นเป็นโค้ด Python และแยกรูปภาพออกจาก PDF

แยกรูปภาพจาก PDF ใน Python

ในขั้นตอนการแยกรูปภาพ ก่อนอื่นเราจะแปลงไฟล์ PDF เป็นรูปแบบ DOCX ในไฟล์ DOCX รูปภาพจะแสดงโดยโหนดรูปร่าง ดังนั้นเราจะประมวลผลแต่ละรูปร่างและดึงรูปภาพออกมา

ต่อไปนี้เป็นขั้นตอนในการแยกรูปภาพจาก PDF ใน Python

  • ขั้นแรก ให้โหลดไฟล์ PDF โดยใช้คลาส Document
  • จากนั้น บันทึก PDF ในรูปแบบ DOCX และโหลดไฟล์ PDF เวอร์ชัน DOCX
  • ดึงรูปร่างทั้งหมดเป็นวัตถุโดยใช้เมธอด Document.getchildnodes(NodeType.SHAPE, True)
  • วนซ้ำรูปร่างและดำเนินการต่อไปนี้สำหรับแต่ละโหนดรูปร่าง:
    • แปลงรูปร่างเป็นประเภท Shape โดยใช้วิธี asshape()
    • ใช้เมธอด Shape.hasimage() เพื่อตรวจสอบว่ารูปร่างมีรูปภาพหรือไม่
    • แยกรูปภาพออกจากรูปร่างและบันทึกโดยใช้เมธอด Shape.imagedata.save(string)

ตัวอย่างโค้ดต่อไปนี้สาธิตการแยกรูปภาพจากเอกสาร PDF ใน Python

# นำเข้า Aspose.Words สำหรับโมดูล Python
import aspose.words as aw

# โหลดไฟล์ PDF และแปลงเป็นรูปแบบ Word DOCX
pdf = aw.Document("document.pdf")
pdf.save("pdf.docx")

# โหลด PDF เวอร์ชัน DOCX
doc = aw.Document("pdf.docx")

# ดึงรูปร่างทั้งหมด
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
imageIndex = 0

# วนรอบรูปร่าง
for shape in shapes :
    shape = shape.as_shape()
    if (shape.has_image) :

        # ตั้งชื่อไฟล์ภาพ
        imageFileName = f"Image.ExportImages.{imageIndex}_{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"

        # บันทึกภาพ
        shape.image_data.save(imageFileName)
        imageIndex += 1

Python PDF Image Extraction Library - รับใบอนุญาตฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อแยกรูปภาพจาก PDF โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในขณะที่วิเคราะห์เอกสาร PDF จะต้องแยกรูปภาพพร้อมกับข้อความด้วย ในบทความนี้ คุณได้เรียนรู้วิธีแยกรูปภาพจาก PDF ใน Python คุณสามารถติดตั้ง Aspose.Words for Python และรวมการแยกรูปภาพในแอปพลิเคชันของคุณ

สำรวจไลบรารีการแยกรูปภาพ PDF ของ Aspose

Aspose.Words for Python มีคุณสมบัติอื่นๆ มากมายเพื่อจัดการเอกสารข้อความ คุณสามารถไปที่ เอกสารประกอบ เพื่อสำรวจเพิ่มเติมเกี่ยวกับห้องสมุด ในกรณีที่คุณมีคำถามใดๆ โปรดแจ้งให้เราทราบผ่านทาง ฟอรัม ของเรา

ดูสิ่งนี้ด้วย