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, og viewBox.
  • 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.
 Dansk