
การแยกข้อมูลจาก PDF หมายถึงการดึงข้อมูลที่มีโครงสร้างหรือไม่มีโครงสร้างจากไฟล์ PDF ออก ซึ่งอาจเป็นเรื่องท้าทายเนื่องจากโครงสร้างที่ซับซ้อนของ PDF ต่างจากข้อความธรรมดาหรือรูปแบบที่มีโครงสร้างเช่น JSON และ XML PDF จัดเก็บเนื้อหาในลักษณะที่ไม่เสมอไปตามลำดับเชิงเส้น การดึงข้อความ ตาราง รูปภาพ และข้อมูลเมตาต้องการไลบรารีตัวแยก PDF ของ Python ที่เชื่อถือได้ แม่นยำ และมีประสิทธิภาพ ในบทความนี้เราจะเรียนรู้วิธีการแยก PDF ใน Python โดยใช้ Aspose.PDF for Python เมื่อสิ้นสุดคู่
บทความนี้ครอบคลุมหัวข้อดังต่อไปนี้:
- Aspose.PDF: ไลบรารีการแยกพีดีเอฟที่ดีที่สุดใน Python
- วิเคราะห์ PDF และแยกข้อความใน Python
- วิธีการแยกวิเคราะห์ตารางจาก PDF ใน Python
- วิเคราะห์ข้อมูลเมตาของ PDF: รับข้อมูลไฟล์ PDF ในภาษาไพธอน
- การแยกภาพจาก PDF ในภาษา Python
- วิธีการแยกวิเคราะห์คำอธิบาย PDF ใน 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 ในส่วนถัดไป เราจะเรียนรู้วิธีการ:
- การ parsing ข้อความจากทุกหน้าของ PDF ใน Python
- แยกข้อมูลจากหน้าเฉพาะใน PDF
- แยกข้อความจากพื้นที่เฉพาะใน PDF
- การดึงข้อความจาก PDF หลายคอลัมน์
- การแปลข้อความที่ปรับปรุงด้วย ScaleFactor
- แยกข้อความใน PDF: วิธีการทางเลือก
แยกข้อความจากทุกหน้าของ PDF ใน Python
Aspose.PDF for Python ให้วิธีที่มีประสิทธิภาพในการดึงข้อความจากเอกสาร PDF โดยใช้คลาส Document
และ TextAbsorber
คลาส Document
ใช้สำหรับโหลดไฟล์ PDF ข mientras คลาส TextAbsorber
มีหน้าที่รับผิดชอบในการดึงเนื้อหาข้อความจากทุกหน้า เมธอด accept()
จะประมวลผลแต่ละหน้าและดึงข้อความออกมา ซึ่งสามารถจัดเก็บหรือแสดงตามที่ต้องการได้
ขั้นตอนการดึงข้อความจากทุกหน้าใน PDF ด้วย Python
- โหลดเอกสาร PDF โดยใช้คลาส
Document
- สร้างอินสแตนซ์ของคลาสต่าง
TextAbsorber
เพื่อจัดการการดึงข้อมูลข้อความ - เรียกใช้เมธอด
accept()
บนคอลเล็กชันpages
เพื่อให้TextAbsorber
สามารถประมวลผลทุกหน้าได้ - ดึงข้อความที่ถูกถอดออกมาโดยใช้คุณสมบัติ
text
ของอินสแตนซ์TextAbsorber
- 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
ซึ่งกำหนดพิกัดของภูมิภาคที่ต้องการ โดยการระบุขอบเขตนี้ เราสามารถดึงข้อความเฉพาะจากพื้นที่ที่เลือก โดยไม่รวมเนื้อหาที่เหลือของหน้า
ขั้นตอนในการดึงข้อความจากพื้นที่หน้าที่เฉพาะเจาะจง
- โหลดเอกสาร PDF โดยใช้คลาส
Document
- สร้างอินสแตนซ์ของ
TextAbsorber
คลาสเพื่อจับข้อความจากเอกสาร - กำหนดพื้นที่เป้าหมายโดยใช้
TextSearchOptions.Rectangle
ซึ่งระบุพื้นที่ที่จะดึงข้อความออกมา - ใช้การดึงข้อมูลจากข้อความไปยังหน้าที่เฉพาะโดยการเรียกใช้
accept()
เมธอดบนหน้าที่เลือก - ดึงข้อความที่ถูกดึงออกมาจากคุณสมบัติ
Text
ของTextAbsorber
- 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
- โหลดเอกสาร PDF โดยใช้คลาส
Document
- สร้างอินสแตนซ์ของ
TextFragmentAbsorber
เพื่อระบุและแยกชิ้นส่วนข้อความแต่ละชิ้นจากเอกสาร - ดึงทุกส่วนของข้อความที่ตรวจพบและลดขนาดฟอนต์ลง 70% เพื่อเพิ่มความถูกต้องในการดึงข้อมูล
- เก็บเอกสารที่แก้ไขในสตรีมหน่วยความจำเพื่อหลีกเลี่ยงการบันทึกไฟล์กลาง.
- โหลด PDF จากสตรีมหน่วยความจำเพื่อประมวลผลข้อความที่ปรับแต่งแล้ว
- ใช้
TextAbsorber
เพื่อดึงข้อความที่มีโครงสร้างจากเอกสารที่แก้ไขแล้ว - บันทึกข้อความที่ถูกดึงออกมาไว้ในไฟล์
.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.
ขั้นตอนในการสกัดข้อความจากหน้าที่เฉพาะด้วยปัจจัยการขยาย
- โหลดเอกสาร PDF โดยใช้คลาส
Document
- สร้างอินสแตนซ์ของ
TextAbsorber
เพื่อดึงข้อความออกมา. - ตั้งค่า
TextExtractionOptions
เป็นโหมดการจัดรูปแบบ PURE เพื่อการดึงข้อมูลที่แม่นยำ - ปรับ
scalefactor
เพื่อปรับให้เหมาะสมกับการรับรู้ข้อความในไฟล์ PDF หลายคอลัมน์ - เรียกใช้
accept()
กับคอลเล็กชันpages
เพื่อดึงข้อความออกมา - บันทึกเนื้อหาที่ถูกดึงออกมาในไฟล์ข้อความ
# โค้ดตัวอย่างนี้แสดงวิธีการดึงข้อความจากพื้นที่เฉพาะของหน้าในเอกสาร 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
- โหลดไฟล์ PDF ที่มีตารางโดยใช้คลาส
Document
- ทำการวนลูปผ่านคอลเลกชัน
pages
ของเอกสารเพื่อประมวลผลแต่ละหน้าแยกกัน。 - สร้างอินสแตนซ์ของคลาส
TableAbsorber
เพื่อตรวจจับและดึงข้อมูลตารางออกมา। - เรียกใช้เมธอด
visit()
เพื่อระบุตารางบนหน้าเว็บปัจจุบัน。 - ทำซ้ำในรายการของตารางที่ดึงออกมาและดึงแถวและเซลล์ออกมา。
- เข้าถึง
textfragments
ของแต่ละเซลล์และดึงข้อความโดยใช้คุณสมบัติsegments
。 - บันทึกข้อมูลตารางที่แยกออกมาเพื่อการวิเคราะห์เพิ่มเติมหรือแสดงในคอนโซล
# ตัวอย่างโค้ดนี้แสดงวิธีการดึงตารางจากเอกสาร 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
- ใช้คลาส
Document
เพื่อเปิดไฟล์ PDF ที่ต้องการ - การดึงวัตถุ DocumentInfo โดยใช้คุณสมบัติ
info
. - เข้าถึงรายละเอียดเฉพาะ เช่น ผู้เขียน วันสร้างสรรค์ ชื่อเรื่อง หัวข้อ และคำสำคัญ
- พิมพ์ข้อมูลเมตาหรือบันทึกเพื่อการประมวลผลเพิ่มเติม
สคริปต์ 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
- โหลดไฟล์ PDF ที่มีภาพโดยใช้คลาส
Document
- ดึงหน้าที่เฉพาะที่คุณต้องการสร้างภาพจาก
- เข้าถึงคอลเลกชัน
Images
ของทรัพยากรของหน้าและระบุดัชนีของภาพ - บันทึกภาพที่ถูกดึงออกมาโดยใช้สตรีม。
ตัวอย่างโค้ดด้านล่างแสดงวิธีการแยกภาพจาก 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 ใน Python
- การวิเคราะห์คำอธิบายภาพ PDF ใน Python
- วิธีการวิเคราะห์การอ้างอิงลิงก์ PDF ใน Python
การวิเคราะห์คำอธิบายข้อความจาก PDF ใน Python
เอกสาร PDF มักจะมีคำอธิบายที่เป็นข้อความ ซึ่งทำหน้าที่เป็นความคิดเห็นหรือบันทึกที่แนบอยู่กับตำแหน่งเฉพาะบนหน้าเวที เมื่อถูกย่อลง คำอธิบายเหล่านี้จะปรากฏเป็นไอคอน และเมื่อขยายออก จะมีการแสดงข้อความภายในหน้าต่างป๊อปอัพ หน้าทุกหน้าของ PDF จะมีการเก็บข้อมูลคำอธิบายที่เป็นของตนเอง ซึ่งเก็บคำอธิบายทั้งหมดที่เฉพาะเจาะจงสำหรับหน้านั้น โดยการใช้ Aspose.PDF for Python คุณสามารถดึงข้อมูลคำอธิบายที่เป็นข้อความจากไฟล์ PDF ได้อย่างมีประสิทธิภาพ
ขั้นตอนในการแยกข้อความอ Annotation จาก PDF
- โหลดเอกสาร PDF ด้วยคลาส
Document
- ดึงคุณสมบัติ
annotations
ของหน้าที่เฉพาะเพื่อนำเสนอการอ้างอิงทั้งหมดในหน้านั้น - ทำซ้ำผ่านการหมายเหตุและกรองหมายเหตุที่มี
AnnotationType.TEXT
. - ดึงข้อมูลที่เกี่ยวข้องเช่นตำแหน่งคำอธิบาย (
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 ใน Python
การเชื่อมโยงในเอกสาร 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.