ConvertTextToPaths

Edycja strumieni zawartości, Czcionki

Opis

Przepisuje instrukcje wyświetlania tekstu na wybranych stronach jako wywołania wektorowych obiektów Form XObject, zachowując rozmieszczenie glifów, odstępy tekstu, tryb pisania, przekształcenia, kolor wypełnienia, kolor obrysu i ustawienia obrysu

Kontury glifów TrueType i Type 1 są wyodrębniane raz i ponownie używane dla powtarzających się glifów. CharProcs Type 3 są przekształcane w zwykłe obiekty Form XObject z zachowaniem macierzy czcionki, prostokąta ograniczającego i zakresu zasobów. Pierwotne instrukcje wyświetlania tekstu i wyboru czcionki są usuwane

Konwersja jest transakcyjna. Każda wybrana warstwa zawartości i żądany zagnieżdżony Form są analizowane i przekształcane w pamięci przed zmianą jakiegokolwiek obiektu PDF. Nieobsługiwane czcionki, tryby renderowania z przycinaniem tekstu od 4 do 7, nieprawidłowy stan tekstu oraz niejednoznaczne współdzielone zakresy zasobów Form powodują niepowodzenie bez częściowego przepisania dokumentu

Przekształcony tekst nie jest już możliwy do wyszukiwania, zaznaczania ani wyodrębniania jako tekst. Pozostaje skalowalną zawartością wektorową do renderowania i drukowania

Składnia

Delphi

Function TPDFlib.ConvertTextToPaths(Const PageRange: WideString= ''; Options: Integer= PDF_TEXT_PATH_DEFAULT): Integer;

ActiveX

Function PDFlib::ConvertTextToPaths(PageRange As String, Options As Long) As Long

DLL

int DLConvertTextToPaths(int InstanceID, const wchar_t *PageRange, int Options);
int DLConvertTextToPathsA(int InstanceID, const char *PageRange, int Options);

Parametry

PageRangeWyrażenie zakresu stron używające numerów stron liczonych od jednego. Pusta wartość wybiera wszystkie strony
OptionsBitowa kombinacja PDF_TEXT_PATH_RECURSE_FORMS, aby przekształcać zagnieżdżone obiekty Form XObject, oraz PDF_TEXT_PATH_PURGE_FONTS, aby usuwać nieużywane zasoby czcionek źródłowych. PDF_TEXT_PATH_DEFAULT włącza obie opcje

Wartości zwracane

1 lub więcejLiczba przekształconych instrukcji wyświetlania tekstu
0Nie znaleziono kwalifikującego się tekstu, zakres lub opcje były nieprawidłowe albo konwersja nie powiodła się. Sprawdź LastErrorCode, aby rozróżnić błędy

Kody błędów

506Czcionka źródłowa nie udostępnia obsługiwanego wektorowego programu glifu
507Tryb renderowania tekstu z przycinaniem wymaga ścieżki przycinania, której nie można przedstawić za pomocą niezależnego obiektu Form glifu
508Program tekstowy, stan czcionki lub rekurencyjny zakres zasobów Form jest nieprawidłowy albo niejednoznaczny

Przykład

Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
  raise Exception.Create(PDF.LastError);