GetTextBlockCharContentLocation

Texte, extraction, flux de contenu, diagnostic

Description

Renvoie l'emplacement stable dans le flux de contenu et la plage d'octets source encodés associés à un caractère extrait

Syntaxe

Delphi

Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
  CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
  StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
  SourceByteOffset, SourceByteLength, Flags: Integer): Integer;

Paramètres

TextBlockListIDHandle renvoyé par ExtractPageTextBlocks
IndexIndex de bloc de texte à base 1
CharIndexPosition à base 1 en unités de code UTF-16 dans le texte du bloc
ContentLayerCouche /Contents de la page à base 1, ou 0 pour un contenu imbriqué
StreamObjectNumberNuméro d'objet du flux conteneur, ou 0 pour un flux direct
StreamGenerationNuméro de génération du flux conteneur
InstructionIndexIndex d'instruction à base zéro dans le programme de contenu décodé
OperandIndexIndex d'opérande de chaîne de texte à base zéro
ArrayElementIndexÉlément du tableau TJ à base zéro, ou -1 pour un opérande de chaîne directe
SourceByteOffsetDécalage à base zéro dans la valeur de chaîne décodée, ou -1 lorsqu'aucune plage sûrement adressable n'existe
SourceByteLengthNombre d'octets source encodés pour le glyphe source, ou 0 lorsqu'aucune plage sûrement adressable n'existe
FlagsIndicateurs binaires d'emplacement de contenu décrits ci-dessous

Valeurs de retour

1Un enregistrement d'emplacement a été renvoyé, y compris les enregistrements synthétiques ou en lecture seule
0Le handle, l'index de bloc ou l'index de caractère est invalide

Indicateurs

PDF_TEXT_CHAR_CONTENT_LOCATION_VALIDLa plage d'octets identifie une chaîne de contenu, sous réserve des indicateurs de lecture seule
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATEDLe caractère a été généré pendant la mise en page et n'a pas d'octets source
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATUREPlusieurs positions UTF-16 extraites partagent une même plage de glyphe source
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXTLe caractère provient d'un remplacement /ActualText et est en lecture seule
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTEDLe caractère provient d'un contenu de Form imbriqué et est en lecture seule
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYERL'opérande et l'opérateur d'affichage de texte traversent des couches de contenu de page et sont en lecture seule
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODEDLa chaîne source a été transcodée avant le mappage de police, si bien que les décalages décodés ne peuvent pas adresser ses octets d'origine en toute sécurité

Remarques

Les décalages adressent les octets de chaîne décodés selon l'encodage de la police, pas le texte Unicode

Les caractères supplémentaires et les expansions de ligatures peuvent renvoyer la même plage source pour plus d'une position UTF-16

Utilisez ReplaceTextBlockCharSourceBytes seulement quand l'indicateur de validité est actif et qu'aucun indicateur de lecture seule n'est présent

La recherche d'emplacement utilise les étendues capturées lors de l'extraction et ne réanalyse pas le contenu de la page