บทช่วยสอนฉบับย่อนี้ให้รายละเอียดเกี่ยวกับวิธี แยกข้อความจาก PDF ที่สแกนใน Java คุณสามารถกำหนดค่ากระบวนการ แยกข้อความจาก PDF ที่สแกนใน Java ได้โดยการตั้งค่าพารามิเตอร์การตรวจจับ ตัวเลือกนี้ยังมีให้เลือกระหว่างความเร็วหรือความแม่นยำ โดยขึ้นอยู่กับคุณภาพ PDF และข้อกำหนดการใช้งานอื่นๆ
ขั้นตอนในการแยกข้อความจาก PDF ที่สแกนใน Java
- จากที่เก็บ Maven ให้กำหนดค่า Aspose.OCR ในโครงการของคุณเพื่ออ่านข้อความ PDF ที่สแกน
- เริ่มต้น AsposeOcrPdf วัตถุเพื่ออ่านข้อความจาก PDF
- สร้างอินสแตนซ์อ็อบเจ็กต์คลาส DocumentRecognitionSettings สำหรับการตั้งค่าพารามิเตอร์การจดจำ
- กำหนดหน้าเริ่มต้นและจำนวนหน้าใน PDF สำหรับอ่านข้อความ
- หากต้องการเพิ่มความเร็วในการตรวจจับ ให้ตั้งค่าแฟล็กพื้นที่ตรวจจับเป็นเท็จ
- เรียกใช้ฟังก์ชัน RecognizePdf เพื่ออ่านข้อความทั้งหมดตามการกำหนดค่าด้านบน
- วนซ้ำผลลัพธ์ที่แยกทั้งหมดจากหน้า PDF และแสดงบนคอนโซล
ในระหว่างกระบวนการ สแกนข้อความจาก PDF ใน Java วัตถุของ AsposeOCRPdf จะเริ่มต้นขึ้นซึ่งมีคุณสมบัติในการจดจำข้อความจาก PDF รองรับการกำหนดค่ากระบวนการตรวจจับ เช่น หมายเลขหน้าเริ่มต้น จำนวนหน้า PDF ที่จะอ่าน และตัวเลือกในการตั้งค่าพื้นที่ตรวจจับเพื่อควบคุมความเร็วและความแม่นยำ สุดท้าย เราจะแยกวิเคราะห์คอลเลกชันผลลัพธ์ที่สแกนจากแต่ละหน้าและแสดงบนคอนโซล
รหัสเพื่อแปลง PDF ที่สแกนเป็นข้อความใน Java
import java.util.ArrayList; | |
import com.aspose.ocr.DocumentRecognitionSettings; | |
import com.aspose.ocr.RecognitionResult; | |
import com.aspose.ocr.pdf.AsposeOCRPdf; | |
public class ExtractTextFromScannedPdfInJava { | |
public static void main(String[] args) {//main function for ExtractTextFromScannedPdfInJava class | |
// Instantiate an AsposeOcrPdf object | |
AsposeOCRPdf ocrPdfToReadText = new AsposeOCRPdf(); | |
// Initialize DocumentRecognitionSettings class object for configuring recognition settings | |
DocumentRecognitionSettings docRecognitionConfig = new DocumentRecognitionSettings(1,3); | |
// Set detect areas to false to improve speed | |
docRecognitionConfig.setDetectAreas(false); | |
// Using the recognition settings, fetch text from the range of pages set in the constructor above | |
ArrayList<RecognitionResult> fetchedTextResults = ocrPdfToReadText.RecognizePdf("InputSampleFile.pdf", docRecognitionConfig); | |
// Iterate through all the text fetched from each page | |
int PageCounter = 1; | |
for(RecognitionResult page : fetchedTextResults) | |
{ | |
System.out.println("Page No: " + PageCounter + " Fetched Text:" + page.recognitionText); | |
PageCounter++; | |
} | |
} | |
} |
รหัสนี้ใช้ AsposeOCRPdf เพื่อ รับข้อความจาก PDF ที่สแกนใน Java อ็อบเจ็กต์คลาส DocumentRecognitionSettings มีตัวเลือกในการตั้งค่าคอนฟิกูเรชันเพจโดยใช้ตัวสร้างตามที่แสดงในโค้ดตัวอย่างนี้ หรือโดยการตั้งค่า StartPage และ PagesNumber แยกกัน คุณยังสามารถตั้งค่าภาษา การแก้ไขความเอียงของภาพ และจำนวนเธรดสำหรับการตรวจจับข้อความแบบขนานจาก PDF ที่สแกน
ในบทความนี้ เราได้เรียนรู้วิธีแยกข้อความจาก PDF ที่สแกนใน Java พร้อมกับการกำหนดค่าของกระบวนการตรวจหา อย่างไรก็ตาม หากคุณต้องการแยกข้อความออกจากรูปภาพ โปรดดูบทความใน วิธีแยกข้อความออกจากรูปภาพโดยใช้ Java