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

TextBlockListIDHandle vrácený ExtractPageTextBlocks
IndexIndex textového bloku počítaný od 1
CharIndexPozice v jednotkách kódu UTF-16 uvnitř textu bloku počítaná od 1
ContentLayerVrstva /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
StreamGenerationGenerace obsahujícího streamu
InstructionIndexIndex instrukce v dekódovaném obsahovém programu počítaný od 0
OperandIndexIndex operandu textového řetězce počítaný od 0
ArrayElementIndexPrvek pole TJ počítaný od 0, nebo -1 pro přímý řetězcový operand
SourceByteOffsetOfset v dekódované hodnotě řetězce počítaný od 0, nebo -1 když bezpečně adresovatelný rozsah neexistuje
SourceByteLengthPočet zakódovaných zdrojových bajtů zdrojového glyphu, nebo 0 když bezpečně adresovatelný rozsah neexistuje
FlagsBitové příznaky pozice v obsahu popsané níže

Návratové hodnoty

1Byl vrácen záznam pozice, včetně syntetických záznamů nebo záznamů jen pro čtení
0Handle, index bloku nebo index znaku je neplatný

Příznaky

PDF_TEXT_CHAR_CONTENT_LOCATION_VALIDBajtový rozsah identifikuje obsahový řetězec, pokud neplatí příznaky jen pro čtení
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATEDZnak byl vygenerován během layoutu a nemá žádné zdrojové bajty
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATUREVíce extrahovaných pozic UTF-16 sdílí jeden rozsah zdrojového glyphu
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXTZnak pochází z náhrady /ActualText a je jen pro čtení
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTEDZnak pochází z vnořeného obsahu Form a je jen pro čtení
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYEROperand a operátor zobrazující text přesahují vrstvy obsahu stránky a jsou jen pro čtení
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODEDZdrojový ř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