THotPDF.BuildLoadedPageSVG Method
Costruisce un documento SVG standalone dalla pagina PDF caricata selezionata
Dichiarazione
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Unità
HPDFDoc
Parametri
| Nome | Scopo |
|---|---|
PageIndex | Indice a base zero della pagina caricata |
EmbedFonts | True scrive i glifi dei font incorporati nell'SVG come outline, così che la pagina appaia uguale anche dove quei font non sono installati. False, e l'overload senza questo parametro, lascia il testo ai font installati del viewer |
Valore restituito
Restituisce il documento SVG completo, oppure una stringa vuota quando la pagina non può essere esportata
Note d'uso
- Path, testo decodificato, image XObjects, immagini inline e Form XObjects ricorsivi vengono emessi tramite l'interprete content-device condiviso; un Form XObject parte con i colori in vigore nel punto in cui viene dipinto
- La canvas copre la parte visibile della pagina, il suo
/CropBoxritagliato al suo/MediaBox(vediGetLoadedPageVisibleBox), ruotato da/Rotate; l'angolo in basso a sinistra del box corrisponde all'angolo della canvas anche quando il box non parte dall'origine - Il testo è scritto come UTF-8 con una posizione
xper carattere exml:space="preserve", così gli spazi restano; i glifi di legatura si espandono in tutti i caratteri che rappresentano, e i codici che XML 1.0 non consente diventano U+FFFD - Il posizionamento del testo segue la text matrix completa, inclusi spaziatura caratteri e parole, scala orizzontale, rise e regolazioni
TJ; le render mode da 0 a 2 fanno fill, stroke o entrambi, la mode 3 non disegna nulla, e i glifi del testo mostrato nelle mode da 4 a 7 diventano anche un percorso di clipping dalla fine dell'oggetto testo (ET) alla fine dello stato grafico - Per default il testo usa i font installati: le 14 famiglie standard e le loro controparti TrueType corrispondono a Helvetica o Arial, Times New Roman e Courier New, e gli altri font sono nominati per la loro famiglia, anche con spazi tra le parole (
MyriadPro, Myriad Pro), seguita da una famiglia generica ricavata dai flag del font descriptor o dal nome. Il testo grassetto e corsivo ottienefont-weightefont-styledalla parte di stile del nome del font (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) e da weight, flag e italic angle del font descriptor - Con
EmbedFontsimpostato aTrue, il testo in un font il cui programma TrueType o CFF è incorporato nel PDF viene disegnato dagli outline dei glifi del programma. Ogni glifo è definito una sola volta come<path>in<defs>e collocato con<use>ovunque compare, così i caratteri ripetuti non ripetono i loro outline; le mode di fill e stroke, le larghezze di linea e il clipping del testo seguono il testo come per il testo SVG. Il testo stesso resta come testo SVG trasparente sopra gli outline, così può ancora essere selezionato, cercato e letto dalle tecnologie assistive - I font non incorporati, i programmi di font Type 1 (
/FontFile), la scrittura CJK verticale e le sequenze con un codice che non ha un glifo nel programma incorporato restano testo SVG anche conEmbedFontsimpostato. Gli outline ingrandiscono il file, spesso di due o tre volte per le pagine ricche di testo - I colori di fill e stroke impostati in qualunque spazio colore (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, calibrati, Lab, Indexed, Separation e DeviceN) vengono convertiti in sRGB come li converte il renderer di pagina - I path riempiti con un tiling pattern vengono riempiti con un
<pattern>SVG che ripete la cella del pattern a ogniXStepeYStep, ritagliato al suo/BBox; i pattern non colorati dipingono la cella nel colore fornito con il pattern. I path riempiti con uno shading pattern ricevono il gradiente o la mesh del suo shading, ritagliata al path. La matrice del pattern viene applicata nello spazio della pagina, o della form che usa il pattern. Gli stroke con un pattern usano il suo colore, nero per i pattern colorati - Gli shading Type 2 assiali e Type 3 radiali usano gradienti SVG con stop campionati delimitati; un'estremità che
Extendnon estende resta non dipinta, come in PDF - Gli shading mesh dal Type 4 al Type 7 usano un data URI PNG trasparente delimitato con un massimo di 16 milioni di pixel
- Le immagini inline vengono decodificate attraverso lo stesso percorso immagini del documento caricato e incorporate come data URI PNG
- Le image mask, inline comprese, diventano immagini PNG nel colore di fill corrente, trasparenti dove nulla è dipinto;
/SMaske gli stencil/Maskdanno all'immagine un canale alpha, alla risoluzione della maschera quando è più fine dell'immagine. Gli array/Maska color-key rendono trasparenti i pixel corrispondenti per le immagini Flate, LZW e non filtrate - I percorsi di clipping
WeW*diventano elementi SVG<clipPath>che terminano con lo stato grafico in cui sono stati impostati; i Form XObjects vengono ritagliati al loro/BBox, e gli shading assiali e radiali al loro - Il testo nei font Type 3 viene disegnato con le procedure di glifo del font, collocato tramite la sua
/FontMatrix, invece che come testo SVG; i glifi che iniziano cond1dipingono nel colore di fill corrente. I glifi Type 3 non aggiungono al percorso di clipping delle render mode da 4 a 7 - Il colore
Backgrounddi uno shading riempie l'area di uno shading pattern prima dello shading, così compare ovunque lo shading non dipinga; come in PDF, viene ignorato quando lo shading viene dipinto consh - Gli shading Type 1 basati su funzione vengono campionati sulla loro
Domainin un data URI PNG di fino a 256 per 256 campioni, collocato tramite laMatrixdello shading; il viewer lo smussa quando viene scalato