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
| PageRange | Wyrażenie zakresu stron używające numerów stron liczonych od jednego. Pusta wartość wybiera wszystkie strony |
|---|---|
| Options | Bitowa 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ęcej | Liczba przekształconych instrukcji wyświetlania tekstu |
|---|---|
| 0 | Nie 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
| 506 | Czcionka źródłowa nie udostępnia obsługiwanego wektorowego programu glifu |
|---|---|
| 507 | Tryb renderowania tekstu z przycinaniem wymaga ścieżki przycinania, której nie można przedstawić za pomocą niezależnego obiektu Form glifu |
| 508 | Program 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);