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 LongDLL
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);パラメータ
| Page | 1 から始まる対象ページ番号 |
|---|---|
| ResultJSON | バージョン付き OCR 結果オブジェクト |
| FontName | 埋め込み可能な TrueType フォント名またはパスです。インストール済みのフォールバックを選択する場合は空文字列です |
| MinConfidence | 0 から 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 が詳細な理由を示します