วิธีการดึงข้อความจาก PDF ที่สแกนใน .NET โดยใช้ Aspose.OCR
Scanned PDFs มักจะมีความท้าทายในการทำงานเนื่องจากพวกมันเป็นเพียงภาพของข้อความ การแปลงภาพเหล่านี้เป็นเอกสารข้อความที่ค้นหาได้และแก้ไขได้เปิดโลกแห่งความเป็นไปได้สำหรับการจัดการเอกสารและการเข้าถึงเนื้อหา ด้วย Aspose.OCR for .NET คุณสามารถแปลง PDF ที่สแกนแล้วให้เป็นเอกสารที่ค้นหาได้อย่างสมบูรณ์ในขณะที่ยังคงรักษาภาพต้นฉบับไว้
ทำไม OCR (การรู้จำอักขระด้วยแสง) ถึงสำคัญสำหรับ PDF ที่สแกนแล้ว
- การดึงข้อมูล:
- OCR ช่วยให้คุณแปลงข้อความที่สแกนเป็นข้อมูลที่เครื่องอ่านได้ ซึ่งสามารถแก้ไขและจัดทำดัชนีได้
- การค้นหาได้:
- โดยการแปลง PDF ที่สแกนแล้วให้เป็นเอกสารที่ค้นหาได้ คุณสามารถค้นหาข้อมูลที่เกี่ยวข้องได้อย่างรวดเร็วโดยไม่ต้องค้นหาด้วยตนเองผ่านหน้าเอกสาร
- การเพิ่มประสิทธิภาพการทำงาน:
- ประหยัดเวลาโดยการทำให้การแปลงเอกสารที่สแกนเป็นรูปแบบที่แก้ไขได้ เช่น Word หรือ Excel เป็นไปโดยอัตโนมัติ
ข้อกำหนดเบื้องต้น: การตั้งค่าสำหรับการดึงข้อความจาก PDF ที่สแกนแล้ว
ก่อนที่คุณจะเริ่มการดึงข้อความจาก PDF ที่สแกนแล้ว ให้แน่ใจว่าขั้นตอนดังต่อไปนี้เสร็จสิ้น:
- ติดตั้ง Aspose.OCR for .NET:
- เพิ่ม Aspose.OCR ลงในโปรเจ็กต์ของคุณโดยใช้ NuGet:
dotnet add package Aspose.OCR
- เพิ่ม Aspose.OCR ลงในโปรเจ็กต์ของคุณโดยใช้ NuGet:
- ขอรับใบอนุญาตที่มีการวัด:
- ตั้งค่าใบอนุญาตที่มีการวัดของคุณเพื่อปลดล็อกฟีเจอร์ทั้งหมดของไลบรารี Aspose.OCR โดยใช้
SetMeteredKey()
.
- ตั้งค่าใบอนุญาตที่มีการวัดของคุณเพื่อปลดล็อกฟีเจอร์ทั้งหมดของไลบรารี Aspose.OCR โดยใช้
- เตรียม PDF ที่สแกนแล้วของคุณ:
- ตรวจสอบให้แน่ใจว่า PDF ที่สแกนแล้วของคุณมีคุณภาพสูง คุณภาพที่ดีกว่าจะส่งผลให้ OCR มีความแม่นยำมากขึ้น
คู่มือทีละขั้นตอน: การดึงข้อความจาก PDF ที่สแกนแล้ว
ขั้นตอนที่ 1: ติดตั้งไลบรารีที่จำเป็น
เริ่มต้นด้วยการติดตั้ง Aspose.OCR for .NET ลงในโปรเจ็กต์ของคุณ คุณสามารถทำได้โดยตรงจาก NuGet
dotnet add package Aspose.OCR
ขั้นตอนที่ 2: ตั้งค่าใบอนุญาตของคุณ
ก่อนที่จะดำเนินการต่อ ให้กำหนดค่าใบอนุญาตของคุณสำหรับ Aspose.OCR เพื่อปลดล็อกฟีเจอร์ทั้งหมด
using Aspose.OCR;
Metered license = new Metered();
license.SetMeteredKey("<your public key>", "<your private key>");
Console.WriteLine("License configured successfully.");
ขั้นตอนที่ 3: โหลด PDF ที่สแกนลงในอ็อบเจ็กต์ OCR Input
คุณจะต้องโหลด PDF ที่สแกนลงในอ็อบเจ็กต์ OcrInput
Aspose.OCR รองรับการสแกนหลายหน้าของ PDF
OcrInput input = new OcrInput(Aspose.OCR.InputType.PDF);
input.Add("scanned_sample.pdf", 0, 3); // ประมวลผล 3 หน้าต้นแรกของ PDF
Console.WriteLine("Scanned PDF loaded successfully.");
ขั้นตอนที่ 4: ประมวลผล PDF ที่สแกนโดยใช้ OCR Engine
เมื่อ PDF ถูกโหลดแล้ว ให้ส่งไปยังเอนจิน Aspose OCR เพื่อการรู้จำ
Aspose.OCR.AsposeOcr recognitionEngine = new Aspose.OCR.AsposeOcr();
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Aspose.OCR.Language.Latin; // ตั้งค่าภาษา OCR (เช่น ภาษา Latin สำหรับภาษาอังกฤษ)
List<Aspose.OCR.RecognitionResult> results = recognitionEngine.Recognize(input, settings);
Console.WriteLine("Text extracted from PDF.");
ขั้นตอนที่ 5: ส่งออกข้อความที่รู้จำได้หรือบันทึกลงไฟล์
เมื่อเอนจิน OCR ประมวลผล PDF คุณสามารถส่งออกข้อความที่รู้จำได้โดยตรงหรือบันทึกลงไฟล์
string recognizedText = results[0].RecognitionText;
Console.WriteLine($"Recognized Text: {recognizedText}");
// บันทึกผลลัพธ์ลงในไฟล์ข้อความ
results[0].Save("output.txt", Aspose.OCR.SaveFormat.Text);
Console.WriteLine("Recognized text saved to output.txt.");
ขั้นตอนที่ 6: ทดสอบและปรับแต่งผลลัพธ์ OCR
หลังจากการดึงข้อความ ทดสอบผลลัพธ์เพื่อความถูกต้อง หากจำเป็น คุณสามารถปรับแต่งการตั้งค่า OCR เพื่อปรับปรุงผลลัพธ์สำหรับรูปแบบเอกสารที่แตกต่างกัน
ปัญหาทั่วไปและการแก้ไข
1. ความแม่นยำของ OCR ต่ำ
- วิธีแก้ไข: ตรวจสอบให้แน่ใจว่าคุณภาพของ PDF ที่สแกนสูง ใช้การสแกนที่มีความละเอียดสูงเพื่อปรับปรุงความแม่นยำในการรู้จำ
2. ฟอนต์ที่ไม่รองรับ
- วิธีแก้ไข: กำหนดการตั้งค่าภาษาที่ถูกต้องในตัวเลือก OCR เพื่อเพิ่มการรู้จำสำหรับอักขระที่ไม่ใช่ Latin
3. ประสิทธิภาพช้า
- วิธีแก้ไข: แบ่ง PDF ออกเป็นชิ้นเล็ก ๆ หรือหน้าเพื่อการประมวลผลที่รวดเร็วขึ้น โดยเฉพาะสำหรับเอกสารขนาดใหญ่