GetTextBlockCharContentLocation
Text, extrakce, toky obsahu, diagnostika
Popis
Vrací stabilní pozici v obsahovém streamu a rozsah zakódovaných zdrojových bajtů patřících k jednomu extrahovanému znaku
Syntaxe
Delphi
Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
SourceByteOffset, SourceByteLength, Flags: Integer): Integer;Parametry
| TextBlockListID | Handle vrácený ExtractPageTextBlocks |
|---|---|
| Index | Index textového bloku počítaný od 1 |
| CharIndex | Pozice v jednotkách kódu UTF-16 uvnitř textu bloku počítaná od 1 |
| ContentLayer | Vrstva /Contents stránky počítaná od 1, nebo 0 pro vnořený obsah |
| StreamObjectNumber | Číslo objektu obsahujícího streamu, nebo 0 pro přímý stream |
| StreamGeneration | Generace obsahujícího streamu |
| InstructionIndex | Index instrukce v dekódovaném obsahovém programu počítaný od 0 |
| OperandIndex | Index operandu textového řetězce počítaný od 0 |
| ArrayElementIndex | Prvek pole TJ počítaný od 0, nebo -1 pro přímý řetězcový operand |
| SourceByteOffset | Ofset v dekódované hodnotě řetězce počítaný od 0, nebo -1 když bezpečně adresovatelný rozsah neexistuje |
| SourceByteLength | Počet zakódovaných zdrojových bajtů zdrojového glyphu, nebo 0 když bezpečně adresovatelný rozsah neexistuje |
| Flags | Bitové příznaky pozice v obsahu popsané níže |
Návratové hodnoty
| 1 | Byl vrácen záznam pozice, včetně syntetických záznamů nebo záznamů jen pro čtení |
|---|---|
| 0 | Handle, index bloku nebo index znaku je neplatný |
Příznaky
PDF_TEXT_CHAR_CONTENT_LOCATION_VALID | Bajtový rozsah identifikuje obsahový řetězec, pokud neplatí příznaky jen pro čtení |
|---|---|
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATED | Znak byl vygenerován během layoutu a nemá žádné zdrojové bajty |
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATURE | Více extrahovaných pozic UTF-16 sdílí jeden rozsah zdrojového glyphu |
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXT | Znak pochází z náhrady /ActualText a je jen pro čtení |
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTED | Znak pochází z vnořeného obsahu Form a je jen pro čtení |
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYER | Operand a operátor zobrazující text přesahují vrstvy obsahu stránky a jsou jen pro čtení |
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODED | Zdrojový řetězec byl před mapováním fontu překódován, takže dekódované ofsety nemohou bezpečně adresovat jeho původní bajty |
Poznámky
Ofsety adresují dekódované bajty řetězce kódované fontem, nikoli text Unicode
Doplňkové znaky a rozklady ligatur mohou vrátit stejný zdrojový rozsah pro více než jednu pozici UTF-16
Použijte ReplaceTextBlockCharSourceBytes jen tehdy, když je nastaven příznak platnosti a žádný z příznaků jen-pro-čtení není přítomen
Vyhledávání lokace používá rozsahy z času extrakce a znovu neparsuje obsah stránky