GetTextBlockCharContentLocation

Tekst, wyodrębnianie, strumienie zawartości, diagnostyka

Opis

Zwraca stabilną lokalizację w strumieniu zawartości i zakres zakodowanych bajtów źródłowych powiązany z jednym wyodrębnionym znakiem

Składnia

Delphi

Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
  CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
  StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
  SourceByteOffset, SourceByteLength, Flags: Integer): Integer;

Parametry

TextBlockListIDUchwyt zwrócony przez ExtractPageTextBlocks
IndexIndeks bloku tekstu liczony od 1
CharIndexPozycja jednostki kodu UTF-16 licząca od 1 wewnątrz tekstu bloku
ContentLayerWarstwa /Contents strony liczona od 1 albo 0 dla zawartości zagnieżdżonej
StreamObjectNumberNumer obiektu strumienia zawierającego albo 0 dla strumienia bezpośredniego
StreamGenerationNumer generacji strumienia zawierającego
InstructionIndexIndeks instrukcji liczony od 0 w zdekodowanym programie zawartości
OperandIndexIndeks operandu łańcucha tekstowego liczony od 0
ArrayElementIndexElement tablicy TJ liczony od 0 albo -1 dla bezpośredniego operandu łańcuchowego
SourceByteOffsetPrzesunięcie liczone od 0 w zdekodowanej wartości łańcucha albo -1, gdy nie istnieje bezpiecznie adresowalny zakres
SourceByteLengthLiczba zakodowanych bajtów źródłowych dla glifu źródłowego albo 0, gdy nie istnieje bezpiecznie adresowalny zakres
FlagsFlagi lokalizacji zawartości łączone bitowo, opisane poniżej

Wartości zwracane

1Zwrócono rekord lokalizacji, łącznie z rekordami syntetycznymi lub tylko do odczytu
0Uchwyt, indeks bloku lub indeks znaku jest nieprawidłowy

Flagi

PDF_TEXT_CHAR_CONTENT_LOCATION_VALIDZakres bajtów identyfikuje łańcuch zawartości, z zastrzeżeniem ewentualnych flag tylko do odczytu
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATEDZnak został wygenerowany podczas układania i nie ma bajtów źródłowych
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATUREKilka wyodrębnionych pozycji UTF-16 współdzieli jeden zakres glifu źródłowego
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXTZnak pochodzi z zastąpienia /ActualText i jest tylko do odczytu
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTEDZnak pochodzi z zagnieżdżonej zawartości Form i jest tylko do odczytu
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYEROperand i operator pokazywania tekstu przekraczają warstwy zawartości strony i są tylko do odczytu
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODEDŁańcuch źródłowy został przekodowany przed mapowaniem czcionki, więc zdekodowane przesunięcia nie mogą bezpiecznie adresować jego oryginalnych bajtów

Uwagi

Przesunięcia adresują bajty zdekodowanego ciągu zakodowanego fontem, a nie tekst Unicode

Znaki uzupełniające i rozwinięcia ligatur mogą zwracać ten sam zakres źródłowy dla więcej niż jednej pozycji UTF-16

Używaj ReplaceTextBlockCharSourceBytes tylko, gdy flaga ważności jest ustawiona i żadna z flag tylko do odczytu nie występuje

Wyszukiwanie lokalizacji używa rozpiętości z czasu ekstrakcji i nie parsuje ponownie treści strony