OCR PDF и извлечение текста из PDF на С#

Файл PDF является одним из наиболее распространенных деловых документов. В некоторых случаях нам может потребоваться программно прочитать отсканированные PDF-документы. Сложность извлечения текста из отсканированных PDF-файлов привела к разработке инструментов, облегчающих чтение и извлечение текста из таких PDF-документов. В зависимости от содержимого вашего документа извлечение текста из PDF-файлов может быть полезным по ряду причин. В этой статье мы узнаем, как распознавать PDF-документы и извлекать текст из PDF на C#.

В этой статье будут затронуты следующие темы:

  1. OCR PDF в текстовый API C#
  2. Распознавание PDF и извлечение текста из PDF
  3. Выполнить распознавание текста в PDF и сохранить текст
  4. OCR PDF в файл Word
  5. OCR PDF в JSON

OCR PDF в текст C# API

Мы будем использовать API Aspose.OCR для .NET для распознавания текста в PDF-документе. Он может распознавать отсканированные изображения, фотографии со смартфона, скриншоты и области изображений. API возвращает распознанные текстовые результаты в самых популярных форматах обмена документами и данными. Помимо преобразования изображений в текст, API также может создавать PDF-файлы с возможностью поиска на основе сканов. Кроме того, он способен автоматически исправлять орфографические ошибки в распознанных текстах.

API предоставляет класс AsposeOcr, предоставляющий различные методы для выполнения операций OCR. Он предоставляет метод RecognizePdf(string, DocumentRecognitionSettings) для распознавания текста из предоставленного PDF-документа. Класс DocumentRecognitionSettings API предоставляет настройки для процесса распознавания PDF. Класс RecognitionResult представляет результаты распознавания изображений.

Пожалуйста, либо загрузите DLL API, либо установите его с помощью NuGet.

PM> Install-Package Aspose.OCR

OCR PDF и извлечение текста из PDF на С#

Мы можем выполнять распознавание документов PDF и извлекать распознанный текст, выполнив следующие действия:

  1. Во-первых, создайте экземпляр класса AsposeOcr.
  2. Затем инициализируйте объект класса DocumentRecognitionSettings.
  3. Затем укажите язык, который будет использоваться для OCR.
  4. После этого получите RecognitionResult, вызвав метод RecognizePdf(). В качестве аргументов он принимает путь к изображению и объект DocumentRecognitionSettings.
  5. Наконец, прокрутите список RecognitionResult и покажите идентифицированный текст.

В следующем примере кода показано, как распознавать PDF-документы и извлекать распознанный текст на C#.

// В этом примере кода показано, как распознавать PDF-документы и извлекать распознанный текст.
// Инициализировать механизм PCR
AsposeOcr recognitionEngine = new AsposeOcr();

// Инициализировать настройки распознавания
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();

// Укажите язык для OCR. Мультиязычность по умолчанию
recognitionSettings.Language = Language.Eng;

// Распознать текст из PDF
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);

// Показать распознанный текст
foreach (RecognitionResult result in results)
{
    Console.WriteLine(result.RecognitionText);
}
OCR PDF и извлечение текста из PDF на С#

OCR PDF и извлечение текста из PDF на С#

Выполняйте OCR в PDF и сохраняйте текст в C#

Мы можем выполнить распознавание документов в формате PDF и сохранить распознанный текст, выполнив следующие действия:

  1. Во-первых, создайте экземпляр класса AsposeOcr.
  2. Затем инициализируйте объект класса DocumentRecognitionSettings.
  3. Затем укажите язык, который будет использоваться для OCR.
  4. После этого вызовите метод RecognizePdf(), чтобы получить RecognitionResult. В качестве аргументов он принимает путь к изображению и объект DocumentRecognitionSettings.
  5. Наконец, сохраните текст с помощью метода SaveMultipageDocument(). Он принимает путь к выходному файлу, объект SaveFormat и RecognitionResult в качестве аргументов.

В следующем примере кода показано, как распознавать PDF-документы и сохранять распознанный текст в C#.

// В этом примере кода показано, как распознавать PDF-документы и извлекать распознанный текст.
// Инициализировать механизм PCR
AsposeOcr recognitionEngine = new AsposeOcr();

// Инициализировать настройки распознавания
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();

// Укажите язык для OCR. Мультиязычность по умолчанию
recognitionSettings.Language = Language.Eng;

// Распознать текст из PDF
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);

// Сохраните распознанный текст
AsposeOcr.SaveMultipageDocument("C:\\Files\\OCR_result.txt", SaveFormat.Text, results);
Выполняйте OCR в PDF и сохраняйте текст в C#

Выполняйте OCR в PDF и сохраняйте текст в C#

OCR PDF и преобразование отсканированного PDF в Word на C#

Мы можем выполнить распознавание отсканированных PDF-документов и сохранить распознанный текст в документе Word, выполнив шаги, упомянутые ранее. Однако нам просто нужно указать SaveFormat.Docx на последнем шаге.

В следующем примере кода показано, как распознавать PDF и сохранять распознанный текст в виде документа Word на C#.

// В этом примере кода показано, как распознавать PDF-документы и сохранять распознанный текст в формате DOCX.
// Инициализировать механизм PCR
AsposeOcr recognitionEngine = new AsposeOcr();

// Инициализировать настройки распознавания
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();

// Укажите язык для OCR. Мультиязычность по умолчанию
recognitionSettings.Language = Language.Eng;

// Распознать текст из PDF
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);

// Сохраните распознанный текст в формате DOCX.
AsposeOcr.SaveMultipageDocument("C:\\Files\\OCR_result.docx", SaveFormat.Docx, results);
OCR PDF и преобразование отсканированного PDF в Word на C#

OCR PDF и преобразование отсканированного PDF в Word на C#

OCR PDF и преобразование PDF в JSON на C#

Мы можем выполнить распознавание документов PDF и сохранить распознанный текст в файле JSON, выполнив шаги, упомянутые ранее. Однако нам просто нужно указать SaveFormat.Json на последнем шаге.

В следующем примере кода показано, как распознавать PDF и сохранять распознанный текст в виде файла JSON на C#.

// В этом примере кода показано, как распознавать PDF-документы и сохранять распознанный текст в формате JSON.
// Инициализировать механизм PCR
AsposeOcr recognitionEngine = new AsposeOcr();

// Инициализировать настройки распознавания
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();

// Укажите язык для OCR. Мультиязычность по умолчанию
recognitionSettings.Language = Language.Eng;

// Распознать текст из PDF
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);

// Сохраните распознанный текст в формате JSON.
AsposeOcr.SaveMultipageDocument("C:\\Files\\OCR_result.json", SaveFormat.Json, results);

Получите бесплатную пробную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.

Вывод

В этой статье мы узнали, как выполнять распознавание текста в PDF-документах и извлекать текст из PDF на C#. Мы также видели, как сохранить распознанный текст в виде файла TXT, DOCX и JSON. Кроме того, вы можете узнать больше об Aspose.OCR для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме.

Смотрите также