ApplyOCRTextLayer

OCR、テキスト、ドキュメント編集

説明

プロバイダーに依存しない OCR JSON を検証し、収まるよう調整したレンダリングモード 3 のテキストをページに追加します

追加されたテキストは検索および選択できますが、ページのレンダリング時には不可視です

構文

Delphi

Function TPDFlib.ApplyOCRTextLayer(Page: Integer; Const ResultJSON,
  FontName: WideString; MinConfidence: Double): Integer;

ActiveX

Function PDFlib::ApplyOCRTextLayer(Page As Long, ResultJSON As String, FontName As String, MinConfidence As Double) As Long

DLL

int DLApplyOCRTextLayer(int InstanceID, int Page, const wchar_t* ResultJSON,
  const wchar_t* FontName, double MinConfidence);
int DLApplyOCRTextLayerA(int InstanceID, int Page, const char* ResultJSON,
  const char* FontName, double MinConfidence);

パラメータ

Page1 から始まる対象ページ番号
ResultJSONバージョン付き OCR 結果オブジェクト
FontName埋め込み可能な TrueType フォント名またはパスです。インストール済みのフォールバックを選択する場合は空文字列です
MinConfidence0 から 1 までの範囲を含む信頼度しきい値

JSON スキーマ

{
  "version": 1,
  "width": 2480,
  "height": 3508,
  "words": [
    {"text": "Invoice", "left": 120, "top": 180,
     "width": 260, "height": 54, "confidence": 0.98}
  ]
}

left と top はソース単位の左上原点を使用します

width と height の両方がある場合、単語ボックスはそのソース寸法から PDF ページへ拡大縮小されます。両方を省略した場合、座標は PDF ポイントとして解釈されます

各単語には text、left、top、width、height が必要です。confidence は省略可能で、既定値は 1

幾何情報は有限かつ非負で、幅と高さは正である必要があり、信頼度は 0~1 で指定します

戻り値

1テキストレイヤーが追加されたか、しきい値を満たす単語がありませんでした
0検証または書き込みに失敗しました

備考

ページ内容を書き込む前に、完全な JSON 構造とすべての単語境界を検証します

各単語はボックスの高さからサイズを決定し、テキストスケーリングで水平方向に合わせる。一方、分離されたグラフィックス状態により OCR 書式が後続の描画操作へ漏れるのを防ぐ

無効な OCR JSON の場合、LastErrorCode は 110 となる。ページ、フォント、またはテキストレイヤー書き込み失敗の場合は 307 となる

LastOCRError が詳細な理由を示します

関連項目

OCRPage、OCRDocument、LastOCRError、RenderPageToString