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, i viewBox.
  • 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.
 Català