このメソッドは、入力された “image only” または “image on text” の PDF ファイルを処理し、同じページ画像と、文書内で認識されたテキストから作成された不可視のテキストレイヤーを含む検索可能な PDF ファイルを作成します。
入力ファイルにすでにテキストレイヤーが含まれている場合、そのレイヤーは置き換えられます。入力ファイルにテキストレイヤーが含まれているかどうかは、Engine オブジェクトの IsPdfWithTextualContent メソッドで確認できます。
このメソッドで処理できるのは PDF ファイルのみです。その他の画像形式から検索可能な PDF を作成するには、FRDocument オブジェクトのメソッド (例: AddImageFile、Process、Export) を使用できます。
Windows では、このメソッドを呼び出す前に、現在のスレッドで COM ライブラリを初期化しておく必要があります。
HRESULT InjectTextLayer(
BSTR SourcePdfFile,
BSTR TargetPdfFile,
IImagePasswordCallback* PasswordCallback,
IPrepareImageMode* PrepareMode,
IDocumentProcessingParams* DocumentProcessingParams,
IIntsCollection* PageIndices,
IProcessingEvents* ProcessingEvents,
ITextLayerInjectionParams* TextLayerInjectionParams
);
void InjectTextLayer(
string SourcePdfFile,
string TargetPdfFile,
IImagePasswordCallback PasswordCallback,
IPrepareImageMode PrepareMode,
IDocumentProcessingParams DocumentProcessingParams,
IIntsCollection PageIndices,
IProcessingEvents ProcessingEvents,
ITextLayerInjectionParams TextLayerInjectionParams
);
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] _
)
SourcePdfFile
[in] この変数には、ソース PDF ファイルへのフルパスが格納されます。他の形式のファイルは処理できません。
TargetPdfFile
[in] この変数には、処理結果として作成される検索可能 PDF ファイルへのフルパスが格納されます。ソース ファイル名とターゲット ファイル名を同じにすることはできません。
PasswordCallback
[in] PDF ファイルへのアクセス時に発生する可能性があるパスワード要求を処理するために使用される、ユーザー実装オブジェクトの IImagePasswordCallback 型のインターフェイスを参照します。このパラメータは省略可能で、0 を指定できます。この場合、パスワードで保護されたファイルは処理できません。
PrepareMode
[in] 画像ファイルを ABBYY FineReader Engine の internal format に変換するモードを定義する PrepareImageMode オブジェクトを参照します。このパラメータには 0 を指定できます。この場合は画像準備モードの既定のパラメータが使用されます。また、プロファイル が読み込まれている場合は、そのプロファイルで設定されたパラメータが使用されます。
ジオメトリ補正に関するパラメータのうち、考慮されるのは傾き補正、ミラーリング、および回転に対応するものだけである点に注意してください。ページ分割および非線形ジオメトリ補正は実行されません。
DocumentProcessingParams
[in] すべての処理パラメータを格納する DocumentProcessingParams オブジェクトを参照します。このパラメータには 0 を指定できます。この場合、文書は既定のパラメータで処理されます (すべての処理パラメータは既定値に設定されます) 。また、プロファイル が読み込まれている場合は、そのプロファイルで設定されたパラメータが使用されます。
ジオメトリ補正に関するパラメータのうち、考慮されるのは画像の傾き補正、ミラーリング、および回転に対応するものだけである点に注意してください。ページ分割および非線形ジオメトリ補正は実行されません。
PageIndices
[in] このパラメータは、テキストを挿入する文書ページのインデックスを指定する IntsCollection オブジェクトを参照します。このパラメータは省略可能で、0 を指定できます。この場合、文書のすべてのページにテキストが挿入されます。
ProcessingEvents
[in] 処理の管理に使用される、ユーザー実装オブジェクトの IProcessingEvents インターフェイスを参照します。このパラメータには 0 を指定できます。この場合、コールバックは関連付けられません。
TextLayerInjectionParams
[in] この変数は、テキスト挿入時の文書処理パラメータを格納する TextLayerInjectionParams オブジェクトを参照します。このパラメータには 0 を指定できます。この場合、オブジェクトのプロパティの既定値が使用されます。
このメソッド固有の戻り値はありません。代わりに、ABBYY FineReader Engine 関数の標準的な戻り値が返されます。
画像の傾き補正、ミラーリング、回転に対応する処理パラメーターは反映されます。ページ分割および非線形ジオメトリ補正は実行されません。
Linux と Windows では、IEngine::MultiProcessingParams プロパティの値に応じて、ABBYY FineReader Engine は複数ページのドキュメントの処理を CPU コアに分散して実行できます。
Engine
IImagePasswordCallback