ReplaceTextBlockCharSourceBytes

Texto, Extração, Fluxos de conteúdo, Edição de documentos

Descrição

Substitui o intervalo de bytes de origem codificados mapeado para um caractere extraído no documento selecionado

Sintaxe

Delphi

Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
  CharIndex: Integer; Const NewSource: AnsiString): Integer;

Parâmetros

TextBlockListIDHandle retornado por ExtractPageTextBlocks para o documento selecionado
IndexÍndice do bloco de texto com base 1
CharIndexPosição de unidade de código UTF-16 com base 1 dentro do texto do bloco
NewSourceBytes brutos de substituição na codificação de fonte PDF ativa, não texto Unicode

Valores de retorno

1O intervalo de bytes mapeado foi substituído e sua camada de conteúdo de página foi reescrita
0A localização é inválida, obsoleta ou somente leitura, ou a camada de conteúdo não pôde ser reescrita

Códigos de erro

PDFLIB_ERROR_TEXT_LOCATION_INVALIDA lista, o índice, a localização ou a instrução de conteúdo é inválida
PDFLIB_ERROR_TEXT_LOCATION_STALEA camada de conteúdo da página de destino mudou desde a extração
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLYO caractere é gerado, substituído por /ActualText, aninhado em um Form, transcodificado antes do mapeamento da fonte ou dividido entre camadas de conteúdo

Observações

O método reescreve apenas a camada de conteúdo da página que contém a instrução e preserva strings Tj adjacentes, strings de array TJ e números de kerning

Duas impressões digitais independentes detectam conteúdo obsoleto antes de analisar e gravar, então um resultado de extração antigo não pode mirar silenciosamente bytes alterados

Reextraia o texto da página depois de cada substituição bem-sucedida, porque todas as localizações da lista anterior estão obsoletas

Caracteres expandidos de ligadura compartilham uma faixa de origem e devem ser tratados como um glifo de origem único

A página selecionada é restaurada depois de sucesso ou falha