Aspose.Words SVG filprosessor for .NET

Aspose.Words SVG File Processor for .NET lar deg programmatisk bygge, modifisere og lagre SVG grafikk fra .NET-applikasjonene dine. Fordi Aspose.Words ikke er nativt Lastet SVG som et dokumentformat, er dette plug-inet ment å bli brukt samt med konverter plugins (f.eks. DOCX/HTML/PDF/SVG) eller noen upstream import som produserer SVg markup.

Installasjon og installasjon

  • Legg til Aspose.Words for .NET NuGet-pakken til prosjektet ditt Installation og guide.
  • Konfigurer målt lisensiering en gang på app startup målt lisens .

Merknad: Denne plugin gir en SVG-fokusert API overflate som kompletterer, ikke erstatt, kjerne Aspose.Words funksjoner.

Egenskaper og evner

SVG Dokumentasjon

  • Installer en ny SVG i koden, sett width, height, og viewBox.
  • Velg absolutte enheter (px, mm, i) eller stole på viewBox for responsiv utgang.

Form og veier

  • Skap og rediger rekt, circle, ellipse , linje og polyline elementer.
  • Full path kommandostøtte (M/L/H/V/C/S/Q/T/A/Z) med segmentinnlegg/avføring, transformasjoner og strekke/fyllingsalternativer.

Tekst og typografi

  • Add <text> og <tspan> noder med fontfamilie, størrelse, vekt, baseline skift, bokstavelig/ordspasing, og anchors (start/middle/end).
  • Bruk CSS-lignende styling inline eller via gjenbrukbare klasse definisjoner.

Gruppering & Layering

  • Organisere innhold med <g> grupper; bruke transformasjoner på gruppelivå (oversettelse/skala/rotate/skew).
  • Nestgrupper til speil layer-style hierarkier.

Gradienter, mønstre og filter

  • Definer linear/radial gradienter, patter og refererer til dem med ID.
  • Legg til filter (blur, drop skygge, fargematrix) for avanserte visuelle effekter.

Bildet innebygd

  • Skriv inn rasterbilder via <image> Bruker ekstern URI eller Base64 data.
  • Kontroller plassering, størrelse (med preserveAspectRatio) og opacitet.

Konverter integrasjon

  • Typiske strømmer: Import (f.eks. DOCX→SVG) → Refine med SVG File Processor (justere farger, legge til vannmarker, optimalisere veier.
  • Lagre eller skrive om ID-er, klasser og defer under post-prosessering.

Serialisering og eksport

  • Lagre kompakte eller presserende SVG.
  • Alternativt inline ressurser (kilder / bilder) eller holde dem eksterne.
  • Sikre standard-kompatibel markup kompatibel med moderne renderere.

Hurtig start: Skaper et SVG-dokument

// 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-prosess en importert SVG (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");

Tips og beste praksis

  • Bruk viewBox med relative koordinater for responsive grafikk.
  • Group wisely: Bruk transformasjoner til grupper i stedet for per-element for å forenkle merking.
  • Legg defs (gradienter, mønstre, symboler, filtre) på toppen og referanse ved ID.
  • Hold store bitmapper utvendig for mindre SVGs; inline bare små eiendeler.
  • Foretrukket pretty-print under utvikling; minify i produksjon.
  • Start metrert lisensiering tidlig for å unngå avbrudd.

Feil håndtering og validering

  • Prosessoren validerer nødvendige egenskaper, ID-er og referanser.
  • Klar unntak for feilformede veier, ulovlige transformasjoner, eller savnet defs Målene er.
  • Det valgfrie “lenent”-moduset kan overvinne ikke-kritiske problemer og fortsette serialisering.

Performance

  • Streamed load/save for store dokumenter.
  • Åpne gradient/filter definisjoner for å unngå duplikerte noder.
  • Spør via lettvektselektorer (ved ID/klasse/navn) for raske redigeringer.
 Norsk