Este método procesa el archivo PDF de entrada “solo imagen” o “imagen sobre texto” y crea un archivo PDF con capacidad de búsqueda que contiene las mismas imágenes de página y la capa de texto invisible generada a partir del texto reconocido del documento.
Tenga en cuenta que, si el archivo de entrada ya contiene una capa de texto, esta se reemplazará. Puede usar el método IsPdfWithTextualContent del objeto Engine para comprobar si el archivo de entrada contiene una capa de texto.
Solo se pueden procesar archivos PDF con este método. Para crear PDF con capacidad de búsqueda a partir de otros tipos de imágenes, puede usar métodos del objeto FRDocument (por ejemplo, AddImageFile, Process y Export).
En Windows, la biblioteca COM debe inicializarse en el subproceso actual antes de llamar a este método.
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] Esta variable contiene la ruta completa al archivo PDF de origen. Los archivos en otros formatos no se pueden procesar.
TargetPdfFile
[in] Esta variable contiene la ruta completa al archivo PDF con capacidad de búsqueda que debe crearse como resultado del procesamiento. Los nombres de los archivos de origen y de destino no pueden ser iguales.
PasswordCallback
[in] Hace referencia a la interfaz del objeto implementado por el usuario del tipo IImagePasswordCallback, que se utiliza para gestionar posibles solicitudes de contraseña para acceder a archivos PDF. Este parámetro es opcional y puede ser 0; en ese caso, los archivos protegidos con contraseña no se pueden procesar.
PrepareMode
[in] Hace referencia al objeto PrepareImageMode, que define el modo de conversión del archivo de imagen al formato interno de ABBYY FineReader Engine. Este parámetro puede ser 0; en ese caso, se usan los parámetros predeterminados del modo de preparación de imagen o, si se ha cargado un profile, se usan los parámetros establecidos por ese perfil.
Tenga en cuenta que, de los parámetros correspondientes a la corrección geométrica, solo se tienen en cuenta los correspondientes a la corrección de inclinación, el espejado y la rotación. No se realizan la división de páginas ni la corrección geométrica no lineal.
DocumentProcessingParams
[in] Hace referencia al objeto DocumentProcessingParams, que almacena todos los parámetros de procesamiento. Este parámetro puede ser 0. En este caso, el documento se procesa con los parámetros predeterminados (todos los parámetros de procesamiento se establecen en sus valores predeterminados) o, si se ha cargado un profile, se usan los parámetros establecidos por ese perfil.
Tenga en cuenta que, de los parámetros correspondientes a la corrección geométrica, solo se tienen en cuenta los correspondientes a la corrección de inclinación de la imagen, el espejado y la rotación. No se realizan la división de páginas ni la corrección geométrica no lineal.
PageIndices
[in] Este parámetro hace referencia al objeto IntsCollection, que especifica los índices de las páginas del documento en las que se inyectará el texto. Este parámetro es opcional y puede ser 0; en ese caso, el texto se inyectará en todas las páginas del documento.
ProcessingEvents
[in] Hace referencia a la interfaz IProcessingEvents del objeto implementado por el usuario, que se utiliza para gestionar el procesamiento. Este parámetro puede ser 0; en ese caso, no se adjuntará ningún callback.
TextLayerInjectionParams
[in] Esta variable hace referencia al objeto TextLayerInjectionParams, que almacena los parámetros del procesamiento del documento durante la inyección de texto. Este parámetro puede ser 0. En este caso, se utilizan los valores predeterminados de las propiedades del objeto.
Este método no tiene valores de retorno específicos. Devuelve los valores de retorno estándar de las funciones de ABBYY FineReader Engine.
Se tienen en cuenta los parámetros de procesamiento correspondientes a la corrección de la inclinación, el espejado y la rotación de la imagen. No se realizan la división de páginas ni la corrección geométrica no lineal.
En Linux y Windows: Según el valor de la propiedad IEngine::MultiProcessingParams, ABBYY FineReader Engine puede distribuir el procesamiento de documentos multipágina entre los núcleos de la CPU.
Engine
IImagePasswordCallback