Как да автоматизирате извличането на данни от мулти-страници PDF с Aspose.OCR

Как да автоматизирате извличането на данни от мулти-страници PDF с Aspose.OCR

Многострани PDF от скенери, архиви или корпоративни работни потоци често задържат огромни количества непотърсени текстове и таблици. ръчното извличане е бавно и не скалиращо. Aspose.OCR за .NET автоматизира извлечването на текст, табели и структура от дълги, сложни PDF с минимален код.

Реални световни проблеми

Правни, финансови и академични архиви редовно се справят с многострани скенираните PDF файлове, съдържащи стотици страници.

Преглед на решението

Aspose.OCR за .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: Конфигуриране на настройки за разпознаване и Page Ranges

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: Оптимизиране за големи файлове и работни места

  • Обработка на PDF файлове в папки по директория
  • Използвайте селективна обработка на страници за скорост
  • Използване на памет/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: Несъвместими Page Layouts

Решение: Използвайте AUTO детекция или задайте различни режими за диапазон от страници.

Предизвикателство 2: Много големи PDF файлове

Решение: Процес в комплекти; разпределени файлове за по-добро представяне на паметта.

Предизвикателство 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 за .NET API Референт .

 Български