Как автоматизировать вывод данных из многостраничных 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

Step-by-Step реализация

Шаг 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: Несовместимые расположения страниц

Решение: Используйте детективы 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 .

 Русский