วิธีการอัตโนมัติการสกัดข้อมูลจากไฟล์ PDF แบบหลายหน้าด้วย Aspose.OCR

วิธีการอัตโนมัติการสกัดข้อมูลจากไฟล์ PDF แบบหลายหน้าด้วย Aspose.OCR

PDFs มัลติหน้าจากสแกนเนอร์ไฟล์หรือกระแสการทํางานขององค์กรมักจะถือจํานวนมากของข้อความและตารางที่ไม่สามารถค้นหาได้ การสกัดด้วยมือช้าและไม่ปรับขนาด Aspose.OCR สําหรับ .NET จะอัตโนมัติการสกปรกข้อความแท็บและโครงสร้างจากไฟล์ PDF ยาวและซับซ้อนที่มีรหัสขั้นต่ํา

ปัญหาโลกจริง

กฎหมายการเงินและเอกสารวิชาการมักจัดการกับไฟล์ PDF ที่สแกนหลายหน้าที่มีหลายร้อยหน้า การ استخراجข้อความและข้อมูลด้วยมือเป็นข้อผิดพลาดและแรงงานที่รุนแรง

ความคิดเห็นเกี่ยวกับโซลูชัน

Aspose.OCR for .NET สามารถกระบวนการชุดและสกัดข้อความ / ตารางจากแต่ละหน้าใน PDF แบบหลายหน้า คุณสามารถระบุแถวหน้ารูปแบบการส่งออกและการบูรณาการอัตโนมัติกับแอพธุรกิจหรือไฟล์ดิจิตอล

ข้อกําหนด

  • Visual Studio 2019 หรือภายหลัง
  • .NET 6.0 หรือเร็วกว่า (หรือ .Net Framework 4.6.2+)
  • Aspose.OCR สําหรับ .NET จาก NuGet
  • ความสามารถในการเขียนโปรแกรม C#
PM> Install-Package Aspose.OCR

การดําเนินการขั้นตอนขั้นตอน

ขั้นตอน 1: ติดตั้งและตั้งค่า Aspose.OCR

using Aspose.OCR;

ขั้นตอน 2: เพิ่มไฟล์ PDF แบบหลายหน้า

OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14

ขั้นตอนที่ 3: การตั้งค่าการยอมรับและการจัดอันดับหน้า

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;

ขั้นตอน 4: สารสกัดข้อความและตารางจากแต่ละหน้า

AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);

ขั้นตอน 5: ผลการส่งออกสําหรับแต่ละหน้า

int page = 1;
foreach (RecognitionResult result in results)
{
    result.Save($"output_page_{page}.txt", SaveFormat.Text);
    result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
    result.Save($"output_page_{page}.json", SaveFormat.Json);
    page++;
}

ขั้นตอนที่ 6: การจัดการข้อผิดพลาดและการรับรองข้อมูล

try
{
    AsposeOcr ocr = new AsposeOcr();
    List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

ขั้นตอน 7: การเพิ่มประสิทธิภาพสําหรับไฟล์ขนาดใหญ่และงานแบทช์

  • การประมวลผล PDFs ในโฟลเดอร์ตามแผนที่
  • ใช้การประมวลผลหน้าตัวเลือกสําหรับความเร็ว
  • การตรวจสอบหน่วยความจํา / การใช้ CPU
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

ขั้นตอน 8: ตัวอย่างที่สมบูรณ์

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            OcrInput input = new OcrInput(InputType.PDF);
            input.Add("archive.pdf");
            input.Add("report.pdf", 5, 10);

            RecognitionSettings settings = new RecognitionSettings();
            settings.Language = Language.English;
            settings.DetectAreasMode = DetectAreasMode.AUTO;

            AsposeOcr ocr = new AsposeOcr();
            List<RecognitionResult> results = ocr.Recognize(input, settings);

            int page = 1;
            foreach (RecognitionResult result in results)
            {
                result.Save($"output_page_{page}.txt", SaveFormat.Text);
                result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
                result.Save($"output_page_{page}.json", SaveFormat.Json);
                page++;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

ใช้กรณีและแอปพลิเคชัน

กฎหมายและการปฏิบัติตามการจัดเก็บ

สกัดเนื้อหาเต็มของข้อตกลงการลงทะเบียนหรือเอกสารรัฐบาลเพื่อการค้นหาและการปฏิบัติตาม

สถาปัตยกรรมวิชาการและวิจัย

การดิจิทัลและการแบ่งจดหมายหลักสูตรหรือตารางข้อมูลสําหรับการวิเคราะห์หรือการเรียนรู้อิเล็กทรอนิกส์

กระแสการทํางานทางการเงินและการตรวจสอบ

สารสกัดอัตโนมัติจากเอกสารรายงานขนาดใหญ่ รายงานและแผ่นกระจาย

ความท้าทายและโซลูชั่นทั่วไป

ความท้าทาย 1: การจัดเรียงหน้าที่ไม่สม่ําเสมอ

โซลูชัน: ใช้การตรวจจับอัตโนมัติหรือตั้งโหมดที่แตกต่างกันต่อช่วงหน้า

ความท้าทาย 2: PDFs ใหญ่มาก

**โซลูชัน: ** การประมวลผลในชุด; ส่วนแบ่งไฟล์เพื่อประสิทธิภาพของหน่วยความจําที่ดีขึ้น

ความท้าทาย 3: เนื้อหาผสม (ข้อความตารางภาพ)

โซลูชัน: การตรวจสอบและผลลัพธ์หลังกระบวนการ; โหมดตรวจจับเสียง

การพิจารณาประสิทธิภาพ

  • PDF ขนาดใหญ่ต้องการหน่วยความจํา / CPU มากขึ้น
  • การทํางานของแบทช์กลางวันสําหรับประสิทธิภาพที่ดีที่สุด
  • การยืนยันตัวอย่างการส่งออกก่อนการรวม

แนวทางที่ดีที่สุด

  • ใช้สัญญาชื่อเพื่อติดตามได้ง่าย
  • ส่วนแบ่งไฟล์ PDF แบบหลายหน้าหากไฟล์ขนาดใหญ่มาก
  • การรักษาความปลอดภัยทั้งเอกสารแหล่งกําเนิดและส่งออก
  • การยืนยันและตรวจสอบผลลัพธ์ในกระบวนการทํางานที่สําคัญ

การ์ตูนขั้นสูง

สภาพแวดล้อม 1: การส่งออกไปยัง PDF ที่สามารถค้นหาได้ต่อหน้า

foreach (RecognitionResult result in results)
{
    result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
    page++;
}

ฉาก 2: การรวมกับฐานข้อมูลหรือคลาวด์

foreach (RecognitionResult result in results)
{
    string json = File.ReadAllText($"output_page_{page}.json");
    // Upload json or send to a cloud endpoint
}

ข้อสรุป

Aspose.OCR สําหรับ .NET ช่วยให้การสกัดข้อความที่แข็งแกร่งและสามารถปรับขนาดได้และข้อมูลที่โครงสร้างจากไฟล์ PDF แบบหลายหน้าช่วยประหยัดเวลาในการทํางานด้วยตนเองและปรับปรุงอัตโนมัติของกระบวนการทํางาน

ดูตัวอย่างการประมวลผล PDF และชุดเพิ่มเติมใน Aspose.OCR สําหรับการอ้างอิง API .NET .

 แบบไทย