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 caráter extraído no documento selecionado

Sintaxe

Delphi

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

Parâmetros

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

Valores devolvidos

1O intervalo de bytes mapeado foi substituído e a respetiva camada de conteúdo de página foi reescrita
0A localização é inválida, desatualizada ou só de 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 caráter é gerado, substituído por /ActualText, aninhado num Form, transcodificado antes do mapeamento da fonte ou dividido por várias camadas de conteúdo

Observações

O método reescreve apenas a camada de conteúdo da página que contém o caráter e preserva as cadeias Tj adjacentes, as cadeias de matrizes TJ e os números de kerningDuas impressões digitais independentes detetam conteúdo desatualizado antes da análise e da escrita, pelo que um resultado de extração antigo não pode visar silenciosamente bytes alteradosExtraia novamente o texto da página após cada substituição bem-sucedida, porque todas as localizações da lista anterior estão desatualizadasOs carateres expandidos a partir de ligaduras partilham um intervalo de origem e devem ser tratados como um único glifo de origemA página selecionada é restaurada após êxito ou falha