แยกข้อความจาก PDF

แยกข้อความจาก PDF ใน Java

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

PDF Generator API

รับประโยชน์ในการสร้างเอกสาร PDF โดยใช้เทมเพลตหรือตั้งแต่ต้นโดยใช้ REST API ของเรา ในขณะเดียวกัน API ยังช่วยให้คุณสามารถแก้ไขและแปลงไฟล์ PDF เป็น [รูปแบบที่รองรับ] อื่น ๆ ได้ 6 คุณยังสามารถใช้ประโยชน์จากการแยกข้อความจาก PDF ถอดรหัสและรวมไฟล์ PDF โดยใช้ Java Cloud SDK ตอนนี้ เพื่อใช้ Aspose.PDF Cloud SDK สำหรับ Java เราจำเป็นต้องเพิ่มการอ้างอิงในแอปพลิเคชัน Java ของเราโดยรวมรายละเอียดต่อไปนี้ใน pom.xml (โปรเจ็กต์ประเภท maven build)

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-cloud-pdf</artifactId>
        <version>21.11.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

หลังจากการติดตั้ง เราจำเป็นต้องสร้างบัญชีฟรีผ่าน Cloud Dashboard และรับข้อมูลประจำตัวไคลเอนต์ส่วนบุคคล

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

มาสำรวจรายละเอียดเพื่อแยกข้อความจาก PDF โดยใช้ Java cloud SDK ในตัวอย่างนี้ เราจะใช้อินพุตต่อไปนี้ PdfWithTable.pdf ไฟล์.

pdf เป็นข้อความ ocr

ภาพที่ 1: - ไฟล์อินพุตสำหรับการแยก PDF เป็นข้อความ

pdf เป็นข้อความ ocr

ภาพที่ 2:- แยกข้อความจากการแสดงตัวอย่าง PDF

// สำหรับตัวอย่างเพิ่มเติม โปรดไปที่ https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples

try
    {
    // รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
		    
    // สร้างอินสแตนซ์ของ PdfApi
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);
    // ชื่อของเอกสาร PDF ที่ป้อน
    String name = "PdfWithTable.pdf";
		        
    // อ่านเนื้อหาของไฟล์ PDF ที่ป้อน
    File file = new File(name); 
    // อัปโหลด PDF ไปยังที่เก็บข้อมูลบนคลาวด์
    pdfApi.uploadFile("input.pdf", file, null);
		        
    // พิกัด X ของมุมล่าง - ซ้าย
    Double LLX = 500.0;
    // Y - พิกัดของมุมซ้ายล่าง
    Double LLY = 500.0;
    // X - พิกัดของมุมขวาบน
    Double URX = 800.0;
    // Y - พิกัดของมุมขวาบน
    Double URY = 800.0;
			       
    // เรียก API เพื่อแปลง PDF เป็นข้อความ
    TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    
		    
    // สำรวจผ่านการเกิดขึ้นของข้อความแต่ละรายการ
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // เขียนเนื้อหาข้อความในคอนโซล
        System.out.println(response.getTextOccurrences().getList().get(counter).getText());
    }
		  
    System.out.println("Extract Text from PDF successful !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

ตอนนี้ลองมาทำความเข้าใจกับข้อมูลโค้ดที่ระบุข้างต้น:

PdfApi pdfApi = new PdfApi(clientSecret,clientId);

สร้างอินสแตนซ์ของ PdfApi ในขณะที่ส่งข้อมูลส่วนตัวเป็นอาร์กิวเมนต์

File file = new File(name); 
pdfApi.uploadFile("input.pdf", file, null);

อ่านอินพุต PDF โดยใช้วัตถุไฟล์และอัปโหลดไปยังที่เก็บข้อมูลบนคลาวด์โดยใช้เมธอด uploadFile(…) ของคลาส PdfAPi โปรดทราบว่าไฟล์ถูกอัปโหลดด้วยชื่อที่ใช้ในเมธอด uploadFile

TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    

ตอนนี้เรียกเมธอด getText(..) ที่เราระบุชื่อไฟล์ PDF อินพุตขนาดสี่เหลี่ยมผืนผ้าบนหน้าซึ่งเราต้องแยกเนื้อหาที่เป็นข้อความและส่งกลับเนื้อหาที่แยกไปยังวัตถุ TextRectsResponse

response.getTextOccurrences().getList().get(counter).getText()

สุดท้าย เพื่อพิมพ์เนื้อหาข้อความที่แยกออกมา เราจะวนซ้ำผ่าน TextOccurances ทั้งหมดและแสดงในคอนโซล

PDF เป็นข้อความโดยใช้คำสั่ง cURL

นอกเหนือจากข้อมูลโค้ด Java เรายังสามารถดำเนินการ pdftotext โดยใช้คำสั่ง cURL ตอนนี้ หนึ่งในข้อกำหนดเบื้องต้นสำหรับแนวทางนี้คือการสร้างโทเค็นการเข้าถึง JWT (ตามข้อมูลประจำตัวของไคลเอ็นต์) โดยใช้คำสั่งต่อไปนี้

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

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

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

เคล็ดลับด่วน

กำลังมองหาแอพ PDF เป็น Text ฟรี! โปรดลองใช้ โปรแกรมแยกวิเคราะห์ PDF ของเรา

สรุปข้อสังเกต

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

หากคุณสนใจที่จะสำรวจคุณสมบัติที่น่าตื่นเต้นอื่นๆ ที่นำเสนอโดย API โปรดสำรวจ เอกสารประกอบผลิตภัณฑ์ สุดท้ายนี้ หากคุณพบปัญหาใดๆ ขณะใช้งาน API หรือมีข้อสงสัยใดๆ ที่เกี่ยวข้อง โปรดติดต่อเราได้ฟรีผ่าน Product Support Forum

บทความที่เกี่ยวข้อง

โปรดไปที่ลิงก์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ: