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

TextBlockListIDHandle restituito da ExtractPageTextBlocks
IndexIndice del blocco di testo in base uno
CharIndexPosizione dell'unità di codice UTF-16 in base uno nel testo del blocco
ContentLayerLivello /Contents della pagina in base uno, oppure 0 per contenuto annidato
StreamObjectNumberNumero di oggetto dello stream contenitore, oppure 0 per uno stream diretto
StreamGenerationNumero di generazione dello stream contenitore
InstructionIndexIndice dell'istruzione in base zero nel programma di contenuto decodificato
OperandIndexIndice dell'operando stringa di testo in base zero
ArrayElementIndexElemento dell'array TJ in base zero, oppure -1 per un operando stringa diretto
SourceByteOffsetOffset in base zero nel valore della stringa decodificata, oppure -1 quando non esiste un intervallo indirizzabile in modo sicuro
SourceByteLengthNumero di byte della sorgente codificati per il glifo della sorgente, oppure 0 quando non esiste un intervallo indirizzabile in modo sicuro
FlagsFlag 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
0L'handle, l'indice del blocco o l'indice del carattere non è valido

Flag

PDF_TEXT_CHAR_CONTENT_LOCATION_VALIDL'intervallo di byte identifica una stringa di contenuto, salvo eventuali flag di sola lettura
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATEDIl carattere è stato generato durante il layout e non ha byte della sorgente
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATUREPiù posizioni UTF-16 estratte condividono un intervallo di glifo della sorgente
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXTIl carattere proveniva da una sostituzione /ActualText ed è di sola lettura
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTEDIl carattere proveniva da contenuto di Form annidato ed è di sola lettura
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYERL'operando e l'operatore di mostra testo attraversano i livelli di contenuto della pagina e sono di sola lettura
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODEDLa 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