ReplaceTextBlockCharSourceBytes

Texte, extraction, flux de contenu, édition de documents

Description

Remplace la plage d'octets sources encodés mappée à un caractère extrait dans le document sélectionné

Syntaxe

Delphi

Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
  CharIndex: Integer; Const NewSource: AnsiString): Integer;

Paramètres

TextBlockListIDHandle retourné par ExtractPageTextBlocks pour le document sélectionné
IndexIndex du bloc de texte à base 1
CharIndexPosition d'unité de code UTF-16 à base 1 dans le texte du bloc
NewSourceOctets de remplacement bruts dans l'encodage de police PDF actif, et non du texte Unicode

Valeurs de retour

1La plage d'octets mappée a été remplacée et sa couche de contenu de page a été réécrite
0L'emplacement est invalide, obsolète ou en lecture seule, ou la couche de contenu n'a pas pu être réécrite

Codes d'erreur

PDFLIB_ERROR_TEXT_LOCATION_INVALIDLa liste, l'index, l'emplacement ou l'instruction de contenu est invalide
PDFLIB_ERROR_TEXT_LOCATION_STALELa couche de contenu de la page cible a changé depuis l'extraction
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLYLe caractère est généré, substitué par /ActualText, imbriqué dans un Form, transcodé avant le mappage de police ou réparti sur plusieurs couches de contenu

Remarques

La méthode réécrit seulement la couche de contenu de page conteneur et préserve les chaînes Tj adjacentes, les chaînes de tableaux TJ et les nombres de crénage

Deux empreintes indépendantes détectent le contenu périmé avant l'analyse et l'écriture, si bien un ancien résultat d'extraction ne peut pas cibler silencieusement des octets modifiés

Réextrayez le texte de la page après chaque remplacement réussi car tous les emplacements de la liste précédente sont périmés

Les caractères développés par ligatures partagent une plage source et doivent être traités comme un seul glyphe source

La page sélectionnée est restaurée après un succès ou un échec