ในหลายกระบวนการทำงานของธุรกิจ เอกสาร PDF ที่สแกนต้องถูกแปลงเป็นข้อความที่สามารถค้นหาได้หรือแก้ไขได้. Extract Text from Scanned PDFs with Aspose.PDF OCR in C# tutorial แสดงวิธีการใช้เครื่องมือ OCR ที่รวมอยู่ใน Aspose.PDF for .NET เพื่อดึงข้อความธรรมดาจากหน้าที่เป็นภาพ. โดยการทำตามคู่มือนี้ คุณจะได้โซลูชันพร้อมใช้งานที่ทำงานกับ PDF ที่สแกนใด ๆ ไม่ว่าจะมีขนาดหรือภาษาก็ตาม.

ดึงข้อความจาก PDF ที่สแกนโดยใช้ Aspose.PDF OCR SDK

PDF ที่สแกนมีเพียงภาพเท่านั้น ดังนั้น API การสกัดข้อความทั่วไปจะไม่คืนค่าอะไรเลย OCR (Optical Character Recognition) แปลงภาพเหล่านั้นเป็นอักขระที่เครื่องคอมพิวเตอร์อ่านได้ ทำให้สามารถทำการจัดทำดัชนี การทำเหมืองข้อมูล และการประมวลผลต่อเนื่องได้ การทำ OCR อัตโนมัติใน C# จะลบขั้นตอนคัดลอก‑วางด้วยมือออก ปรับปรุงความแม่นยำ และขยายขนาดได้สำหรับชุดเอกสารจำนวนมาก

Aspose.PDF มีเนมสเปซ Aspose.Pdf.Ocr ซึ่งรวมถึง OcrTextRecognitionOptions, OcrTextAbsorber และ enum ของภาษา ไลบรารีนี้จัดจำหน่ายผ่าน NuGet. ติดตั้งโดยใช้คำสั่งต่อไปนี้:

Install-Package Aspose.PDF

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชม หน้าผลิตภัณฑ์ Aspose.PDF.

ดึงข้อความจาก PDF ที่สแกนด้วย Aspose.PDF OCR ใน C#

  1. โหลด PDF ที่สแกนเข้าไปใน Aspose.Pdf.Document.
  2. กำหนดค่าตัวเลือก OCR (ภาษา, ความละเอียด, ตัวคั่นหน้า).
  3. ใช้ OcrTextAbsorber กับคอลเลกชันหน้าของเอกสาร.
  4. ดึงข้อความที่ได้รับการจดจำและบันทึกไว้.

ตัวอย่างนี้แสดงการโหลด PDF ที่สแกน, การกำหนดค่า OCR, การสกัดข้อความ, และการเขียนผลลัพธ์ลงไฟล์โดยใช้ C#

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

// Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Configure OCR recognition options
        var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
        {
            Language = Aspose.Pdf.Ocr.OcrLanguage.English,
            Resolution = 300,
            PageSeparator = "\n\n"
        };

// Recognize text from all pages
        var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
        document.Pages.Accept(absorber);

// Save recognized text
        System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
    }
}

Aspose.PDF คุณลักษณะที่สำคัญสำหรับงานนี้

  • เครื่องยนต์ OCR แบบบูรณาการ – ไม่มีการพึ่งพาภายนอก; เครื่องยนต์ OCR อยู่ในเนมสเปซ Aspose.Pdf.Ocr.
  • การเลือกภาษาOcrLanguage enum ให้คุณระบุพจนานุกรมเพื่อการจดจำที่ดียิ่งขึ้น.
  • การควบคุมความละเอียด – DPI ที่สูงขึ้นช่วยปรับปรุงความแม่นยำของอักขระ, โดยเฉพาะสำหรับการสแกนที่จาง.
  • PageSeparator – สตริงที่ปรับแต่งได้เพื่อแยกหน้าต่างข้อความผลลัพธ์.
  • Thread‑safe page collection – อนุญาตให้ประมวลผลแบบขนานของ PDF ขนาดใหญ่.

ความสามารถเหล่านี้ทำให้สามารถใช้โซลูชันแบบไลบรารีเดียวที่แข็งแกร่งสำหรับการสกัดข้อความจาก PDF ที่สแกนใด ๆ

การติดตั้งและตั้งค่าใน C#

  1. เปิดโซลูชัน .NET ของคุณใน Visual Studio.
  2. เปิด Package Manager Console แล้วรัน Install-Package Aspose.PDF.
  3. เพิ่ม using Aspose.Pdf; และ using Aspose.Pdf.Ocr; ที่ส่วนบนของไฟล์คลาสของคุณ.
  4. ตรวจสอบว่าคุณมีใบอนุญาตชั่วคราวหรือเต็ม; หากไม่มี, ผลลัพธ์อาจมีลายน้ำ.

สำหรับรายละเอียดการรับใบอนุญาต ดูที่ หน้าลิขสิทธิ์ชั่วคราว.

การดำเนินการแบบขั้นตอนต่อขั้นตอนใน C#

ส่วนนี้ตอบคำถามอะไร? ขั้นตอนโค้ดที่แน่นอนในการดึงข้อความคืออะไร?

  1. เริ่มต้นเอกสาร
var pdfPath = "path/to/scanned.pdf";
var document = new Document(pdfPath);
  1. สร้างตัวเลือก OCR
var ocrOptions = new OcrTextRecognitionOptions
{
    Language = OcrLanguage.English,
    Resolution = 300,
    PageSeparator = "\n--- Page Break ---\n"
};
  1. เรียกใช้ตัวดูด
var absorber = new OcrTextAbsorber(ocrOptions);
document.Pages.Accept(absorber);
  1. เข้าถึงข้อความที่สกัดออกมา
string extractedText = absorber.Text;
  1. บันทึกหรือประมวลผลข้อความ
System.IO.File.WriteAllText("output.txt", extractedText);

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

รับใบอนุญาตฟรี

ประเมิน Aspose.PDF โดยไม่เสียค่าใช้จ่ายโดยการขอใบอนุญาตชั่วคราวที่นี่: https://purchase.aspose.com/temporary-license/

แหล่งข้อมูลเพิ่มเติมฟรี

สรุป

คู่มือนี้ได้พาคุณผ่านขั้นตอนการสกัดข้อความจาก PDF ที่สแกนโดยใช้ Aspose.PDF OCR ใน C#. คุณได้เรียนรู้วิธีการติดตั้งไลบรารี, กำหนดค่าตัวเลือก OCR เพื่อความแม่นยำ, สร้างกระบวนการสกัดข้อความที่สะอาด, และใช้การปรับประสิทธิภาพสำหรับเอกสารขนาดใหญ่. ด้วยเทคนิคเหล่านี้, นักพัฒนา .NET ใดก็สามารถแปลง PDF ที่เป็นภาพเท่านั้นให้เป็นสตรีมข้อความที่ค้นหาได้และแก้ไขได้.

คำถามที่พบบ่อย

  1. How do I extract text from a scanned PDF in C# using Aspose.PDF?
    สร้าง Document กำหนดค่า OcrTextRecognitionOptions เรียกใช้ OcrTextAbsorber บนหน้าแต่ละหน้า และอ่านคุณสมบัติ Text.

  2. Which OCR languages are supported by Aspose.PDF?
    ไลบรารีรองรับหลายภาษาโดยใช้ enum OcrLanguage รวมถึงอังกฤษ, ฝรั่งเศส, เยอรมัน, สเปน, จีน และอื่น ๆ

  3. How can I improve OCR accuracy for low‑resolution scans?
    เพิ่มค่า Resolution (เช่น 300 DPI) เลือกภาษาที่ถูกต้อง และพิจารณาการประมวลผลล่วงหน้าของภาพเพื่อเพิ่มความคอนทราสต์

  4. Is it safe to process large PDFs in parallel?
    ใช่ โดยการแบ่งเอกสารเป็นช่วงหน้าต่าง ๆ และประมวลผลแต่ละช่วงบนเธรดแยกต่างหาก พร้อมตรวจสอบการใช้หน่วยความจำ

  5. What licensing is required for OCR features?
    OCR มีให้ใช้งานเต็มรูปแบบเมื่อมีใบอนุญาต Aspose.PDF for .NET ที่ถูกต้อง; สามารถขอใบอนุญาตชั่วคราวสำหรับการประเมินได้

  6. Where can I find more documentation on OCR settings?
    คำแนะนำการกำหนดค่า OCR อย่างละเอียดมีให้ในเอกสารการตั้งค่า OCR ของ Aspose.PDF ที่ https://docs.aspose.com/pdf/net/.

อ่านเพิ่มเติม