THotPDF.BuildLoadedPageSVG Method
Gradi samostalan SVG dokument od izabrane učitane PDF stranice
Deklaracija
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Jedinica
HPDFDoc
Parametri
| Naziv | Svrha |
|---|---|
PageIndex | Indeks učitane stranice zasnovan na nuli |
EmbedFonts | True upisuje glifove ugrađenih fontova u SVG kao konture, tako da stranica izgleda isto i tamo gde ti fontovi nisu instalirani. False, i overload bez ovog parametra, ostavlja tekst instaliranim fontovima pregledača |
Povratna vrednost
Vraća kompletan SVG dokument, ili prazan niz kada se stranica ne može izvesti
Napomene o upotrebi
- Putanje, dekodirani tekst, image XObjects, inline slike i rekurzivni Form XObjects emituju se kroz deljeni interpetrator sadržajnog uređaja; Form XObject polazi od boja na snazi tamo gde se crta
- Platno pokriva vidljivi deo stranice, njen
/CropBoxisečen na njen/MediaBox(vidiGetLoadedPageVisibleBox), okrenut za/Rotate; donji levi ugao okvira mapira se na ugao platna čak i kada okvir ne počinje od koordinatnog početka - Tekst se upisuje kao UTF-8 sa jednom
xpozicijom po znaku ixml:space="preserve", pa se razmaci čuvaju; ligaturni glifovi se rašire na sve znakove koje predstavljaju, a kodovi koje XML 1.0 ne dozvoljava postaju U+FFFD - Pozicioniranje teksta prati kompletnu tekstualnu matricu, uključujući character i word spacing, horizontalno skaliranje, rise i
TJkorekcije; render režimi 0 do 2 popunjavaju, crtaju linijski ili rade oba, režim 3 ne crta ništa, a glifovi teksta prikazanog u režimima 4 do 7 takođe postaju putanja isecanja od kraja tekstualnog objekta (ET) do kraja grafičkog stanja - Podrazumevano tekst koristi instalirane fontove: standardnih 14 familija i njihove TrueType dvojnice mapiraju se na Helvetica ili Arial, Times New Roman i Courier New, a ostali fontovi imenuju se svojom familijom, takođe s razmacima između njenih reči (
MyriadPro, Myriad Pro), praćeni generičkom familijom uzetom iz flagova deskriptora fonta ili iz imena. Podebljan i kurzivan tekst dobijafont-weightifont-styleiz dela imena fonta koji nosi stil (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) i iz weight, flagova i italic ugla deskriptora fonta - Sa
EmbedFontspostavljenim naTrue, tekst u fontu čiji je TrueType ili CFF program ugrađen u PDF crta se iz glif-kontura tog programa. Svaki glif definiše se jednom kao<path>u<defs>i postavlja se s<use>gde god se pojavi, tako da ponovljeni znaci ne ponavljaju svoje konture; režimi popune i linijskog crtanja, širine linija i isecanje teksta prate tekst kao što čine i za SVG tekst. Sam tekst zadržava se kao transparentan SVG tekst iznad kontura, tako da ga i dalje mogu izabrati, pretražiti i pročitati asistivne tehnologije - Fontovi koji nisu ugrađeni, Type 1 font programi (
/FontFile), vertikalno CJK pisanje i nizovi s kodom koji nema glif u ugrađenom programu ostaju SVG tekst čak i kad jeEmbedFontspostavljen. Konture povećavaju datoteku, često dva do tri puta za stranice bogate tekstom - Boje popune i linijskog crtanja postavljene u bilo kom kolor prostoru (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, kalibrisani, Lab, Indexed, Separation i DeviceN) konvertuju se u sRGB isto kako ih konvertuje renderer stranice - Putanje popunjene tiling patternom popunjavaju se SVG
<pattern>elementom koji ponavlja ćeliju obrasca na svakiXStepiYStep, isečeno na njegov/BBox; neobojeni obrasci farbaju ćeliju bojom datom uz obrazac. Putanje popunjene shading patternom dobijaju gradijent ili mesh njegovog sjenčanja, isečeno na putanju. Matrica obrasca primenjuje se u prostoru stranice, ili forme koja koristi obrazac. Potezi s obrascem koriste njegovu boju, crnu za obojene obrasce - Sjenčanja tipa 2 aksijalna i tipa 3 radijalna koriste SVG gradijente sa ograničenim uzorkovanim tačkama; kraj koji
Extendne produžava ostaje neofarban, kao u PDF-u - Mesh sjenčanja tipa 4 do tipa 7 koriste ograničeni transparentni PNG data URI sa najviše 16 miliona piksela
- Inline slike se dekodiraju kroz istu putanju slike učitanog dokumenta i ugrađuju kao PNG data URI
- Maske slika, uključujući inline, postaju PNG slike u trenutnoj boji popune, transparentne tamo gde ništa nije nacrtano;
/SMaski/Maskšabloni daju slici alfa kanal, uz rezoluciju maske kada je finija od slike. Color-key/Masknizovi čine odgovarajuće piksele transparentnim za Flate, LZW i nefiltrirane slike WiW*putanje isecanja postaju SVG<clipPath>elementi koji se završavaju sa grafičkim stanjem u kom su postavljeni; Form XObjects se sekucu na svoj/BBox, a aksijalna i radijalna sjenčanja na svoj- Tekst u fontovima tipa 3 crta se glif procedurama fonta, postavljen kroz njegov
/FontMatrix, umesto kao SVG tekst; glifovi koji počinju sd1farbaju trenutnom bojom popune. Glifovi tipa 3 ne dodaju se putanji isecanja render režima 4 do 7 Backgroundboja sjenčanja popunjava područje shading patterna pre sjenčanja, tako da se vidi gde god sjenčanje ne farba; kao u PDF-u, ignoriše se kada se sjenčanje crta ssh- Function-based sjenčanja tipa 1 uzorkuju se preko svog
Domainu PNG data URI od najviše 256 na 256 uzoraka, postavljeno krozMatrixsjenčanja; pregledač ga uglačava pri skaliranju