OCRPageEx

OCR、レンダリング、ドキュメント編集

説明

既存テキストのポリシーを確認し、必要なら 1 ページを 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);

パラメータ

Page1 から始まる対象ページ
DPIプロバイダーに渡される有限の正のラスター解像度
Languageプロバイダー定義の言語ヒント。同梱の Tesseract プロバイダーは eng のような学習済みデータ名を使います
FontName埋め込み可能な TrueType フォント。フォールバック選択には空文字列を指定します
MinConfidence0~1 の包含単語信頼度しきい値
OptionsApplyOCRTextLayerEx が定義するレイヤーポリシーのビットごとの組み合わせ。0 は追加、1 は所有でない既存テキストのスキップ、2 は所有 OCR レイヤーの置換です

戻り値

1結果が適用されたか、ページがスキップされたか、しきい値を満たす単語がありませんでした
0描画、プロバイダーの実行、結果の検証、レイヤーの書き込み、キャンセルのいずれかで完了できませんでした

備考

同梱のエンジンアダプターには ConfigureTesseractOCR を使い、アプリケーション所有のコールバックを割り当てる場合は OnOCRPage を使ってください

既存テキストの確認は描画とプロバイダーの実行の前に行われるため、スキップされたページに OCR エンジンは必要ありません

この確認で無視されるのは所有されている旧 OCR ストリームだけです。外部由来の不可視テキストレイヤーや、呼び出された Form XObject 内の隠しテキストは既存テキストとして数えられます

検証済みの 90 度回転補正が必要なスキャンでは、向き検出を明示的に有効にしてください。向きの信頼度が低いと、OCR レイヤーを変更せずに失敗します

レイヤーの操作と、構成済みエンジンの最新の認識・向きレポートは GetOCRDiagnosticsJSON で読み取ってください

関連項目

OCRPage、OCRDocumentEx、ApplyOCRTextLayerEx、ConfigureTesseractOCR、LastOCRError