THotPDF.BuildLoadedPageSVG metódus
Önálló SVG dokumentumot épít fel a kiválasztott betöltött PDF oldalból
Deklaráció
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Egység
HPDFDoc
Paraméterek
| Név | Cél |
|---|---|
PageIndex | A betöltött oldal nulla alapú indexe |
EmbedFonts | A True a beágyazott betűtípusok glyphjait körvonalként írja az SVG-be, így az oldal ott is ugyanúgy néz ki, ahol ezek a betűtípusok nincsenek telepítve. A False és a paraméter nélküli overload a megjelenítő telepített betűtípusaira bízza a szöveget |
Visszatérési érték
A teljes SVG dokumentumot adja vissza, vagy üres stringet, ha az oldal nem exportálható
Használati megjegyzések
- Az útvonalak, a dekódolt szöveg, az image XObjectek, az inline képek és a rekurzív Form XObjectek a közös content-device interpreteren keresztül kerülnek kiírásra; egy Form XObject azokkal a színekkel indul, amelyek érvényben vannak ott, ahol festik
- A vászon az oldal látható részét fedi le, a
/CropBoxát a/MediaBoxára vágva (lásdGetLoadedPageVisibleBox),/Rotateáltali elforgatással; a doboz bal alsó sarka a vászon sarkára illeszkedik akkor is, ha a doboz nem az origóból indul - A szöveg UTF-8-ként íródik, karakterenként egy
xpozícióval ésxml:space="preserve"beállítással, így a szóközök megmaradnak; a ligatúra-glyphek kifejtésre kerülnek az általuk jelölt összes karakterre, az XML 1.0 által nem engedett kódok pedig U+FFFD lesznek - A szöveg elhelyezése a teljes szövegmátrixot követi, benne a karakter- és szóközökkel, a vízszintes skálázással, a rise értékkel és a
TJkorrekciókkal; a 0–2-es rendermódok kitöltenek, körvonalaznak vagy mindkettőt teszik, a 3-as mód semmit nem rajzol, a 4–7-es módokban megjelenített szöveg glyphjai pedig a szövegobjektum (ET) végétől a grafikai állapot végéig vágóutat is kapnak - Alapértelmezetten a szöveg telepített betűtípusokat használ: a standard 14 család és ezek TrueType megfelelői Helvetica vagy Arial, Times New Roman és Courier New névre képződnek, a többi betűtípus a családja nevét kapja, a szavak közti szóközökkel is (
MyriadPro, Myriad Pro), ezt követi a betűtípus-leíró flagjeiből vagy a névből vett általános család. A félkövér és dőlt szöveg afont-weightésfont-styleértékeket a betűtípusnév stílusrészéből (Arial-BoldMT,Helvetica-Oblique,MinionPro-It), valamint a betűtípus-leíró súlyából, flagjeiből és dőltszögéből kapja - Ha az
EmbedFontsértékeTrue, annak a betűtípusnak a szövege, amelynek TrueType vagy CFF programja be van ágyazva a PDF-be, a program glyph körvonalaiból rajzolódik. Minden glyph egyszer van definiálva egy<path>-ként a<defs>ben, és<use>-tal kerül elhelyezésre minden előfordulásában, így az ismétlődő karakterek nem ismétlik meg körvonalaikat; a kitöltő és körvonalas módok, a vonalvastagságok és a szöveg vágása ugyanúgy követik a szöveget, mint az SVG szövegnél. Maga a szöveg átlátszó SVG szövegként megmarad a körvonalak felett, így továbbra is kijelölhető, kereshető és segédtechnológiával olvasható - A nem beágyazott betűtípusok, a Type 1 betűtípusprogramok (
/FontFile), a függőleges CJK írás és azok a futások, amelyek kódjához nincs glyph a beágyazott programban, SVG szövegek maradnak akkor is, ha azEmbedFontsbe van állítva. A körvonalak megnövelik a fájlt, szöveges oldalakon gyakran két-háromszorosára - A töltő- és körvonalas színek bármely színtérből (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, kalibrált, Lab, Indexed, Separation és DeviceN) ugyanúgy konvertálódnak sRGB-re, ahogy az oldalrenderer átalakítja őket - A csempéző mintázattal (tiling pattern) kitöltött utak SVG
<pattern>-tel töltődnek ki, amely a mintacellát mindenXStepésYStepután megismétli, a saját/BBoxára vágva; a színtelen mintázatok a cellát a mintázattal megadott színnel festik. Árnyaló mintázattal kitöltött utak az árnyalásuk színátmenetét vagy hálóját kapják, az útra vágva. A minta mátrixa az oldal terében érvényesül, vagy annak a formnak a terében, amely a mintát használja. Mintázatos körvonalak annak színét használják, színes mintázat esetén feketét - A 2-es típusú axiális és a 3-as típusú radiális shadingek SVG színátmeneteket használnak korlátos mintavételezett megállókkal; a
Extendáltal ki nem nyújtott vége a PDF-hez hasonlóan festetlen marad - A 4–7-es típusú mesh shadingek korlátos, átlátszó PNG data URI-t használnak, legfeljebb 16 millió pixellel
- A beágyazott képek ugyanazon a betöltött dokumentum képútvonalán dekódolódnak, és PNG data URI-ként ágyazódnak be
- A képmaszkok — az inline-ok is — az aktuális kitöltőszín PNG képeivé válnak, ott átlátszókkal, ahol semmi nem készült; a
/SMaskés a/Maskstencilek alfa-csatornát adnak a képnek, a maszk felbontásán, ha az a képénél finomabb. A színkulcsos/Masktömbök a Flate, LZW és szűretlen képeknél átlátszóvá teszik az egyező pixeleket - A
WésW*vágóutak SVG<clipPath>elemekké válnak, amelyek azzal a grafikai állapottal zárulnak, amelyben beállították őket; a Form XObjectek a saját/BBox-ukra, az axiális és radiális shadingek pedig az övéükre vagdnak - A Type 3 fontok szövege a betűtípus glyph eljárásaival rajzolódik, a saját
/FontMatrixán keresztül elhelyezve, SVG szöveg helyett; ad1-mel kezdődő glyphok az aktuális kitöltőszínnel festenek. A Type 3 glyphok nem bővítik a 4–7-es rendermódok vágóútját - Egy shading
Backgroundszíne kitölti az árnyaló minta területét az árnyalás előtt, így ott látszik, ahol az árnyalás nem fest; a PDF-hez hasonlóan figyelmen kívül marad, amikor az árnyalástsh-val festik - Az 1-es típusú függvényalapú shadingeket a
Domainjükön mintavételezve legfeljebb 256 × 256 mintás PNG data URI-ba írják, a shadingMatrixán keresztül elhelyezve; a megjelenítő méretezéskor kisimítja