Як автоматизувати витяг даних з багатосторонніх 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: Налаштування налаштувань і рангів сторінки

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: Неконзистентні розташування сторінки

Рішення: Використовуйте автоматичне виявлення або встановіть різні режими за діапазоном сторінки.

Створення Challenge 2: Very Large 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 для .NET API Референт .

 Українська