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);
パラメータ
| Page | 1 から始まる対象ページ |
|---|---|
| DPI | プロバイダーに渡される有限の正のラスター解像度 |
| Language | プロバイダー定義の言語ヒント。同梱の Tesseract プロバイダーは eng のような学習済みデータ名を使います |
| FontName | 埋め込み可能な TrueType フォント。フォールバック選択には空文字列を指定します |
| MinConfidence | 0~1 の包含単語信頼度しきい値 |
| Options | ApplyOCRTextLayerEx が定義するレイヤーポリシーのビットごとの組み合わせ。0 は追加、1 は所有でない既存テキストのスキップ、2 は所有 OCR レイヤーの置換です |
戻り値
| 1 | 結果が適用されたか、ページがスキップされたか、しきい値を満たす単語がありませんでした |
|---|---|
| 0 | 描画、プロバイダーの実行、結果の検証、レイヤーの書き込み、キャンセルのいずれかで完了できませんでした |
備考
同梱のエンジンアダプターには ConfigureTesseractOCR を使い、アプリケーション所有のコールバックを割り当てる場合は OnOCRPage を使ってください
既存テキストの確認は描画とプロバイダーの実行の前に行われるため、スキップされたページに OCR エンジンは必要ありません
この確認で無視されるのは所有されている旧 OCR ストリームだけです。外部由来の不可視テキストレイヤーや、呼び出された Form XObject 内の隠しテキストは既存テキストとして数えられます
検証済みの 90 度回転補正が必要なスキャンでは、向き検出を明示的に有効にしてください。向きの信頼度が低いと、OCR レイヤーを変更せずに失敗します
レイヤーの操作と、構成済みエンジンの最新の認識・向きレポートは GetOCRDiagnosticsJSON で読み取ってください
関連項目
OCRPage、OCRDocumentEx、ApplyOCRTextLayerEx、ConfigureTesseractOCR、LastOCRError