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