THotPDF.BuildLoadedPageSVG Method
Tarjoaa ladatun sivun SVG:n rakentamiskäyttäytymisen sivugeometriatyönkulkua varten. Käytä sitä, kun ympäröivä API-perhe tarvitsee nimenomaista hallintaa PDF-objekteihin, sivun sisältöön, resursseihin, vaatimustenmukaisuuteen tai diagnostiikkaan
Määrittely
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Yksikkö
HPDFDoc
Parametrit
| Nimi | Tarkoitus |
|---|---|
PageIndex | Ladatun sivun nollapohjainen indeksi |
EmbedFonts | True kirjoittaa upotettujen fonttien glyyfit SVG:hen ääriviivoina, joten sivu näyttää samalta myös siellä, missä kyseisiä fontteja ei ole asennettuna. False ja tätä parametria saamaton overloadi jättävät tekstin katselimen asennettujen fonttien varaan |
Paluuarvo
Palauttaa kokonaisen SVG-asiakirjan tai tyhjän merkkijonon, kun sivua ei voi viedä
Käyttöhuomautukset
- Polut, dekoodattu teksti, kuva-XObjectit, sisällytetyt kuvat ja rekursiiviset Form XObjectit tuotetaan jaetun sisältölaitteen tulkin kautta; Form XObject alkaa väreillä, jotka ovat voimassa siellä, missä se maalataan
- Kangas kattaa sivun näkyvän osan,
/CropBoxin rajattuna/MediaBoxiin (katsoGetLoadedPageVisibleBox),/Rotate-arvolla käännettynä; laatikon vasen alakulma kuvautuu kankaan kulmaan, vaikka laatikko ei alkaisikaan origosta - Teksti kirjoitetaan UTF-8:na yhdellä
x-sijainnilla per merkki jaxml:space="preserve"-attribuutilla, joten välilyönnit säilyvät; ligatuuriglyyfit laajenevat kaikiksi merkeiksi, joita ne edustavat, ja XML 1.0:n kieltämät koodit muuttuvat arvoksi U+FFFD - Tekstin sijoittelu noudattaa täyttä tekstimatriisia, mukaan lukien merkki- ja sanavälit, vaakaskaalaus, kohoaminen ja
TJ-säädöt; renderöintitilat 0–2 täyttävät, viivaavat tai tekevät molemmat, tila 3 ei piirrä mitään, ja tiloissa 4–7 näytetyn tekstin glyyfeistä tulee myös leikkauspolku tekstiobjektin (ET) lopusta grafiikkatilan loppuun - Oletuksena teksti käyttää asennettuja fontteja: standardin 14 fonttiperhettä ja niiden TrueType-vastineet mapataan Helveticaan tai Arialiin, Times New Romaniin ja Courier Newiin, ja muut fontit nimetään perheensä mukaan, myös sanojen välilyönnein (
MyriadPro, Myriad Pro), jota seuraa yleisperhe, joka otetaan fonttideskriptorin lipuista tai nimestä. Lihavoitu ja kursivoitu teksti saafont-weight- jafont-style-arvot fontin nimen tyyliosasta (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) sekä fonttideskriptorin painosta, lipuista ja kursiivikulmasta - Kun
EmbedFontson asetettu arvoonTrue, fontin, jonka TrueType- tai CFF-ohjelma on upotettu PDF:hen, teksti piirretään ohjelman glyyfiääriviivoista. Jokainen glyfi määritellään kerran<path>-elementtinä<defs>issä ja sijoitetaan<use>lla jokaiseen esiintymiskohtaan, joten toistetut merkit eivät toista ääriviivojaan; täyttö- ja viivatilat, viivanleveydet ja tekstin leikkaus seuraavat tekstiä kuten SVG-tekstilläkin. Teksti itsessään säilytetään läpinäkyvänä SVG-tekstinä ääriviivojen päällä, joten sen voi yhä valita, hakea ja lukea avustavan tekniikan avulla - Upottamattomat fontit, Type 1 -fonttiohjelmat (
/FontFile), pystysuuntainen CJK-kirjoitus ja ajot, joiden koodilla ei ole glyyfiä upotetussa ohjelmassa, pysyvät SVG-tekstinä, vaikkaEmbedFontsolisi asetettu. Ääriviivat suurentavat tiedostoa, usein kaksi- tai kolminkertaiseksi tekstipainoisilla sivuilla - Täyttö- ja viivärit, jotka on asetettu missä tahansa väriavaruudessa (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, kalibroidut, Lab, Indexed, Separation ja DeviceN), muunnetaan sRGB:ksi samaan tapaan kuin sivurenderöijä muuntaa ne - Tiilipatternilla täytetyt polut täytetään SVG-
<pattern>illa, joka toistaa patternin kennon jokaXStepissä jaYStepissä leikattuna sen/BBoxiin; värittömät patternit maalaavat kennon patternin mukana annetulla värillä. Varjostuspatternilla täytetyt polut saavat varjostuksensa liukuvärin tai hilan, leikattuna polkuun. Patternin matriisi sovelletaan sivun tilassa tai sen formin tilassa, joka patternia käyttää. Patternilla viivatut käyttävät sen väriä, värillisillä patterneilla mustaa - Type 2 -akseli- ja Type 3 -säteittäiset varjostukset käyttävät SVG-liukuvärejä rajatuilla näytetyn sävyillä; päätä, jota
Extendei laajenna, ei maalata, aivan kuten PDF:ssä - Type 4–Type 7 -hilkkovarjostukset käyttävät rajattua läpinäkyvää PNG data URI -muotoa enintään 16 miljoonalla pikselillä
- Sisällytetyt kuvat dekoodataan samaa ladattujen asiakirjojen kuvapolkua käyttäen ja upotetaan PNG data URI -muodossa
- Kuvamaskit, sisällytetyt kuvamaskit mukaan lukien, muuttuvat nykyisellä täyttövärillä piirretyiksi PNG-kuviksi, jotka ovat läpinäkyviä siellä, missä mitään ei maalata;
/SMaskja/Mask-stensiilit antavat kuvalle alfakanavan, maskin resoluutiolla, kun se on kuvaa hienojakoisempi. Väriavain-/Mask-taulukot tekevät vastaavat pikselit läpinäkyviksi Flate-, LZW- ja suodattamattomissa kuvissa W- jaW*-leikkauspoluista tulee SVG-<clipPath>-elementit, jotka päättyvät siihen grafiikkatilaan, jossa ne asetettiin; Form XObjectit leikataan niiden/BBox:iin, ja akseli- ja säteittäiset varjostukset omiin- Type 3 -fonttien teksti piirretään fontin glyfiproseduureilla, sijoitettuna fontin
/FontMatrixin kautta, SVG-tekstin sijaan;d1llä alkavat glyfit maalaavat nykyisellä täyttövärillä. Type 3 -glyfit eivät lisäänny renderöintitilojen 4–7 leikkauspolkuun - Varjostuksen
Background-väri täyttää varjostuspatternin alueen ennen varjostusta, joten se näkyy kaikkialla, missä varjostus ei maalaa; kuten PDF:ssä, se ohitetaan, kun varjostus maalataanshllä - Type 1 -funktiovarjostukset näytteistetään niiden
Domainin yli enintään 256 × 256 näytteen PNG data URI -muotoon, sijoitettuna varjostuksenMatrixin kautta; katselin tasoittaa sen skaalattaessa