THotPDF.BuildLoadedPageSVG Method
Bygger et selvstændigt SVG-dokument fra den valgte indlæste PDF-side
Deklaration
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Enhed
HPDFDoc
Parametre
| Navn | Formål |
|---|---|
PageIndex | Nulbaseret indeks for den indlæste side |
EmbedFonts | True skriver glyfferne fra indlejrede fonts ind i SVG'en som konturer, så siden ser ens ud, hvor disse fonts ikke er installeret. False og overloaden uden denne parameter lader teksten til viewerens installerede fonts |
Returneret værdi
Returnerer det fulde SVG-dokument eller en tom streng, når siden ikke kan eksporteres
Brugsnoter
- Baner, afkodet tekst, image-XObjects, inline-billeder og rekursive Form-XObjects udsendes gennem den delte content-device-fortolker; et Form-XObject starter med de farver, der gælder dér, hvor det males
- Canvaset dækker sidens synlige del, dets
/CropBoxklippet til dets/MediaBox(seGetLoadedPageVisibleBox), drejet efter/Rotate; boksens nederste venstre hjørne afbildes på canvasets hjørne, selv når boksen ikke starter i origo - Tekst skrives som UTF-8 med én
x-position per tegn ogxml:space="preserve", så mellemrum bevares; ligatur-glyphs udvides til alle de tegn, de står for, og koder, som XML 1.0 ikke tillader, bliver til U+FFFD - Tekstplacering følger den fulde tekstmatrice, inklusive tegn- og ordafstand, horisontal skalering, rise og
TJ-justeringer; render modes 0 til 2 fylder, streg eller begge dele, mode 3 tegner ingenting, og glyfferne i tekst, der vises i modes 4 til 7, bliver desuden en klippesti fra slutningen af tekstobjektet (ET) til slutningen af graphics state - Som standard bruger tekst installerede fonts: de 14 standardfamilier og deres TrueType-modstykker mappes til Helvetica eller Arial, Times New Roman og Courier New, og andre fonts navngives efter deres familie, også med mellemrum mellem ordene (
MyriadPro, Myriad Pro), efterfulgt af en generisk familie hentet fra fontdeskriptorens flags eller navnet. Fed og kursiv tekst fårfont-weightogfont-stylefra fontnavnets stil-del (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) og fra fontdeskriptorens vægt, flags og italic angle - Med
EmbedFontssat tilTruetegnes tekst i en font, hvis TrueType- eller CFF-program er indlejret i PDF'en, fra programmets glyphkonturer. Hver glyf defineres én gang som en<path>i<defs>og placeres med<use>, hvor den end optræder, så gentagne tegn ikke gentager deres konturer; fill- og stroke-modes, stregbredder og tekstklipning følger teksten, som de gør for SVG-tekst. Teksten selv bevares som gennemsigtig SVG-tekst oven på konturerne, så den stadig kan vælges, søges i og læses af hjælpemidler - Fonts, der ikke er indlejret, Type 1-fontprogrammer (
/FontFile), vertikal CJK-skrivning og runs med en kode, der ikke har nogen glyf i det indlejrede program, forbliver SVG-tekst, selv medEmbedFontssat. Konturerne gør filen større, ofte to til tre gange for teksttunge sider - Fill- og stroke-farver sat i vilkårlige color spaces (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, kalibrerede, Lab, Indexed, Separation og DeviceN) konverteres til sRGB, ligesom side-rendereren konverterer dem - Stier fyldt med et tiling-mønster fyldes med en SVG
<pattern>, der gentager mønstercellen for hverXStepogYStep, klippet til dens/BBox; ufarvede mønstre maler cellen i den farve, der er givet med mønsteret. Stier fyldt med et shading-mønster får shadings gradient eller mesh, klippet til stien. Mønstermatricen anvendes i sidens eller den forms rum, der bruger mønsteret. Streg med et mønster bruger dets farve, sort for farvede mønstre - Type 2-aksial og Type 3-radial shading bruger SVG-gradienter med afgrænsede samplede stops; en ende, som
Extendikke udvider, forbliver umalet, som i PDF - Type 4 til Type 7-mesh-shading bruger en afgrænset, gennemsigtig PNG-data-URI med maksimalt 16 millioner pixels
- Inline-billeder afkodes gennem den samme indlæst-dokument-billedbane og indlejres som PNG-data-URI'er
- Imagemasks, inline- inkluderet, bliver til PNG-billeder i den aktuelle fill-farve, som er gennemsigtige dér, hvor intet males;
/SMask- og/Mask-stencils giver billedet en alfakanal, med maskens opløsning når den er finere end billedet. Color-key-/Mask-arrays gør de matchende pixels gennemsigtige for Flate-, LZW- og ufiltrerede billeder W- ogW*-klippestier bliver til SVG<clipPath>-elementer, der slutter med den graphics state, de blev sat i; Form-XObjects klippes til deres/BBox, og aksial og radial shading til deres- Tekst i Type 3-skrifttyper tegnes med fontens glyphprocedurer, placeret gennem dens
/FontMatrix, i stedet for som SVG-tekst; glyffer, der starter medd1, maler i den aktuelle fill-farve. Type 3-glyffer føjer ikke til klippestien for render modes 4 til 7 - En shadings
Background-farve udfylder området i et shading-mønster før shadingen, så den ses, hvor shadingen ikke maler; som i PDF ignoreres den, når shadingen males medsh - Type 1-funktionsbaserede shadings samples over deres
Domaintil en PNG-data-URI med op til 256 gange 256 samples, placeret gennem shadingsMatrix; fremviseren udjævner den ved skalering