> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Engine Object の InjectTextLayer メソッド

> ABBYY FineReader Engine API における Engine Object の InjectTextLayer メソッド — このメソッドは、image-only または image-on-text の PDF ファイルを処理し、認識されたテキストの不可視のテキストレイヤーを含む検索可能な PDF を作成します。

このメソッドは、入力された "[image only](/ja/fine-reader/engine/api-reference/enumerations/pdfexportmodeenum#imageonly)" または "[image on text](/ja/fine-reader/engine/api-reference/enumerations/pdfexportmodeenum#imageontext)" の PDF ファイルを処理し、同じページ画像と、文書内で認識されたテキストから作成された不可視のテキストレイヤーを含む検索可能な PDF ファイルを作成します。

入力ファイルにすでにテキストレイヤーが含まれている場合、そのレイヤーは置き換えられます。入力ファイルにテキストレイヤーが含まれているかどうかは、[Engine](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface) オブジェクトの [IsPdfWithTextualContent](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/ispdfwithtextualcontent-method) メソッドで確認できます。

このメソッドで処理できるのは PDF ファイルのみです。その他の画像形式から検索可能な PDF を作成するには、[FRDocument](/ja/fine-reader/engine/api-reference/document-related-objects/frdocument) オブジェクトのメソッド (例: [AddImageFile](/ja/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefile-method)、[Process](/ja/fine-reader/engine/api-reference/document-related-objects/frdocument/process-method)、[Export](/ja/fine-reader/engine/api-reference/document-related-objects/frdocument/export-method)) を使用できます。

<Note>
  Windows では、このメソッドを呼び出す前に、現在のスレッドで COM ライブラリを初期化しておく必要があります。
</Note>

<div id="syntax">
  ## 構文
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT InjectTextLayer(
  BSTR                       SourcePdfFile,
  BSTR                       TargetPdfFile,
  IImagePasswordCallback*    PasswordCallback,
  IPrepareImageMode*         PrepareMode,
  IDocumentProcessingParams* DocumentProcessingParams,
  IIntsCollection*           PageIndices,
  IProcessingEvents*         ProcessingEvents,
  ITextLayerInjectionParams* TextLayerInjectionParams
);
```

### C\#

```csharp theme={null}
void InjectTextLayer(
  string                    SourcePdfFile,
  string                    TargetPdfFile,
  IImagePasswordCallback    PasswordCallback,
  IPrepareImageMode         PrepareMode,
  IDocumentProcessingParams DocumentProcessingParams,
  IIntsCollection           PageIndices,
  IProcessingEvents         ProcessingEvents,
  ITextLayerInjectionParams TextLayerInjectionParams
);
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
 Sub InjectTextLayer( _
  SourcePdfFile As String, _
  TargetPdfFile As String, _                
  [PasswordCallback As IImagePasswordCallback = Nothing], _
  [PrepareMode As IPrepareImageMode = Nothing], _         
  [DocumentProcessingParams As IDocumentProcessingParams = Nothing], _
  [PageIndices As IIntsCollection = Nothing], _
  [ProcessingEvents As IProcessingEvents = Nothing], _
  [TextLayerInjectionParams As ITextLayerInjectionParams = Nothing] _
)
```

<div id="parameters">
  ## パラメータ
</div>

SourcePdfFile

\[in] この変数には、ソース PDF ファイルへのフルパスが格納されます。他の形式のファイルは処理できません。

TargetPdfFile

\[in] この変数には、処理結果として作成される検索可能 PDF ファイルへのフルパスが格納されます。ソース ファイル名とターゲット ファイル名を同じにすることはできません。

PasswordCallback

\[in] PDF ファイルへのアクセス時に発生する可能性があるパスワード要求を処理するために使用される、ユーザー実装オブジェクトの [IImagePasswordCallback](/ja/fine-reader/engine/api-reference/image-related-objects/iimagepasswordcallback) 型のインターフェイスを参照します。このパラメータは省略可能で、0 を指定できます。この場合、パスワードで保護されたファイルは処理できません。

PrepareMode

\[in] 画像ファイルを ABBYY FineReader Engine の internal format に変換するモードを定義する [PrepareImageMode](/ja/fine-reader/engine/api-reference/image-related-objects/prepareimagemode) オブジェクトを参照します。このパラメータには 0 を指定できます。この場合は画像準備モードの既定のパラメータが使用されます。また、[プロファイル](/ja/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles) が読み込まれている場合は、そのプロファイルで設定されたパラメータが使用されます。

ジオメトリ補正に関するパラメータのうち、考慮されるのは傾き補正、ミラーリング、および回転に対応するものだけである点に注意してください。ページ分割および非線形ジオメトリ補正は実行されません。

DocumentProcessingParams

\[in] すべての処理パラメータを格納する [DocumentProcessingParams](/ja/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/documentprocessingparams) オブジェクトを参照します。このパラメータには 0 を指定できます。この場合、文書は既定のパラメータで処理されます (すべての処理パラメータは既定値に設定されます) 。また、[プロファイル](/ja/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles) が読み込まれている場合は、そのプロファイルで設定されたパラメータが使用されます。

ジオメトリ補正に関するパラメータのうち、考慮されるのは画像の傾き補正、ミラーリング、および回転に対応するものだけである点に注意してください。ページ分割および非線形ジオメトリ補正は実行されません。

PageIndices

\[in] このパラメータは、テキストを挿入する文書ページのインデックスを指定する [IntsCollection](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/intscollection) オブジェクトを参照します。このパラメータは省略可能で、0 を指定できます。この場合、文書のすべてのページにテキストが挿入されます。

ProcessingEvents

\[in] 処理の管理に使用される、ユーザー実装オブジェクトの [IProcessingEvents](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/iprocessingevents) インターフェイスを参照します。このパラメータには 0 を指定できます。この場合、コールバックは関連付けられません。

TextLayerInjectionParams

\[in] この変数は、テキスト挿入時の文書処理パラメータを格納する [TextLayerInjectionParams](/ja/fine-reader/engine/api-reference/parameter-objects/export-parameters/textlayerinjectionparams) オブジェクトを参照します。このパラメータには 0 を指定できます。この場合、オブジェクトのプロパティの既定値が使用されます。

<div id="return-values">
  ## 戻り値
</div>

このメソッド固有の戻り値はありません。代わりに、[ABBYY FineReader Engine 関数の標準的な戻り値](/ja/fine-reader/engine/api-reference/return-codes)が返されます。

<div id="remarks">
  ## 備考
</div>

画像の傾き補正、ミラーリング、回転に対応する処理パラメーターは反映されます。ページ分割および非線形ジオメトリ補正は実行されません。

Linux と Windows では、[IEngine::MultiProcessingParams](/ja/fine-reader/engine/api-reference/parameter-objects/multiprocessingparams) プロパティの値に応じて、ABBYY FineReader Engine は複数ページのドキュメントの処理を CPU コアに分散して実行できます。

<div id="see-also">
  ## 関連項目
</div>

[Engine](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface)

[IImagePasswordCallback](/ja/fine-reader/engine/api-reference/image-related-objects/iimagepasswordcallback)
