Aspose.Words SVG-filprocessor för .NET
Aspose.Words SVG File Processor för .NET låter dig programmerat bygga, modifiera och spara SVG grafik från dina .NET-applikationer. Eftersom Aspose.Words inte är nativt Laddning SVG som ett dokumentformat, denna plugin är avsedd att användas ** tillsammans med konverterplugins** (t.ex. DOCX/HTML/PDF → Svg) eller någon upstream import som producerar SVg markup. Du kan sedan förbättra svg (redigerade former, vägar, text, stilar) och serialisera standardöverensstämmande output.
Installation och installation
- Lägg till Aspose.Words för .NET NuGet-paketet till ditt projekt Installation En guide.
- Konfigurera mätad licens en gång på appstart Mätlicensiering .
Obs!: Denna plugin ger en SVG-fokuserad API-yta som kompletterar, inte ersätter, kärnfunktioner Aspose.Words.
Funktioner och förmågor
SVG Dokument Skapande
- Instantera en ny SVG i kod, ställa in
width
,height
, ochviewBox
. - Välj absoluta enheter (px, mm, in) eller lita på viewBox för responsiv utgång.
Former & Vägar
- Skapa och redigera rect , cirkel , ellipse och linje samt polygon element.
- Full path kommandotillskott (M/L/H/V/C/S/Q/T/A/Z) med segment insert/avlägsnande, transformationer och stroking/filling alternativ.
Text och typografi
- Lägg till
<text>
och<tspan>
noder med fontfamilj, storlek, vikt, baslinjeväxling, bokstav/ord spacing och anchors (start/middle/end). - Applicera CSS-liknande styling inline eller via återanvända klassdefinitioner.
Gruppering & Layering
- Organisera innehåll med
<g>
grupper; tillämpa transformationer på gruppnivå (translate/scale/rotate/skew). - Nestgrupper för att spegla lager-stil hierarkier.
Gradienter, mönster och filter
- Definiera **lineära/radiala gradienter ** , patter och hänvisa dem med ID.
- Anslut filter (blur, drop skugga, färgmatrix) för avancerade visuella effekter.
Bilden införlivas
- Inkludera rasterbilder via
<image>
Använd externa URI- eller Base64-data. - Kontroll placering, storlek (med bevarad AspectRatio) och opacitet.
Konverter integration
- Typisk flöde: **Import ** (t.ex. DOCX→SVG) → **Refine ** med SVG File Processor (justerar färger, lägger till vattenmärken, optimerar vägar) • Save SV G.
- Spara eller skriva om ID:er, klasser och anteckningar under efterbehandling.
Serialisering och export
- Spara kompakt eller ganska tryckt SVG.
- Optionellt inline resurser (källor/bilder) eller hålla dem externa.
- Se till att standardöverensstämmande markup är kompatibel med moderna renderer.
Snabb start: Skapa ett 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-processen en importerad 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 och bästa praxis
- Use viewBox med relativa koordinater för responsiva grafik.
- Grupp klokt : Applicera transformationer till grupper i stället för per-element för att förenkla markup.
- Placera defs (gradienter, mönster, symboler, filter) i toppen och referens med ID.
- Håll stora bitmappar externa för mindre SVG: in endast små tillgångar.
- Föredrar **pretty-print ** under utveckling; minify i produktion.
- Initiera mätade licenser tidigt för att undvika avbrott.
Felhantering och validering
- Processorn validerar nödvändiga attribut, ID och referenser.
- tydliga undantag för felformade vägar, ogiltiga omvandlingar eller saknade
defs
Målsättningar. - Det valfria “ljusiga” läget kan övervinna icke-kritiska problem och fortsätta serialisering.
Performance
- Streamed laddning/spara för stora dokument.
- Återanvänd gradient/filter definitioner för att undvika dubbla noder.
- Fråga via lättviktselektorer (per ID/klass/namn) för snabba redigeringar.