Aspose.Words SVG bestandprocessor voor .NET

Aspose.Words SVG File Processor voor .NET laat u programmatisch bouwen, wijzigen en opslaan SVG graphics van uw .NET-toepassingen. omdat Aspose.Words niet inheemse Laden SVG als documentformaat, dit plug-in is bedoeld om te worden gebruikt ** samen met converter plugins** (bijvoorbeeld DOCX/HTML/PDF/SVG) of elke upstream-import die SVg markup produceert.

Installatie en Setup

  • Voeg het Aspose.Words voor .NET NuGet-pakket toe aan uw project Installatie De gids.
  • Configure gemeten licentie eenmaal bij app startup. volgen gemeten licentie .

Opmerking: Dit plugin biedt een SVG-gericht API-oppervlak dat aanvult, niet vervangt, kernfuncties van Aspose.Words.

kenmerken en capaciteiten

SVG Document Creatie

  • Installeer een nieuwe SVG in code, set width, height, en viewBox.
  • Kies absolute eenheden (px, mm, in) of vertrouw op viewBox voor responsieve output.

Fouten & paden

  • Creëer en bewerken rect , circle , ellipse en line de elementen van polyline.
  • Full path command support (M/L/H/V/C/S/Q/T/A/Z) met segment insert/remove, transforms en stroking/vullen opties.

Tekst & Typografie

  • toevoegen <text> en <tspan> knooppunten met letterfamilie, grootte, gewicht, baseline shift, letter/woord spacing en anchors (start/middle/end).
  • Gebruik CSS-achtige styling inline of via hergebruikbare klasdefinities.

Groep & Layering

  • Inhoud organiseren met <g> groepen; transformeren toepassen op het groepsniveau (translate/scale/rotate/skew).
  • Nestgroepen om layer-style hiërarchieën te weerspiegelen.

Gradiënten, Patterns en Filters

  • Definieer **lineaire/radiale gradiënten ** , patterns en verwijst ze door ID.
  • Voeg filters toe (blur, drop schaduw, kleurmatrix) voor geavanceerde visuele effecten.

afbeelding ingebouwd

  • Invoeren van raster afbeeldingen via <image> gebruik van externe URI’s of Base64 gegevens.
  • Controle plaatsing, grootte (met behoudenAspectRatio) en opaciteit.

Converter Integratie

  • Typische stroom: **Import ** (bv. DOCX→SVG) → **Refine ** met SVG File Processor (kleuren aanpassen, watermarkten toevoegen, paden optimaliseren) • Save SVB.
  • Bewaar of herschrijf ID’s, klassen en defs tijdens post-verwerking.

Serialisatie & Export

  • Speel compacte of vrij gedrukte SVG.
  • Optioneel inlineer bronnen (bron/beelden) of houd ze extern.
  • Zorg ervoor dat de standaardcompliant markup compatibel is met moderne renderers.

Snelle start: het maken van een SVG-document

// 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-proces een geïmporteerde 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 en beste praktijken

  • Use viewBox met relatieve coördinaten voor responsieve graphics.
  • Group wisely : om transformaties aan te passen op groepen in plaats van per-element om de markering te vereenvoudigen.
  • Plaats defs (gradiënten, patronen, symbolen en filters) aan de top en verwijzingen door ID.
  • Houd grote bitmaps externe voor kleinere SVG’s; inschakelen alleen kleine activa.
  • Prefereren **pretty-print ** tijdens de ontwikkeling; minify in productie.
  • Initialiseren metereerde licentie vroeg om onderbrekingen te voorkomen.

Foutbehandeling & Validatie

  • De processor valideren de vereiste attributen, ID’s en referenties.
  • Klare uitzonderingen voor verkeerde paden, invalid transformaties of ontbrekende defs De doelstellingen.
  • Optional “lenent” modus kan niet-kritische problemen overwinnen en serialisatie voortzetten.

Performance

  • Streamed load/save voor grote documenten.
  • Hergebruik gradient/filter definities om dubbelknoten te voorkomen.
  • Vraag via lichtgewicht selectoren (bij ID/klasse/naam) voor snelle bewerken.
 Nederlands