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