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
| TextBlockListID | Handle renvoyé par ExtractPageTextBlocks |
|---|---|
| Index | Index de bloc de texte à base 1 |
| CharIndex | Position à base 1 en unités de code UTF-16 dans le texte du bloc |
| ContentLayer | Couche /Contents de la page à base 1, ou 0 pour un contenu imbriqué |
| StreamObjectNumber | Numéro d'objet du flux conteneur, ou 0 pour un flux direct |
| StreamGeneration | Numéro de génération du flux conteneur |
| InstructionIndex | Index d'instruction à base zéro dans le programme de contenu décodé |
| OperandIndex | Index 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 |
| SourceByteOffset | Décalage à base zéro dans la valeur de chaîne décodée, ou -1 lorsqu'aucune plage sûrement adressable n'existe |
| SourceByteLength | Nombre d'octets source encodés pour le glyphe source, ou 0 lorsqu'aucune plage sûrement adressable n'existe |
| Flags | Indicateurs binaires d'emplacement de contenu décrits ci-dessous |
Valeurs de retour
| 1 | Un enregistrement d'emplacement a été renvoyé, y compris les enregistrements synthétiques ou en lecture seule |
|---|---|
| 0 | Le handle, l'index de bloc ou l'index de caractère est invalide |
Indicateurs
PDF_TEXT_CHAR_CONTENT_LOCATION_VALID | La plage d'octets identifie une chaîne de contenu, sous réserve des indicateurs de lecture seule |
|---|---|
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATED | Le caractère a été généré pendant la mise en page et n'a pas d'octets source |
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATURE | Plusieurs positions UTF-16 extraites partagent une même plage de glyphe source |
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXT | Le caractère provient d'un remplacement /ActualText et est en lecture seule |
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTED | Le caractère provient d'un contenu de Form imbriqué et est en lecture seule |
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYER | L'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_TRANSCODED | La 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