GetTextBlockCharContentLocation
Texto, Extração, Fluxos de conteúdo, Diagnósticos
Descrição
Retorna a localização estável no fluxo de conteúdo e o intervalo de bytes de origem codificados associados a um caractere extraído
Sintaxe
Delphi
Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
SourceByteOffset, SourceByteLength, Flags: Integer): Integer;Parâmetros
| TextBlockListID | Handle retornado por ExtractPageTextBlocks |
|---|---|
| Index | Índice de bloco de texto com base em um |
| CharIndex | Posição de unidade de código UTF-16 com base em um dentro do texto do bloco |
| ContentLayer | Camada /Contents da página com base em um, ou 0 para conteúdo aninhado |
| StreamObjectNumber | Número do objeto do fluxo que o contém, ou 0 para um fluxo direto |
| StreamGeneration | Número de geração do fluxo que o contém |
| InstructionIndex | Índice de instrução com base em zero no programa de conteúdo decodificado |
| OperandIndex | Índice de operando de string de texto com base em zero |
| ArrayElementIndex | Elemento do array TJ com base em zero, ou -1 para um operando de string direto |
| SourceByteOffset | Deslocamento com base em zero no valor da string decodificada, ou -1 quando não existe intervalo endereçável com segurança |
| SourceByteLength | Número de bytes de origem codificados para o glifo de origem, ou 0 quando não existe intervalo endereçável com segurança |
| Flags | Sinalizadores de localização de conteúdo bit a bit descritos abaixo |
Valores retornados
| 1 | Um registro de localização foi retornado, incluindo registros sintéticos ou somente leitura |
|---|---|
| 0 | O handle, o índice de bloco ou o índice de caractere é inválido |
Sinalizadores
PDF_TEXT_CHAR_CONTENT_LOCATION_VALID | O intervalo de bytes identifica uma string de conteúdo, sujeito a quaisquer sinalizadores somente leitura |
|---|---|
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATED | O caractere foi gerado durante o layout e não tem bytes de origem |
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATURE | Múltiplas posições UTF-16 extraídas compartilham um intervalo de glifo de origem |
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXT | O caractere veio de uma substituição /ActualText e é somente leitura |
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTED | O caractere veio de conteúdo de Form aninhado e é somente leitura |
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYER | O operando e o operador de exibição de texto cruzam camadas de conteúdo da página e são somente leitura |
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODED | A string de origem foi transcodificada antes do mapeamento de fonte, de modo que deslocamentos decodificados não podem endereçar seus bytes originais com segurança |
Observações
Os offsets endereçam bytes de string decodificados na codificação da fonte, e não texto Unicode
Caracteres suplementares e expansões de ligadura podem devolver a mesma faixa de origem para mais de uma posição UTF-16
Use ReplaceTextBlockCharSourceBytes apenas quando o flag válido estiver definido e nenhum dos flags somente leitura estiver presente
A busca de localização usa trechos do momento da extração e não reanalisa o conteúdo da página