GetTextBlockCharContentLocation
Texto, extracción, flujos de contenido, diagnóstico
Descripción
Devuelve la ubicación estable en el flujo de contenido y el rango de bytes de origen codificados asociados con un carácter extraído
Sintaxis
Delphi
Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
SourceByteOffset, SourceByteLength, Flags: Integer): Integer;Parámetros
| TextBlockListID | Manejador devuelto por ExtractPageTextBlocks |
|---|---|
| Index | Índice de bloque de texto con base 1 |
| CharIndex | Posición de unidad de código UTF-16 con base 1 dentro del texto del bloque |
| ContentLayer | Capa /Contents de la página con base 1, o 0 para contenido anidado |
| StreamObjectNumber | Número de objeto del flujo contenedor, o 0 para un flujo directo |
| StreamGeneration | Número de generación del flujo contenedor |
| InstructionIndex | Índice de instrucción con base 0 en el programa de contenido decodificado |
| OperandIndex | Índice de operando de cadena de texto con base 0 |
| ArrayElementIndex | Elemento de arreglo TJ con base 0, o -1 para un operando de cadena directo |
| SourceByteOffset | Desplazamiento con base 0 en el valor de cadena decodificado, o -1 cuando no existe un rango direccionable de forma segura |
| SourceByteLength | Número de bytes de origen codificados para el glifo de origen, o 0 cuando no existe un rango direccionable de forma segura |
| Flags | Banderas de ubicación de contenido a nivel de bits descritas a continuación |
Valores devueltos
| 1 | Se devolvió un registro de ubicación, incluidos los registros sintéticos o de solo lectura |
|---|---|
| 0 | El manejador, el índice de bloque o el índice de carácter no es válido |
Banderas
PDF_TEXT_CHAR_CONTENT_LOCATION_VALID | El rango de bytes identifica una cadena de contenido, sujeto a las banderas de solo lectura |
|---|---|
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATED | El carácter se generó durante la maquetación y no tiene bytes de origen |
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATURE | Varias posiciones UTF-16 extraídas comparten un rango de glifo de origen |
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXT | El carácter provino de un reemplazo /ActualText y es de solo lectura |
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTED | El carácter provino de contenido de Form anidado y es de solo lectura |
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYER | El operando y el operador de mostrado de texto cruzan capas de contenido de página y son de solo lectura |
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODED | La cadena de origen se transcodificó antes del mapeo de fuente, por lo que los desplazamientos decodificados no pueden direccionar sus bytes originales de forma segura |
Observaciones
Los desplazamientos apuntan a bytes de cadena decodificados con la codificación de la fuente, no a texto Unicode
Los caracteres suplementarios y las expansiones por ligaduras pueden devolver el mismo rango de origen para más de una posición UTF-16
Use ReplaceTextBlockCharSourceBytes solo cuando el indicador de validez está activo y ninguno de los indicadores de solo lectura está presente
La búsqueda de ubicación usa los tramos capturados en la extracción y no vuelve a analizar el contenido de la página