ReplaceTextBlockCharSourceBytes

Tekst, wyodrębnianie, strumienie zawartości, edycja dokumentów

Opis

Zamienia zakodowany zakres bajtów źródłowych zmapowany na jeden wyekstrahowany znak w wybranym dokumencie

Składnia

Delphi

Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
  CharIndex: Integer; Const NewSource: AnsiString): Integer;

Parametry

TextBlockListIDUchwyt zwrócony przez ExtractPageTextBlocks dla wybranego dokumentu
IndexIndeks bloku tekstu liczony od 1
CharIndexPozycja jednostki kodowej UTF-16 liczona od 1 wewnątrz tekstu bloku
NewSourceSurowe bajty zamiany w aktywnym kodowaniu czcionki PDF, nie tekst Unicode

Wartości zwracane

1Zmapowany zakres bajtów został zastąpiony, a jego warstwa treści strony została przepisana
0Położenie jest nieprawidłowe, nieaktualne albo tylko do odczytu, albo nie udało się przepisać warstwy treści

Kody błędów

PDFLIB_ERROR_TEXT_LOCATION_INVALIDLista, indeks, położenie lub instrukcja treści jest nieprawidłowa
PDFLIB_ERROR_TEXT_LOCATION_STALEWarstwa treści strony docelowej zmieniła się od momentu ekstrakcji
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLYZnak jest generowany, podstawiony przez /ActualText, zagnieżdżony w Form, transkodowany przed mapowaniem czcionki albo rozdzielony między warstwy treści

Uwagi

Metoda przepisuje tylko zawierającą warstwę treści strony i zachowuje sąsiednie ciągi Tj, ciągi tablic TJ oraz liczby kerningu

Dwa niezależne odciski palca wykrywają nieaktualną treść przed parsowaniem i zapisem, więc stary wynik ekstrakcji nie może po cichu celować w zmienione bajty

Ponownie wyekstrahuj tekst strony po każdej udanej zamianie, bo wszystkie lokalizacje z poprzedniej listy są nieaktualne

Znaki rozwiniętych ligatur dzielą jeden zakres źródłowy i powinny być traktowane jako jeden źródłowy glif

Wybrana strona jest przywracana po sukcesie albo niepowodzeniu