THotPDF.BuildLoadedPageSVG-metoden
Bygger ett fristående SVG-dokument från den valda inlästa PDF-sidan
Deklaration
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Enhet
HPDFDoc
Parametrar
| Namn | Syfte |
|---|---|
PageIndex | Nollbaserat index för den inlästa sidan |
EmbedFonts | True skriver inbäddade typsnitts glyfer i SVG:n som konturer, så att sidan ser likadan ut där de typsnitten inte är installerade. False, och överloaden utan denna parameter, lämnar texten åt visarens installerade typsnitt |
Returvärde
Returnerar hela SVG-dokumentet, eller en tom sträng när sidan inte kan exporteras
Användningsanmärkningar
- Sökvägar, avkodad text, bild-XObjects, inline-bilder och rekursiva Form XObjects sänds ut genom den gemensamma innehållsenhetstolken; ett Form XObject börjar med de färger som gäller där det målas
- Canvan täcker sidans synliga del, dess
/CropBoxklippt mot dess/MediaBox(seGetLoadedPageVisibleBox), vänd av/Rotate; boxens nedre vänstra hörn mappas till canvans hörn även när boxen inte börjar i origo - Text skrivs som UTF-8 med en
x-position per tecken ochxml:space="preserve", så mellanslag behålls; ligaturglyfer expanderas till alla tecken de står för, och koder som XML 1.0 inte tillåter blir U+FFFD - Textplaceringen följer hela textmatrisen, inklusive tecken- och ordmellanrum, horisontell skalning, rise och
TJ-justeringar; renderlägena 0 till 2 fyller, stryker eller gör båda, läge 3 ritar inget, och glyferna i text visad i lägena 4 till 7 blir också en klippväg från slutet av textobjektet (ET) till slutet av grafikläget - Som standard använder text installerade typsnitt: de 14 standardfamiljerna och deras TrueType-motsvarigheter mappas till Helvetica eller Arial, Times New Roman och Courier New, och andra typsnitt namnges efter sin familj, också med mellanslag mellan orden (
MyriadPro, Myriad Pro, följd av en generisk familj hämtad från typsnittsbeskrivarens flaggor eller namnet. Fet och kursiv text fårfont-weightochfont-stylefrån stildelen i typsnittsnamnet (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) och från typsnittsbeskrivarens vikt, flaggor och kursivvinkel - Med
EmbedFontssatt tillTrueritas text i ett typsnitt vars TrueType- eller CFF-program är inbäddat i PDF:en från programmets glyfkonturer. Varje glyf definieras en gång som en<path>i<defs>och placeras med<use>där den förekommer, så upprepade tecken upprepar inte sina konturer; fyllnads- och streklägen, linjebredder och textklippning följer texten som för SVG-text. Texten själv behålls som transparent SVG-text ovanpå konturerna, så den kan fortfarande väljas, sökas och läsas av hjälpmedel - Typsnitt som inte är inbäddade, Type 1-typsnittsprogram (
/FontFile), vertikal CJK-skrivning och körningar med en kod som saknar glyf i det inbäddade programmet förblir SVG-text även medEmbedFontssatt. Konturerna gör filen större, ofta två till tre gånger för texttunga sidor - Fyllnads- och konturfärger satta i valfri färgrymd (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, kalibrerad, Lab, Indexed, Separation och DeviceN) konverteras till sRGB precis som sidrenderaren konverterar dem - Sökvägar fyllda med ett tiling-mönster fylls med en SVG-
<pattern>som upprepar mönstercellen för varjeXStepochYStep, klippt till dess/BBox; ofärgade mönster måler cellen i färgen som ges med mönstret. Sökvägar fyllda med ett shading-mönster får dess shadings gradient eller mesh, klippt till sökvägen. Mönstermatrisen tillämpas i sidans utrymme, eller i det utrymme som formuläret som använder mönstret har. Streck med ett mönster använder dess färg, svart för färgade mönster - Type 2 axial och Type 3 radial shading använder SVG-gradienter med begränsat samplade stopp; en ände som
Extendinte utsträcker förblir omålad, som i PDF - Type 4 till Type 7 mesh shading använder en begränsad transparent PNG data-URI med högst 16 miljoner pixlar
- Inline-bilder avkodas via samma bildväg för laddade dokument och bäddas in som PNG-data-URI:er
- Bildmasker, även inline, blir PNG-bilder i den aktuella fyllnadsfärgen som är transparenta där inget målas;
/SMaskoch/Mask-stenciler ger bilden en alfakanal, med maskens upplösning när den är finare än bilden. Färgnyckelsarrayer/Maskgör de matchande pixlarna transparenta för Flate-, LZW- och ofiltrerade bilder W- ochW*-klippvägar blir SVG-<clipPath>-element som slutar med den grafiska state de sattes i; Form XObjects klipps till sin/BBox, och axial och radial shading till sin- Text i Type 3-typsnitt ritas med typsnittets glyfprocedurer, placerade genom dess
/FontMatrix, i stället för som SVG-text; glyfer som börjar medd1målar i den aktuella fyllnadsfärgen. Type 3-glyfer läggs inte till klippvägen för renderlägena 4 till 7 - En shadings
Background-färg fyller området för ett shading-mönster före shadingen, så den syns där shadingen inte målar; som i PDF ignoreras den när shadingen målas medsh - Type 1-funktionsbaserade shadings sampas över sitt
Domaintill en PNG-data-URI på högst 256 gånger 256 sampel, placerad genom shadingsMatrix; visaren utjämnar den när den skalas