Este método processa o arquivo PDF de entrada “somente imagem” ou “imagem sobre texto” e cria um arquivo PDF pesquisável que contém as mesmas imagens de página e a camada de texto invisível criada com base no texto reconhecido no documento.
Observe que, se o arquivo de entrada já contiver uma camada de texto, ela será substituída. Você pode usar o método IsPdfWithTextualContent do objeto Engine para verificar se o arquivo de entrada contém uma camada de texto.
Somente arquivos PDF podem ser processados com este método. Para criar PDFs pesquisáveis a partir de outros tipos de arquivo de imagem, você pode usar métodos do objeto FRDocument (por exemplo, AddImageFile, Process e Export).
No Windows, a biblioteca COM deve ser inicializada na thread atual antes de chamar 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 variável contém o caminho completo do arquivo PDF de origem. Arquivos em outros formatos não podem ser processados.
TargetPdfFile
[in] Esta variável contém o caminho completo do arquivo PDF pesquisável que deve ser criado como resultado do processamento. Os nomes dos arquivos de origem e de destino não podem ser iguais.
PasswordCallback
[in] Refere-se à interface do objeto implementado pelo usuário do tipo IImagePasswordCallback, usada para tratar eventuais solicitações de senha para acessar arquivos PDF. Este parâmetro é opcional e pode ser 0; nesse caso, arquivos protegidos por senha não poderão ser processados.
PrepareMode
[in] Refere-se ao objeto PrepareImageMode, que define o modo de conversão do arquivo de imagem para o formato interno do ABBYY FineReader Engine. Este parâmetro pode ser 0; nesse caso, serão usados os parâmetros padrão do modo de preparação de imagem ou, se um perfil tiver sido carregado, os parâmetros definidos por esse perfil.
Observe que, entre os parâmetros correspondentes à correção de geometria, apenas os relacionados à correção de inclinação, ao espelhamento e à rotação são levados em conta. A divisão de páginas e a correção geométrica não linear não são executadas.
DocumentProcessingParams
[in] Refere-se ao objeto DocumentProcessingParams, que armazena todos os parâmetros de processamento. Este parâmetro pode ser 0. Nesse caso, o documento é processado com os parâmetros padrão (todos os parâmetros de processamento são definidos com valores padrão) ou, se um perfil tiver sido carregado, com os parâmetros definidos por esse perfil.
Observe que, entre os parâmetros correspondentes à correção de geometria, apenas os relacionados à correção de inclinação da imagem, ao espelhamento e à rotação são levados em conta. A divisão de páginas e a correção geométrica não linear não são executadas.
PageIndices
[in] Este parâmetro refere-se ao objeto IntsCollection, que especifica os índices das páginas do documento nas quais o texto será injetado. Este parâmetro é opcional e pode ser 0; nesse caso, o texto será injetado em todas as páginas do documento.
ProcessingEvents
[in] Refere-se à interface IProcessingEvents do objeto implementado pelo usuário, usada para gerenciar o processamento. Este parâmetro pode ser 0; nesse caso, nenhum callback será associado.
TextLayerInjectionParams
[in] Esta variável refere-se ao objeto TextLayerInjectionParams, que armazena os parâmetros de processamento do documento durante a injeção de texto. Este parâmetro pode ser 0. Nesse caso, serão usados os valores padrão das propriedades do objeto.
Este método não possui valores de retorno específicos. Ele retorna os valores de retorno padrão das funções do ABBYY FineReader Engine.
São considerados os parâmetros de processamento correspondentes à correção de inclinação da imagem, ao espelhamento e à rotação. A divisão de páginas e a correção geométrica não linear não são realizadas.
No Linux e no Windows: dependendo do valor da propriedade IEngine::MultiProcessingParams, ABBYY FineReader Engine pode distribuir o processamento de documentos com várias páginas entre os núcleos da CPU.
Engine
IImagePasswordCallback