วิธีการแยกข้อมูล PDF ใน Python: คู่มือที่ทรงพลังทีละขั้นตอน

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

บทความนี้ครอบคลุมหัวข้อดังต่อไปนี้:

Aspose.PDF: ไลบรารีตัว解析 PDF ที่ดีที่สุดสำหรับ Python

Aspose.PDF for Python เป็นหนึ่งในไลบรารีพาร์เซอร์ PDF สำหรับ Python ที่ดีที่สุดที่มีอยู่ในปัจจุบัน มันมีความแม่นยำสูง สนับสนุนการดึงข้อมูลที่มีโครงสร้าง และยังทำงานกับ PDF ที่สแกนผ่านการสนับสนุน OCR อีกด้วย

Aspose.PDF โดดเด่นในบรรดาห้องสมุด Python PDF parser ด้วยเหตุผลหลายประการ:

  • ความถูกต้องสูง: ดึงข้อความและตารางด้วยความแม่นยำ.
  • สนับสนุนข้อมูลที่มีโครงสร้าง: ทำงานร่วมกับตาราง รูปภาพ และข้อมูลเมตา.
  • ไม่มีการพึ่งพาภายนอก: ไลบรารีที่มีน้ำหนักเบาและเป็นอิสระ
  • หลายรูปแบบข้อมูล: แปลง PDFs เป็นข้อความ, XLSX, DOCX, HTML และรูปแบบภาพ.
  • ความปลอดภัยและความเชื่อถือได้: จัดการโครงสร้าง PDF ที่ซับซ้อนได้โดยไม่ทำให้ข้อมูลเสียหาย。

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

การติดตั้งและการตั้งค่า

การติดตั้ง Aspose.PDF for Python เป็นเรื่องง่าย ดาวน์โหลดได้จาก releases หรือรันคำสั่ง pip ด้านล่างนี้:

pip install aspose-pdf

เพื่อเริ่มใช้ Aspose.PDF ในแอปพลิเคชัน Python ของคุณ ให้นำเข้ามอดูลที่จำเป็น:

import aspose.pdf as ap

การดึงข้อความ: การวิเคราะห์ PDF ใน Python

การแยกวิเคราะห์ข้อความจาก PDF เป็นหนึ่งในฟีเจอร์หลักของไลบรารี Python PDF parser เราสามารถดึงข้อความจากทุกหน้าในเอกสาร PDF หรือจากหน้าที่เฉพาะเจาะจงหรือพื้นที่ของเอกสาร PDF ในส่วนถัดไป เราจะเรียนรู้วิธีการ:

แยกข้อความจากทุกหน้าของ PDF ใน Python

Aspose.PDF for Python ให้วิธีที่มีประสิทธิภาพในการดึงข้อความจากเอกสาร PDF โดยใช้คลาส Document และ TextAbsorber คลาส Document ใช้สำหรับโหลดไฟล์ PDF ข mientras คลาส TextAbsorber มีหน้าที่รับผิดชอบในการดึงเนื้อหาข้อความจากทุกหน้า เมธอด accept() จะประมวลผลแต่ละหน้าและดึงข้อความออกมา ซึ่งสามารถจัดเก็บหรือแสดงตามที่ต้องการได้

ขั้นตอนการดึงข้อความจากทุกหน้าใน PDF ด้วย Python

  1. โหลดเอกสาร PDF โดยใช้คลาส Document
  2. สร้างอินสแตนซ์ของคลาสต่าง TextAbsorber เพื่อจัดการการดึงข้อมูลข้อความ
  3. เรียกใช้เมธอด accept() บนคอลเล็กชัน pages เพื่อให้ TextAbsorber สามารถประมวลผลทุกหน้าได้
  4. ดึงข้อความที่ถูกถอดออกมาโดยใช้คุณสมบัติ text ของอินสแตนซ์ TextAbsorber
  5. Print the extracted text.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความจากทุกหน้าของ PDF ในภาษาไพธอน

# ตัวอย่างโค้ดนี้แสดงวิธีการดึงข้อความจากหน้า PDF เอกสารทั้งหมดใน Python
import aspose.pdf as ap

# เปิดเอกสาร PDF
document = ap.Document("AddText.pdf")

# Create text absorber
text_absorber = ap.text.TextAbsorber()

# เรียกใช้วิธี accept เพื่อประมวลผลทุกหน้า
document.pages.accept(text_absorber)

# ดึงข้อความที่ถูกดึงออกมา
extracted_text = text_absorber.text

# กำหนดเส้นทางไฟล์
file_path = "extracted-text.txt"

# เปิดไฟล์ในโหมดเขียนและเขียนข้อความที่ถูกดึงออกมา
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

แยกข้อความจากหน้าที่เฉพาะใน PDF

เราสามารถดึงข้อความจากหน้าเฉพาะของเอกสาร PDF ได้โดยการปรับเปลี่ยนวิธีการเล็กน้อย จากการประมวลผลเอกสารทั้งหมด คุณเพียงแค่ต้องเรียกใช้ วิธีการ accept() บนหน้าที่ต้องการของวัตถุ Document ระบุหมายเลขหน้าด้วยดัชนีของมัน และ Aspose.PDF จะดึงข้อความเฉพาะจากหน้านั้น วิธีนี้มีประโยชน์เมื่อทำงานกับ PDF ขนาดใหญ่ที่คุณต้องการข้อมูลจากส่วนเฉพาะ ซึ่งจะช่วยเพิ่มประสิทธิภาพและสมรรถนะ

ตัวอย่างโค้ดด้านล่างจะแสดงวิธีการวิเคราะห์ข้อความจากหน้าที่เฉพาะใน PDF ใน Python.

# รหัสตัวอย่างนี้แสดงวิธีการดึงข้อมูลข้อความจากหน้าที่เฉพาะในเอกสาร PDF ใน Python
import aspose.pdf as ap

# เปิดเอกสาร PDF
document = ap.Document("AddText.pdf")

# Create text absorber
text_absorber = ap.text.TextAbsorber()

# เรียกใช้วิธีการ accept เพื่อประมวลผลทุกหน้า
document.pages[1].accept(text_absorber)

# ดึงข้อความที่ดึงออกมา
extracted_text = text_absorber.text

# กำหนดเส้นทางไฟล์
file_path = "extracted-text.txt"

# เปิดไฟล์ในโหมดเขียนและเขียนข้อความที่ดึงออกมา
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

การแยกข้อความจากพื้นที่เฉพาะใน PDF

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

ขั้นตอนในการดึงข้อความจากพื้นที่หน้าที่เฉพาะเจาะจง

  1. โหลดเอกสาร PDF โดยใช้คลาส Document
  2. สร้างอินสแตนซ์ของ TextAbsorber คลาสเพื่อจับข้อความจากเอกสาร
  3. กำหนดพื้นที่เป้าหมายโดยใช้ TextSearchOptions.Rectangle ซึ่งระบุพื้นที่ที่จะดึงข้อความออกมา
  4. ใช้การดึงข้อมูลจากข้อความไปยังหน้าที่เฉพาะโดยการเรียกใช้ accept() เมธอดบนหน้าที่เลือก
  5. ดึงข้อความที่ถูกดึงออกมาจากคุณสมบัติ Text ของ TextAbsorber
  6. Process the output as needed.

ตัวอย่างโค้ดด้านล่างแสดงวิธีการแยกข้อความจากพื้นที่เฉพาะของหน้าสำหรับ PDF ใน Python.

# ตัวอย่างโค้ดนี้แสดงวิธีการดึงข้อความจากพื้นที่เฉพาะของหน้าในเอกสาร PDF โดยใช้ Python
import aspose.pdf as ap

# เปิดเอกสาร PDF
document = ap.Document("sample.pdf")

# สร้างวัตถุ TextAbsorber เพื่อดึงข้อความ
absorber = ap.text.TextAbsorber()
absorber.text_search_options.limit_to_page_bounds = True
absorber.text_search_options.rectangle = ap.Rectangle(100, 200, 250, 350, True)

# Accept the absorber for the first page
document.pages[1].accept(absorber)

# Get the extracted text
extracted_text = absorber.text

# กำหนดเส้นทางไฟล์
file_path = "extracted-text.txt"

# เปิดไฟล์ในโหมดเขียนและเขียนข้อความที่ดึงออกมา
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

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

การแยกข้อความจาก PDF หลายคอลัมน์

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

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

ขั้นตอนการดึงข้อความจากไฟล์ PDF หลายคอลัมน์ใน Python

  1. โหลดเอกสาร PDF โดยใช้คลาส Document
  2. สร้างอินสแตนซ์ของ TextFragmentAbsorber เพื่อระบุและแยกชิ้นส่วนข้อความแต่ละชิ้นจากเอกสาร
  3. ดึงทุกส่วนของข้อความที่ตรวจพบและลดขนาดฟอนต์ลง 70% เพื่อเพิ่มความถูกต้องในการดึงข้อมูล
  4. เก็บเอกสารที่แก้ไขในสตรีมหน่วยความจำเพื่อหลีกเลี่ยงการบันทึกไฟล์กลาง.
  5. โหลด PDF จากสตรีมหน่วยความจำเพื่อประมวลผลข้อความที่ปรับแต่งแล้ว
  6. ใช้ TextAbsorber เพื่อดึงข้อความที่มีโครงสร้างจากเอกสารที่แก้ไขแล้ว
  7. บันทึกข้อความที่ถูกดึงออกมาไว้ในไฟล์ .txt เพื่อใช้ต่อไป

ตัวอย่างรหัสต่อไปนี้แสดงวิธีดึงข้อความจาก PDF หลายคอลัมน์ในขณะที่รักษาเลย์เอาท์ไว้

# ตัวอย่างโค้ดนี้แสดงวิธีการดึงข้อความจาก PDF หลายคอลัมน์ใน Python
import io
import aspose.pdf as ap

# เปิดเอกสาร PDF
document = ap.Document("multi-column-sample.pdf")

# สร้างวัตถุ TextFragmentAbsorber เพื่อดึงข้อความ
text_fragment_absorber = ap.text.TextFragmentAbsorber()

# Accept the absorber for the first page
document.pages.accept(text_fragment_absorber)

# รับชุดของตอนข้อความที่ถูกดึงออกมา
text_fragment_collection = text_fragment_absorber.text_fragments

# ลดขนาดฟอนต์ลงอย่างน้อย 70% เพื่อปรับปรุงการดึงข้อความ
for text_fragment in text_fragment_collection:
    text_fragment.text_state.font_size *= 0.7

# บันทึกเอกสารที่แก้ไขลงในสตรีมในหน่วยความจำ
source_stream = io.BytesIO()
document.save(source_stream)

# โหลดเอกสารจากสตรีมหน่วยความจำใหม่
source_stream.seek(0)
dest_document = ap.Document(source_stream)

# สร้าง TextAbsorber เพื่อดึงข้อความที่ปรับปรุงแล้ว
text_absorber = ap.text.TextAbsorber()
dest_document.pages.accept(text_absorber)
extracted_text = text_absorber.text

# บันทึกข้อความที่ถอดออกมาไปยังไฟล์
with open("ExtractColumnsText_out.txt", "w", encoding="utf-8") as file:
    file.write(extracted_text)

วิธีนี้ช่วยให้ข้อความที่ถูกดึงจากไฟล์ PDF หลายคอลัมน์คงรูปแบบเดิมไว้อย่างแม่นยำที่สุดเท่าที่จะเป็นไปได้

การวิเคราะห์ข้อความที่เพิ่มขึ้นด้วย ScaleFactor

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

ด้วยการใช้ตัวเลือก ScaleFactor เราสามารถปรับแต่งกริดข้อความภายในเพื่อความแม่นยำที่ดียิ่งขึ้น ค่าขนาดระหว่าง 1 และ 0.1 จะทำงานเหมือนการลดฟอนต์ ช่วยให้การจัดตำแหน่งข้อความที่ถูกดึงออกมาเรียบร้อย ค่าระหว่าง 0.1 ถึง -0.1 จะถูกถือว่าเป็นศูนย์ ทำให้สามารถปรับขนาดอัตโนมัติตามความกว้างเฉลี่ยของตัวอักษรฟอนต์ที่ใช้มากที่สุดในหน้า หากไม่มีการตั้งค่า ScaleFactor ค่าเริ่มต้น 1.0 จะถูกนำไปใช้ ซึ่งทำให้ไม่มีการปรับเปลี่ยนขนาด สำหรับการดึงข้อความขนาดใหญ่ แนะนำให้ใช้การปรับขนาดอัตโนมัติ (ScaleFactor = 0) แต่การตั้งค่า ScaleFactor = 0.

ขั้นตอนในการสกัดข้อความจากหน้าที่เฉพาะด้วยปัจจัยการขยาย

  1. โหลดเอกสาร PDF โดยใช้คลาส Document
  2. สร้างอินสแตนซ์ของ TextAbsorber เพื่อดึงข้อความออกมา.
  3. ตั้งค่า TextExtractionOptions เป็นโหมดการจัดรูปแบบ PURE เพื่อการดึงข้อมูลที่แม่นยำ
  4. ปรับ scalefactor เพื่อปรับให้เหมาะสมกับการรับรู้ข้อความในไฟล์ PDF หลายคอลัมน์
  5. เรียกใช้ accept() กับคอลเล็กชัน pages เพื่อดึงข้อความออกมา
  6. บันทึกเนื้อหาที่ถูกดึงออกมาในไฟล์ข้อความ
# โค้ดตัวอย่างนี้แสดงวิธีการดึงข้อความจากพื้นที่เฉพาะของหน้าในเอกสาร PDF โดยใช้ Python
import aspose.pdf as ap

# เปิดเอกสาร PDF
document = ap.Document("sample.pdf")

# เริ่มต้น TextAbsorber ด้วยตัวเลือกการแยกข้อความ
text_absorber = ap.text.TextAbsorber()

# ตั้งค่าตัวเลือกการสร้างชุดข้อมูล
extraction_options = ap.text.TextExtractionOptions(ap.text.TextExtractionOptions.TextFormattingMode.PURE)
extraction_options.scale_factor = 0.5  # Adjusts text recognition for better column detection
text_absorber.extraction_options = extraction_options

# ดึงข้อความจากหน้าที่ระบุ
document.pages.accept(text_absorber)

# Get extracted text
extracted_text = text_absorber.text

# บันทึกข้อความที่ดึงออกมาไปยังไฟล์
with open("ExtractTextUsingScaleFactor_out.txt", "w", encoding="utf-8") as file:
    file.write(extracted_text)

การวิเคราะห์ข้อความใน PDF: วิธีการทางเลือก

Aspose.PDF for Python ยังมีวิธีการอื่นในการดึงข้อความโดยการใช้คลาส TextDevice โปรดอ่านเพิ่มเติมเกี่ยวกับ extracting text from PDF using the TextDevice.

วิธีการ解析ตารางจาก PDF ใน Python

การวิเคราะห์ตารางจาก PDF เป็นสิ่งสำคัญสำหรับการวิเคราะห์ข้อมูล, การทำงานอัตโนมัติ, และการรายงาน PDF มักประกอบด้วยข้อมูลที่มีโครงสร้างในรูปแบบตาราง ซึ่งอาจเป็นเรื่องท้าทายในการดึงข้อมูลโดยใช้วิธีการสกัดข้อความมาตรฐาน โชคดีที่ Aspose.PDF for Python มีวิธีที่ทรงพลังในการดึงตารางด้วยความแม่นยำสูง โดยรักษาโครงสร้างและเนื้อหาของตารางไว้

คลาส TableAbsorber ได้รับการออกแบบมาโดยเฉพาะเพื่อการตรวจจับและดึงตารางจากหน้า PDF มันจะประมวลผลแต่ละหน้า ระบุตาราง และดึงแถวและเซลล์แต่ละตัวในขณะที่รักษาโครงสร้างของพวกมันไว้ ด้านล่างนี้คือขั้นตอนในการดึงตารางจากเอกสาร PDF โดยใช้ Aspose.PDF for Python

ขั้นตอนในการแยกตารางจาก PDF ใน Python

  1. โหลดไฟล์ PDF ที่มีตารางโดยใช้คลาส Document
  2. ทำการวนลูปผ่านคอลเลกชัน pages ของเอกสารเพื่อประมวลผลแต่ละหน้าแยกกัน。
  3. สร้างอินสแตนซ์ของคลาส TableAbsorber เพื่อตรวจจับและดึงข้อมูลตารางออกมา।
  4. เรียกใช้เมธอด visit() เพื่อระบุตารางบนหน้าเว็บปัจจุบัน。
  5. ทำซ้ำในรายการของตารางที่ดึงออกมาและดึงแถวและเซลล์ออกมา。
  6. เข้าถึง textfragments ของแต่ละเซลล์และดึงข้อความโดยใช้คุณสมบัติ segments
  7. บันทึกข้อมูลตารางที่แยกออกมาเพื่อการวิเคราะห์เพิ่มเติมหรือแสดงในคอนโซล
# ตัวอย่างโค้ดนี้แสดงวิธีการดึงตารางจากเอกสาร PDF ในภาษา Python
import aspose.pdf as ap

# โหลดไฟล์ PDF
document = pdf.Document("sample.pdf")

# ดำเนินการทุกหน้า
for page in document.pages:
    # กำหนดค่าอ็อบเจ็กต์ TableAbsorber
    absorber = ap.text.TableAbsorber()
    # ระบุตารางในหน้านี้
    absorber.visit(page)
    # วนซ้ำผ่านตารางที่ดึงออกมา
   for table in absorber.table_list:
        # ทำซ้ำผ่านทุกแถวในตาราง
       for row in table.row_list:
            # ทำซ้ำผ่านทุกคอลัมน์ในแถว
           for cell in row.cell_list:
                # Fetch the text fragments
                text_fragment_collection = cell.text_fragments
                # ทำซ้ำผ่านส่วนต่าง ๆ ของข้อความ
               for fragment in text_fragment_collection:
                    # Print the text
                    print(fragment.text)

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

วิเคราะห์ข้อมูลเมทาดาต้า PDF: ดึงข้อมูลไฟล์ PDF ใน Python

เมื่อทำงานกับไฟล์ PDF มักจำเป็นต้องดึงข้อมูลเมตาดาต้าต่างๆ เช่น ผู้เขียน วันที่สร้าง คำสำคัญ และ ชื่อเรื่อง Aspose.PDF for Python ทำให้สิ่งนี้ง่ายขึ้นโดยการให้การเข้าถึงวัตถุ DocumentInfo ผ่านคุณสมบัติ Info ของคลาส Document ซึ่งช่วยให้คุณสามารถดึงคุณสมบัติเอกสารที่สำคัญได้อย่างเป็นระบบ

ขั้นตอนในการแยกเมตะดาต้าจาก PDF

  1. ใช้คลาส Document เพื่อเปิดไฟล์ PDF ที่ต้องการ
  2. การดึงวัตถุ DocumentInfo โดยใช้คุณสมบัติ info .
  3. เข้าถึงรายละเอียดเฉพาะ เช่น ผู้เขียน วันสร้างสรรค์ ชื่อเรื่อง หัวข้อ และคำสำคัญ
  4. พิมพ์ข้อมูลเมตาหรือบันทึกเพื่อการประมวลผลเพิ่มเติม

สคริปต์ Python ต่อไปนี้แสดงวิธีการดึงข้อมูลสำคัญและแสดงรายละเอียดจากไฟล์ PDF ใน Python:

# ตัวอย่างโค้ดนี้แสดงวิธีการดึงข้อมูลไฟล์ใน Python
import aspose.pdf as ap

# โหลดเอกสาร PDF
document = ap.Document("Sample.pdf")

# ดึงข้อมูลเอกสาร
doc_info = document.info

# แสดงข้อมูลเมตาของเอกสาร
print(f"Author: {doc_info.author}")
print(f"Creation Date: {doc_info.creation_date}")
print(f"Keywords: {doc_info.keywords}")
print(f"Modify Date: {doc_info.mod_date}")
print(f"Subject: {doc_info.subject}")
print(f"Title: {doc_info.title}")

การแยกภาพจากไฟล์ PDF โดยใช้ Python

เราสามารถแยกเอกสาร PDF และดึงรูปภาพที่ฝังอยู่ในเอกสารอย่างมีประสิทธิภาพ เราสามารถดึงรูปภาพคุณภาพสูงจากหน้าที่เฉพาะและบันทึกแยกไว้เพื่อการใช้งานต่อไป

แต่ละหน้า PDF จะจัดเก็บภาพภายในคอลเลกชันทรัพยากร โดยเฉพาะภายในคอลเลกชัน XImage เพื่อดึงภาพออกมา ให้เข้าถึงหน้าที่ต้องการ, ดึงภาพจากคอลเลกชัน Images โดยใช้ดัชนีของมัน และบันทึกภาพนั้น

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

  1. โหลดไฟล์ PDF ที่มีภาพโดยใช้คลาส Document
  2. ดึงหน้าที่เฉพาะที่คุณต้องการสร้างภาพจาก
  3. เข้าถึงคอลเลกชัน Images ของทรัพยากรของหน้าและระบุดัชนีของภาพ
  4. บันทึกภาพที่ถูกดึงออกมาโดยใช้สตรีม。

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

# ตัวอย่างโค้ดนี้แสดงวิธีการดึงภาพออกจาก PDF ใน Python
import aspose.pdf as ap

# เปิดเอกสาร
document = ap.Document("Sample.pdf")

# Extract a particular image (first image from the first page)
x_image = document.pages[1].resources.images[1]

# กำหนดเส้นทางของภาพผลลัพธ์
output_image_path = "OutputImage.jpg"

# บันทึกรูปภาพที่ถูกดึงออกมา
with open(output_image_path, "wb") as output_image:
    output_image.write(x_image.to_stream().read())

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

วิธีการแยกวิเคราะห์คำอธิบายประกอบ PDF ใน Python

Annotations in PDFs enhance document interaction by adding highlights, figures, and sticky notes. Each annotation type serves a specific purpose, and Aspose.PDF for Python makes it easy to extract them for analysis or processing.

การวิเคราะห์คำอธิบายข้อความจาก PDF ใน Python

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

ขั้นตอนในการแยกข้อความอ Annotation จาก PDF

  1. โหลดเอกสาร PDF ด้วยคลาส Document
  2. ดึงคุณสมบัติ annotations ของหน้าที่เฉพาะเพื่อนำเสนอการอ้างอิงทั้งหมดในหน้านั้น
  3. ทำซ้ำผ่านการหมายเหตุและกรองหมายเหตุที่มี AnnotationType.TEXT.
  4. ดึงข้อมูลที่เกี่ยวข้องเช่นตำแหน่งคำอธิบาย (rect) สำหรับการประมวลผลหรือแสดงผลต่อไป.
import aspose.pdf as ap

# โหลดเอกสาร PDF
document = ap.Document("annotations.pdf")

# วนรอบผ่านหมายเหตุทั้งหมดในหน้าที่หนึ่ง
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.TEXT:
        # พิมพ์รายละเอียดการอ annotation
        print(f"Title: {annotation.full_name}")
        print(f"Contents: {annotation.contents}")
        print(f"Annotation Rectangle: {annotation.rect}")

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

สำรวจเพิ่มเติมเกี่ยวกับ การทำงานกับ PDF Text Annotation ใน Python โดยการเยี่ยมชมคู่มือที่เป็นทางการ。

วิเคราะห์ข้อความที่เน้นจากไฟล์ PDF ในภาษา Python

ในหลายกรณี คุณอาจจำเป็นต้องดึงเฉพาะข้อความที่เน้นจาก PDF แทนที่จะเป็นเนื้อหาทั้งหมด ไม่ว่าคุณกำลังวิเคราะห์โน้ตที่สำคัญ สรุปจุดสำคัญ หรือทำให้กระบวนการเอกสารอัตโนมัติ Aspose.PDF for Python ทำให้สามารถดึงข้อความที่เน้นอย่างมีประสิทธิภาพได้ง่าย ๆ

การเน้นการอ Annotation ทำเครื่องหมายข้อความที่สำคัญ ซึ่งมักใช้สำหรับการตรวจสอบหรือบันทึกการศึกษา คุณสามารถดึงข้อความที่ถูกเน้นและคุณสมบัติ เช่น สีและตำแหน่ง โดยใช้คลาส HighlightAnnotation

เราสามารถแยกข้อความที่เน้นในเอกสาร PDF ได้โดยการทำตามขั้นตอนที่กล่าวถึงข้างต้น อย่างไรก็ตามเราจำเป็นต้องระบุเพียง AnnotationType.HIGHLIGHT ในขั้นตอนที่ 3 เท่านั้น

ตัวอย่างต่อไปนี้แสดงให้เห็นว่าการกรองและดึงข้อความที่ไฮไลต์จาก PDF ทำได้อย่างไร

import aspose.pdf as ap

# โหลดเอกสาร PDF
document = ap.Document("annotations.pdf")

# วนลูปผ่านหมายเหตุทั้งหมดในหน้าที่หนึ่ง
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.HIGHLIGHT:
        # พิมพ์รายละเอียดคำอธิบาย
        print(f"Title: {annotation.full_name}")
        print(f"Annotation Rectangle: {annotation.rect}")

เรียนรู้เพิ่มเติมเกี่ยวกับ การทำงานกับ PDF Highlights Annotation ใน Python โดยการเยี่ยมชมคู่มืออย่างเป็นทางการ。

การแยกแยะข้อคิดเห็นในรูปภาพ PDF ด้วย Python

การแสดงความคิดเห็นในรูปภาพรวมถึงองค์ประกอบกราฟิกเช่น รูปทรง, การวาดภาพ, หรือ แสตมป์ที่ใช้เพื่อเน้นหรืออธิบาย การดึงข้อมูลความคิดเห็นเหล่านี้เกี่ยวข้องกับการระบุ InkAnnotation หรือ StampAnnotation และการเรียกคืนเส้นทางการวาดหรือรูปภาพของพวกเขา

ในการวิเคราะห์การอนุญาตในเอกสาร PDF ให้ทำตามขั้นตอนที่ได้อธิบายไว้ก่อนหน้านี้ การปรับเปลี่ยนเพียงอย่างเดียวที่จำเป็นคือการระบุ AnnotationType.LINE ในขั้นตอนที่ 3

ตัวอย่างต่อไปนี้จะแสดงให้เห็นถึงวิธีการแยกวิเคราะห์การแสดงความคิดเห็นในเอกสาร PDF โดยใช้ Python.

import aspose.pdf as ap

# โหลดเอกสาร PDF
document = ap.Document("annotations.pdf")

# วนซ้ำผ่านการหมายเหตุทั้งหมดในหน้าที่หนึ่ง
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.LINE:
        # พิมพ์รายละเอียดคำอธิบาย
        print(f"Annotation Rectangle: {annotation.rect}")

อ่านเพิ่มเติมเกี่ยวกับ working with PDF Figures Annotations in Python here.

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

ในการดึงการอ้างอิงลิงก์จาก PDF ให้ทำตามขั้นตอนเดียวกันกับก่อนหน้านี้ แต่ในขั้นตอนที่ 3 ให้แน่ใจว่าได้ระบุ AnnotationType.LINK ซึ่งจะทำให้มั่นใจว่าได้เพียงการอ้างอิงลิงก์เท่านั้นที่ถูกดึงมา

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการวิเคราะห์การตั้งค่าลิงก์ใน PDF โดยใช้ Python。

import aspose.pdf as ap

# โหลดเอกสาร PDF
document = ap.Document("annotations.pdf")

# วนซ้ำผ่านทุกการทำเครื่องหมายบนหน้าที่หนึ่ง
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.LINK:
        # พิมพ์รายละเอียดคำอธิบาย
        print(f"Annotation Rectangle: {annotation.rect}")

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

Read the complete details on handling Link Annotations in PDFs here.

ข้อสรุป

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

ลองใช้ตัวอย่างโค้ดที่ให้ไว้และเริ่มการแยกข้อมูลจาก PDF และทำให้ภารกิจการแยก PDF ของคุณใน Python ง่ายขึ้น!

ในกรณีที่มีคำถามหรือจำเป็นต้องขอความช่วยเหลือเพิ่มเติม กรุณาอย่าลังเลที่จะติดต่อเราที่ free support forum.

ดูเพิ่มเติม