跳转到主要内容
此方法可处理输入的“仅图像”或“图像加文本”PDF 文件,并创建一个可搜索的 PDF 文件。该文件包含相同的页面图像,以及根据文档识别文本生成的不可见文本层。 请注意,如果输入文件已包含文本层,则该文本层会被替换。您可以使用 Engine 对象的 IsPdfWithTextualContent 方法来检查输入文件是否包含文本层。 此方法只能处理 PDF 文件。若要从其他图像类型创建可搜索的 PDF,您可以使用 FRDocument 对象的方法 (例如 AddImageFileProcessExport) 。
在 Windows 中,调用此方法前,必须先在当前线程上初始化 COM 库。

语法

C++

HRESULT InjectTextLayer(
  BSTR                       SourcePdfFile,
  BSTR                       TargetPdfFile,
  IImagePasswordCallback*    PasswordCallback,
  IPrepareImageMode*         PrepareMode,
  IDocumentProcessingParams* DocumentProcessingParams,
  IIntsCollection*           PageIndices,
  IProcessingEvents*         ProcessingEvents,
  ITextLayerInjectionParams* TextLayerInjectionParams
);

C#

void InjectTextLayer(
  string                    SourcePdfFile,
  string                    TargetPdfFile,
  IImagePasswordCallback    PasswordCallback,
  IPrepareImageMode         PrepareMode,
  IDocumentProcessingParams DocumentProcessingParams,
  IIntsCollection           PageIndices,
  IProcessingEvents         ProcessingEvents,
  ITextLayerInjectionParams TextLayerInjectionParams
);

Visual Basic .NET

 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] 表示由用户实现的 IImagePasswordCallback 类型对象的接口,用于处理访问 PDF 文件时可能出现的密码请求。此参数为可选参数,也可为 0;在这种情况下,无法处理受密码保护的文件。 PrepareMode [in] 表示 PrepareImageMode 对象,该对象定义了将图像文件转换为 ABBYY FineReader Engine 内部格式时使用的模式。此参数可为 0;在这种情况下,将使用图像预处理模式的默认参数;或者,如果已加载某个 profile,则使用该 profile 中设置的参数。 请注意,在与几何校正相关的参数中,只有纠偏、镜像和旋转参数会生效。不会执行页面拆分和非线性几何校正。 DocumentProcessingParams [in] 表示 DocumentProcessingParams 对象,该对象存储所有处理参数。此参数可为 0。在这种情况下,文档将使用默认参数进行处理 (所有处理参数均设为默认值) ;或者,如果已加载某个 profile,则使用该 profile 中设置的参数。 请注意,在与几何校正相关的参数中,只有图像纠偏、镜像和旋转参数会生效。不会执行页面拆分和非线性几何校正。 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