Aspose.Words SVG Processador de fitxers per a .NET
Aspose.Words SVG File Processor per a .NET li permet crear, modificar i guardar programàticament SVG gràfics de les seves aplicacions .NET. Perquè Aspose.Words no és nativa càrrega SVG com a format de document, aquest plugin està destinat a ser utilitzat també amb els plugins de convertidor (per exemple, DOCX/HTML/PDF→SVG) o qualsevol import upstream que produeixi la marca de SV G. Llavors es pot perfeccionar el SVg (formes d’edició, camins, text, estils) i serialitzar la producció conforme a les normes.
Instal·lació i configuració
- Afegeix el paquet Aspose.Words per .NET NuGet al teu projecte Instal·lació El guia.
- Configuració de la llicència mesurada una vegada a l’aplicació startup Llicència Metrada .
Nota: Aquest plugin proporciona una superfície d’API centrada en SVG que complementa, no reemplaça, les característiques essencials de Aspose.Words.
Característiques i capacitats
Creació de documents SVG
- Instal·lar un nou SVG en codi, set
width
,height
, iviewBox
. - Seleccionar unitats absolutes (px, mm, en) o dependre de viewBox per a la sortida responent.
Formes i camins
- Crea i edita els elements rect , circle , ellipse i linea.
- Suport de comandes complet path (M/L/H/V/C/S/Q/T/A/Z) amb opcions de segments d’inserció/eliminació, transformació i rellotge/ompliment.
Títol i tipografia
- Add
<text>
i<tspan>
nodes amb família de fonts, mida, pes, canvi de línia de base, espai de lletra / paraula, i ancors (start / middle / end). - Aplica el estil com CSS en línia o a través de les definicions de classe reutilitzables.
Col·lecció & Layering
- Organitzar continguts amb
<g>
grups; aplicar transformacions en el nivell del grup (traducció/escala/rotada/skew). - Els grups de nuvis miren les jerarquies d’estil de la capa.
Gradients, patrons i filtres
- Defineix els gradients lineals/radials , els patrons i els fa referència per ID.
- Atac filtres (blor, ombra de la gota, matriu de color) per a efectes visuals avançats.
Imatge embotellada
- Inserir imatges de raster a través de
<image>
Utilitzant URIs externs o dades Base64. - Plaçament de control, mida (amb preservacióAspectRatio) i opacitat.
Integració de convertidors
- Flux típic: Import (per exemple, DOCX→SVG) → Refine amb el processador de fitxers SVG (ajustar colors, afegir marques d’aigua, optimitzar els camins) • Save.
- Conservar o reescriure IDs, classes i defectes durant el post-processament.
Sèrie i exportació
- Salvar SVG compacte o ben imprès.
- Opcionalment enllaçar els recursos (fonts/imatges) o mantenir-los externs.
- Assegureu que la marca de conformitat estàndard sigui compatible amb els renderitzadors moderns.
Inici ràpid: Crear un document SVG
// Pseudocode for the plugin’s SVG API surface
var svg = new SvgDocument(width: 800, height: 400, viewBox: "0 0 800 400");
// Background rectangle
var bg = svg.AddRect(x: 0, y: 0, width: 800, height: 400);
bg.Fill = "#ffffff";
// Title text
var title = svg.AddText("Quarterly Sales", x: 400, y: 40);
title.FontFamily = "Segoe UI";
title.FontSize = 24;
title.TextAnchor = SvgTextAnchor.Middle;
// A sample path (rounded shape)
var path = svg.AddPath("M40,120 C120,20 280,20 360,120 S600,220 720,120");
path.Stroke = "#0066cc";
path.StrokeWidth = 3;
path.Fill = "none";
// Group with transform
var g = svg.AddGroup();
g.Transform = "translate(60, 220) scale(1.2)";
g.AddCircle(cx: 0, cy: 0, r: 8).Fill = "#ff6a00";
g.AddText("Marker", x: 16, y: 4).FontSize = 12;
// Save to file/stream
using var fs = File.Create(@"C:\out\diagram.svg");
svg.Save(fs, prettyPrint: true);
Post-procés un SVG importat (DOCX → SVg → tweak → save)
// Assume 'svgMarkup' comes from a converter plugin (e.g., Document → Save as SVG)
var svg = SvgDocument.LoadFromString(svgMarkup);
// Example: recolor all elements with class="accent"
foreach (var el in svg.Query(".accent"))
el.Fill = "#1abc9c";
// Add a watermark group
var wm = svg.AddGroup();
wm.Opacity = 0.08;
wm.Transform = "rotate(-20 400 200)";
var wText = wm.AddText("CONFIDENTIAL", x: 400, y: 220);
wText.TextAnchor = SvgTextAnchor.Middle;
wText.FontFamily = "Segoe UI";
wText.FontSize = 64;
wText.Fill = "#000000";
svg.Save(@"C:\out\refined.svg");
Consells i millors pràctiques
- Use viewBox amb coordenades relatives per a gràfics responents.
- Grupar amb saviesa : aplicar les transformacions als grups en lloc de per-element per simplificar la marcació.
- Posar defs (gradients, patrons, símbols, filtres) a la part superior i referència per ID.
- Mantenir grans bitmaps ** externs** per a SVGs més petits; incloure només petits actius.
- Prefer **pretty-print ** durant el desenvolupament; minify en la producció.
- Iniciar llicència mesurada abans per evitar interrupcions.
Traduïment d’errors i validació
- El processador valida els atributs, els IDs i les referències requerits.
- Excepcions clares per a camins malformats, transformacions invalidades, o absents
defs
els objectius. - El mode opcional “lenient” pot superar els problemes no crítics i continuar la serialització.
Performance
- càrrega / estalvi per a documents grans.
- Reutilitzar les definicions de gradient / filtre per evitar nodes duplicats.
- Query a través de selectors de pes lleu (per ID / classe / nom) per a editats ràpides.