แยกข้อความจาก pdf java

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

Java API เพื่อแยกข้อความจาก PDF - ดาวน์โหลดฟรี

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

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.11</version>
</dependency>

แยกข้อความจาก PDF โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการแยกข้อความจากเอกสาร PDF โดยใช้ Aspose.PDF for Java

  • ใช้คลาส Document เพื่อโหลดไฟล์ PDF
  • สร้างวัตถุของคลาส TextAbsorber
  • ยอมรับ TextAbsorber สำหรับทุกหน้าของ PDF โดยใช้วิธี Document.getPages().accept(TextAbsorber)
  • ใช้เมธอด TextAbsorber.getText() เพื่อดึงข้อความทั้งหมดจาก PDF
  • บันทึกข้อความลงในไฟล์ TXT (ไม่บังคับ)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกข้อความจาก PDF โดยใช้ Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");

// สร้างวัตถุ TextAbsorber เพื่อแยกข้อความ
TextAbsorber textAbsorber = new TextAbsorber();

// รับโช้คทุกหน้า
pdfDocument.getPages().accept(textAbsorber);

// รับข้อความที่แยกออกมา
String extractedText = textAbsorber.getText();

// สร้างตัวเขียนและเปิดไฟล์
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);

// เขียนบรรทัดข้อความลงในไฟล์ tw.WriteLine(extractedText);
// ปิดสตรีม
writer.close();

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

คุณยังสามารถแยกข้อความจากหน้าเฉพาะของเอกสาร PDF โดยใช้ขั้นตอนต่อไปนี้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกข้อความจากหน้าเฉพาะใน PDF โดยใช้ Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");
// สร้างอุปกรณ์ข้อความ
TextDevice textDevice = new TextDevice();

// ตั้งค่าตัวเลือกการดึงข้อความ - ตั้งค่าโหมดการดึงข้อความ (ดิบหรือบริสุทธิ์)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);

textDevice.setExtractionOptions(textExtOptions);

// รับข้อความจากหน้าแรกของ PDF และบันทึกเป็นรูปแบบไฟล์
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");

แยกข้อความจากขอบเขตของหน้าใน PDF

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

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความจากพื้นที่หน้าเฉพาะใน Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document doc = new Document("page_0001.pdf");

// สร้างวัตถุ TextAbsorber เพื่อแยกข้อความ
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// ยอมรับโช้คสำหรับหน้าแรก
doc.getPages().get_Item(1).accept(absorber);

// รับข้อความที่แยกออกมา
String extractedText = absorber.getText();
// สร้างตัวเขียนและเปิดไฟล์
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// เขียนเนื้อหาที่แยกออกมา
writer.write(extractedText);
// ปิดนักเขียน
writer.close();

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแยกข้อความจาก PDF โดยใช้ Java คุณได้เห็นวิธีต่างๆ ในการแยกข้อความ เช่น การแยกข้อความจาก PDF ทั้งหน้า หน้าเฉพาะ หรือพื้นที่หน้าเฉพาะ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Java PDF API โดยใช้ เอกสารประกอบ

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

ข้อมูล: Aspose เพิ่งพัฒนาบริการ Text to GIF ออนไลน์ฟรีที่ให้คุณสร้างข้อความเคลื่อนไหวหรือสร้าง GIF จากข้อความง่ายๆ