THotPDF.BuildLoadedPageSVG Method
Buduje samodzielny dokument SVG z wybranej wczytanej strony PDF
Deklaracja
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Jednostka
HPDFDoc
Parametry
| Nazwa | Przeznaczenie |
|---|---|
PageIndex | Indeks wczytanej strony, liczony od zera |
EmbedFonts | True zapisuje glyphy osadzonych czcionek w SVG jako kontury, więc strona wygląda tak samo tam, gdzie tych czcionek nie ma zainstalowanych. False, tak jak overload bez tego parametru, zostawia tekst zainstalowanym fontom przeglądarki |
Wartość zwracana
Zwraca kompletny dokument SVG albo pusty ciąg, gdy strony nie da się wyeksportować
Uwagi dotyczące użycia
- Ścieżki, zdekodowany tekst, image XObjecty, inline images i rekurencyjne Form XObjecty są emitowane przez współdzielony interpreter content-device; Form XObject startuje z kolorami obowiązującymi w miejscu, gdzie jest malowany
- Płótno pokrywa widoczną część strony — jej
/CropBoxprzycięty do/MediaBox(zobaczGetLoadedPageVisibleBox) — obróconą o/Rotate; lewy dolny róg boxa trafia na róg płótna nawet wtedy, gdy box nie zaczyna się w początku układu - Tekst jest zapisywany jako UTF-8 z jedną pozycją
xna znak ixml:space="preserve", więc spacje są zachowywane; glyphy ligatur rozszerzają się do wszystkich reprezentowanych znaków, a kody niedozwolone w XML 1.0 stają się U+FFFD - Pozycjonowanie tekstu podąża za pełną macierzą tekstu, łącznie z character i word spacing, skalowaniem poziomym, rise i korektami
TJ; tryby renderowania 0 do 2 wypełniają, obrysowują albo robią jedno i drugie, tryb 3 nic nie rysuje, a glyphy tekstu pokazywanego w trybach 4 do 7 stają się także ścieżką clipingu od końca obiektu tekstu (ET) do końca stanu graficznego - Domyślnie tekst używa zainstalowanych fontów: standardowe 14 rodzin i ich odpowiedniki TrueType mapują się na Helvetica albo Arial, Times New Roman i Courier New, a inne fonty są nazywane swoją rodziną, także ze spacjami między słowami (
MyriadPro, Myriad Pro), po czym następuje rodzina ogólna wzięta z flag deskryptora fontu albo z nazwy. Tekst pogrubiony i kursywny dostajefont-weightifont-stylez części stylowej nazwy fontu (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) oraz z weight, flags i italic angle deskryptora fontu - Przy
EmbedFontsustawionym naTruetekst w foncie, którego program TrueType albo CFF jest osadzony w PDF, jest rysowany z konturów glyphów tego programu. Każdy glyph jest definiowany raz jako<path>w<defs>i umieszczany przez<use>wszędzie, gdzie występuje, więc powtarzające się znaki nie powtarzają swoich konturów; tryby wypełnienia i obrysu, szerokości linii i cliping tekstu podążają za tekstem, jak robią to dla tekstu SVG. Sam tekst jest zachowany jako przezroczysty tekst SVG na konturach, więc nadal można go zaznaczać, wyszukiwać i czytać technologiami asystującymi - Fonty nieosadzone, programy fontów Type 1 (
/FontFile), pionowe pismo CJK i przebiegi z kodem, który nie ma glyphu w osadzonym programie, pozostają tekstem SVG nawet przy ustawionymEmbedFonts. Kontury powiększają plik — często dwu- lub trzykrotnie dla stron pełnych tekstu - Kolory wypełnienia i obrysu ustawione w dowolnej przestrzeni barw (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, kalibrowane, Lab, Indexed, Separation i DeviceN) są konwertowane do sRGB tak, jak konwertuje je renderer strony - Ścieżki wypełnione wzorem tiling są wypełniane elementem SVG
<pattern>, który powtarza komórkę wzoru coXStepiYStep, z przycięciem do jego/BBox; wzory niekolorowane malują komórkę kolorem podanym wraz z wzorem. Ścieżki wypełnione wzorem shading dostają gradient albo siatkę jego shadingu, przycięte do ścieżki. Macierz wzoru jest stosowana w przestrzeni strony albo formy używającej wzoru. Kreski z wzorem używają jego koloru, czerni dla wzorów kolorowanych - Shadingi typu 2 (axial) i typu 3 (radial) używają gradientów SVG z ograniczoną liczbą próbkowanych stopów; końca, którego
Extendnie rozciąga, nie maluje się — tak jak w PDF - Shadingi siatkowe typu 4 do 7 używają ograniczonego, przezroczystego data URI PNG o maksymalnie 16 milionach pikseli
- Inline images są dekodowane tą samą ścieżką obsługi obrazów wczytanego dokumentu i osadzane jako PNG data URI
- Maski obrazu, w tym inline, stają się obrazami PNG w bieżącym kolorze wypełnienia, przezroczystymi tam, gdzie nic nie namalowano;
/SMaski szablony/Masknadają obrazowi kanał alfa, w rozdzielczości maski, gdy jest ona gęstsza niż obraz. Tablice kluczy kolorów/Maskczynią pasujące piksele przezroczystymi dla obrazów Flate, LZW i nieskompresowanych - Ścieżki clipingu
WiW*stają się elementami SVG<clipPath>kończącymi się wraz ze stanem graficznym, w którym zostały ustawione; Form XObjecty są przycinane do swojego/BBox, a shadingi axial i radial do swoich - Tekst w fontach Type 3 jest rysowany procedurami glyphów fontu, rozmieszczanymi przez jego
/FontMatrix, zamiast jako tekst SVG; glyphy zaczynające się odd1malują bieżącym kolorem wypełnienia. Glyphy Type 3 nie dodają się do ścieżki clipingu trybów renderowania 4 do 7 - Kolor
Backgroundshadingu wypełnia obszar wzoru shading przed shadingiem, więc widać go wszędzie tam, gdzie shading nie maluje; jak w PDF, jest ignorowany, gdy shading jest malowany przezsh - Shadingi funkcyjne Type 1 są próbkowane po swoim
Domaindo data URI PNG o maksymalnie 256 na 256 próbek, umieszczanego przezMatrixshadingu; przy skalowaniu przeglądarka go wygładza