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
| TextBlockListID | Handle retourné par ExtractPageTextBlocks pour le document sélectionné |
|---|---|
| Index | Index du bloc de texte à base 1 |
| CharIndex | Position d'unité de code UTF-16 à base 1 dans le texte du bloc |
| NewSource | Octets de remplacement bruts dans l'encodage de police PDF actif, et non du texte Unicode |
Valeurs de retour
| 1 | La plage d'octets mappée a été remplacée et sa couche de contenu de page a été réécrite |
|---|---|
| 0 | L'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_INVALID | La liste, l'index, l'emplacement ou l'instruction de contenu est invalide |
|---|---|
PDFLIB_ERROR_TEXT_LOCATION_STALE | La couche de contenu de la page cible a changé depuis l'extraction |
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLY | Le 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