此方法可处理输入的“仅图像”或“图像加文本”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] 表示由用户实现的 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