Aspose.Words SVG filprocesor til .NET
Aspose.Words SVG File Processor for .NET giver dig mulighed for at opbygge, redigere og gemme programmeret SVG grafik fra dine .NET-applikationer. fordi Aspose.Words ikke er nativt Ladning SVG som et dokumentformat, denne plugin er beregnet til at blive brugt samt med konverter plugins (f.eks. DOCX/HTML/PDF → Svg) eller enhver upstream import, der producerer SVg markup. Du kan derefter forfines den svg (redig formater, veje, tekst, stilarter) og serialisere standard overensstemmelse output.
Installation og installation
- Tilføj Aspose.Words for .NET NuGet pakke til dit projekt Installation Guide til.
- Konfigurer målt licensering én gang på app startup. Følg Målt licens .
Bemærk: Denne plugin giver en SVG-fokuseret API overflade, der supplerer, ikke erstattes, Core Aspose.Words funktioner.
Funktioner og kapaciteter
Skabelse af SVG dokumenter
- Installer en ny SVG i koden, set
width
,height
, ogviewBox
. - Vælg absolutte enheder (px, mm, i) eller stole på viewBox for responsiv udgang.
Form og vej
- Skab og redigér rect , circle , ellipse og line samt polylin elementer.
- Full path kommandounderstøttelse (M/L/H/V/C/S/Q/T/A/Z) med segment indsættelse/udtagelse, transformationer og strykning/fyldningsmuligheder.
Tekst og typografi
- Tilføj
<text>
og<tspan>
knuder med fontfamilie, størrelse, vægt, baseline skift, bogstave/ord spacing, og anchors (start/middle/end). - Anvend CSS-lignende styling inline eller via genanvendelige klasse definitioner.
Gruppering & Layering
- Organiser indhold med
<g>
grupper; anvende transformationer på gruppens niveau (oversættelse/skala/rotation/skew). - Nestgrupper til at spejle lag-stil hierarkier.
Gradienter, mønstre og filtre
- Definer **linear/radial gradienter ** , patter og refererer til dem med ID.
- Tilføj filter (blur, drop skygge, farve matrix) til avancerede visuelle effekter.
Billeder indbygget
- Indtast rasterbilleder via
<image>
Brug af eksterne URIs eller Base64 data. - Kontrol placering, størrelse (med bevaret AspectRatio) og opacitet.
Konverter integration
- Typisk flow: **Import ** (f.eks. DOCX→SVG) → **Refine ** med SVG File Processor (justerer farver, tilføjer vandmærker, optimerer veje) • Save SvG.
- Beskytt eller genskrive ID’er, klasser og defer under post-processering.
Serialisering og eksport
- Spare kompakte eller presserede SVG.
- Optionelt inline ressourcer (fonde/billeder) eller holde dem eksterne.
- Sørg for, at standard-kompatibel markup er kompatibel med moderne renderere.
Hurtig start: At oprette 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-processen en importeret 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 bedste praksis
- Use viewBox med relative koordinater til responsive grafik.
- Gruppe klogt : Anvende transformationer til grupper i stedet for per-element for at forenkle markeringen.
- Indsæt defs (gradienter, mønstre, symboler, filtre) på toppen og reference ved ID.
- Hold store bitmapper ** eksterne** for mindre SVG’er; indtast kun små aktiver.
- Foretrækker **pretty-print ** under udvikling; minify i produktion.
- Start mårede licenser tidligt for at undgå afbrydelser.
Fejlbehandling og validering
- Processoren validerer de nødvendige egenskaber, ID’er og referencer.
- klare undtagelser for forstyrrede veje, ulovlige transformationer eller manglende
defs
Målene er. - Optionelt “lenant” mode kan overvinde ikke-kritiske problemer og fortsætte serialisering.
Performance
- Streamed load/save for store dokumenter.
- Brug gradient/filter definitioner igen for at undgå duplikerede knuder.
- Spørg via letvægtsselektorer (ved ID/klasse/navn) for hurtige redigeringer.