GetTextBlockCharContentLocation
Testo, estrazione, flussi di contenuto, diagnostica
Descrizione
Restituisce la posizione stabile nello stream di contenuto e l'intervallo di byte della sorgente codificati associati a un carattere estratto
Sintassi
Delphi
Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
SourceByteOffset, SourceByteLength, Flags: Integer): Integer;Parametri
| TextBlockListID | Handle restituito da ExtractPageTextBlocks |
|---|---|
| Index | Indice del blocco di testo in base uno |
| CharIndex | Posizione dell'unità di codice UTF-16 in base uno nel testo del blocco |
| ContentLayer | Livello /Contents della pagina in base uno, oppure 0 per contenuto annidato |
| StreamObjectNumber | Numero di oggetto dello stream contenitore, oppure 0 per uno stream diretto |
| StreamGeneration | Numero di generazione dello stream contenitore |
| InstructionIndex | Indice dell'istruzione in base zero nel programma di contenuto decodificato |
| OperandIndex | Indice dell'operando stringa di testo in base zero |
| ArrayElementIndex | Elemento dell'array TJ in base zero, oppure -1 per un operando stringa diretto |
| SourceByteOffset | Offset in base zero nel valore della stringa decodificata, oppure -1 quando non esiste un intervallo indirizzabile in modo sicuro |
| SourceByteLength | Numero di byte della sorgente codificati per il glifo della sorgente, oppure 0 quando non esiste un intervallo indirizzabile in modo sicuro |
| Flags | Flag di posizione del contenuto bit a bit descritti di seguito |
Valori restituiti
| 1 | È stato restituito un record di posizione, inclusi i record sintetici o di sola lettura |
|---|---|
| 0 | L'handle, l'indice del blocco o l'indice del carattere non è valido |
Flag
PDF_TEXT_CHAR_CONTENT_LOCATION_VALID | L'intervallo di byte identifica una stringa di contenuto, salvo eventuali flag di sola lettura |
|---|---|
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATED | Il carattere è stato generato durante il layout e non ha byte della sorgente |
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATURE | Più posizioni UTF-16 estratte condividono un intervallo di glifo della sorgente |
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXT | Il carattere proveniva da una sostituzione /ActualText ed è di sola lettura |
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTED | Il carattere proveniva da contenuto di Form annidato ed è di sola lettura |
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYER | L'operando e l'operatore di mostra testo attraversano i livelli di contenuto della pagina e sono di sola lettura |
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODED | La stringa della sorgente è stata ricodificata prima del mapping del tipo di carattere, quindi gli offset decodificati non possono indirizzare in sicurezza i suoi byte originali |
Osservazioni
Gli offset indirizzano i byte di stringa decodificati con la codifica del font, non il testo Unicode
I caratteri supplementari e le espansioni da legature possono restituire lo stesso intervallo di origine per più di una posizione UTF-16
Usate ReplaceTextBlockCharSourceBytes solo quando il flag di validità è attivo e nessun flag di sola lettura è presente
La ricerca della posizione usa gli span acquisiti in fase di estrazione e non riparsa il contenuto della pagina