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
, ogviewBox
. - 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.