OCRPageEx

OCR, рендеринг, редактирование документов

Описание

Проверяет политику существующего текста, при необходимости рендерит страницу в PNG, вызывает выбранного провайдера OCR и применяет результат как невидимый текстовый слой, принадлежащий библиотеке

Синтаксис

Delphi

Function TPDFlib.OCRPageEx(Page: Integer; DPI: Double; Const Language,
  FontName: WideString; MinConfidence: Double; Options: Integer): Integer;

ActiveX

Function PDFlib::OCRPageEx(Page As Long, DPI As Double, Language As String,
  FontName As String, MinConfidence As Double, Options As Long) As Long

DLL

int DLOCRPageEx(int InstanceID, int Page, double DPI, const wchar_t* Language,
  const wchar_t* FontName, double MinConfidence, int Options);
int DLOCRPageExA(int InstanceID, int Page, double DPI, const char* Language,
  const char* FontName, double MinConfidence, int Options);

Параметры

PageЦелевая страница, начиная с 1
DPIКонечное положительное растровое разрешение, передаваемое провайдеру
LanguageОпределяемая провайдером подсказка языка; настроенный провайдер Tesseract использует имена обученных данных, например eng
FontNameВнедряемый шрифт TrueType или пустая строка для выбора резервного шрифта
MinConfidenceПорог уверенности слова от 0 до 1 включительно
OptionsПобитовые политики слоя, определённые в ApplyOCRTextLayerEx; ноль добавляет слой, 1 пропускает существующий чужой текст, 2 заменяет слои OCR, принадлежащие библиотеке

Возвращаемые значения

1Результат применён, страница пропущена или ни одно слово не прошло порог
0Рендеринг, выполнение провайдера, валидация результата, запись слоя или отмена помешали завершению

Примечания

Используйте ConfigureTesseractOCR для прилагаемого адаптера движка или назначьте принадлежащий приложению колбэк OnOCRPage

Проверка существующего текста выполняется до рендеринга и запуска провайдера, поэтому пропущенная страница не требует движка OCR

Эта проверка игнорирует только старые потоки OCR, принадлежащие библиотеке; посторонний невидимый текстовый слой или скрытый текст в вызываемом Form XObject всё равно считается существующим текстом

Для сканов, которым нужна проверенная коррекция на четверть оборота, явно включайте определение ориентации; низкая уверенность ориентации завершает операцию сбоем, не меняя слой OCR

Действие над слоем и последние отчёты распознавания и ориентации настроенного движка читайте в GetOCRDiagnosticsJSON

См. также

OCRPage, OCRDocumentEx, ApplyOCRTextLayerEx, ConfigureTesseractOCR, LastOCRError