ReplaceTextBlockCharSourceBytes
Text, extrakce, toky obsahu, úpravy dokumentů
Popis
Nahradí kódované rozpětí zdrojových bajtů namapované na jeden extrahovaný znak ve vybraném dokumentu
Syntaxe
Delphi
Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
CharIndex: Integer; Const NewSource: AnsiString): Integer;Parametry
| TextBlockListID | Handle vrácený funkcí ExtractPageTextBlocks pro vybraný dokument |
|---|---|
| Index | Index textového bloku číslovaný od jedničky |
| CharIndex | Pozice jednotky UTF-16 uvnitř textu bloku číslovaná od jedničky |
| NewSource | Surové náhradní bajty v aktivním kódování fontu PDF, nikoli text Unicode |
Návratové hodnoty
| 1 | Namapované rozpětí bajtů bylo nahrazeno a jeho vrstva obsahu stránky přepsána |
|---|---|
| 0 | Pozice je neplatná, zastaralá nebo jen pro čtení, nebo se vrstvu obsahu nepodařilo přepsat |
Kódy chyb
PDFLIB_ERROR_TEXT_LOCATION_INVALID | Seznam, index, pozice nebo instrukce obsahu je neplatná |
|---|---|
PDFLIB_ERROR_TEXT_LOCATION_STALE | Vrstva obsahu cílové stránky se od extrakce změnila |
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLY | Znak je generovaný, nahrazený pomocí /ActualText, vnořený do Formu, překódovaný před mapováním fontu nebo rozdělený přes vrstvy obsahu |
Poznámky
Metoda přepíše jen vrstvu obsahu obsahující stránku a zachová přilehlé řetězce Tj, řetězce v polích TJ a kerningová číslaDva nezávislé otisky odhalí zastaralý obsah před parsováním i zápisem, takže starý výsledek extrakce nemůže potichu mířit na změněné bajtyPo každé úspěšné náhradě extrahujte text stránky znovu, protože všechny pozice z předchozího seznamu jsou zastaraléZnaky rozbalené z ligatur sdílejí jedno zdrojové rozpětí a měly by se považovat za jeden zdrojový glyphVybraná stránka se obnoví po úspěchu i po selhání