Aspose.Words SVG-Dateiverarbeitet für .NET
Aspose.Words SVG File Processor für .NET ermöglicht es Ihnen, programmatisch zu erstellen, zu modifizieren und zu speichern SVG Grafiken aus Ihren .NET-Anwendungen. weil Aspose.Words nicht nativ Laden SVG als Dokumentformat, dieses Plugin soll verwendet werden ** zusammen mit Converter-Plugins** (z. B. DOCX/HTML/PDF → SV G) oder alle Upstream-Importe, die SVg Markup produzieren.
Installation und Setup
- Fügen Sie das Aspose.Words für .NET NuGet-Paket in Ihr Projekt hinzu Installation Der Führer.
- Konfigurieren Sie messen Lizenzen einmal bei App Startup Metered Licensing .
Hinweis: Dieser Plugin bietet eine SVG-fokusierte API-Funktion, die die Kernfunktionen von Aspose.Words ergänzt, nicht ersetzt.
Eigenschaften und Kapazitäten
SVG Dokumenterzeugung
- Installieren Sie einen neuen SVG in Code, Set
width
,height
, undviewBox
. - Wählen Sie absolute Einheiten (px, mm, in) oder verlassen Sie sich auf viewBox für responsive Ausgabe.
Formen und Wege
- Erstellen und bearbeiten Sie rechte , circle und ellipse Elemente.
- Voll Path Befehlunterstützung (M/L/H/V/C/S/Q/T/A/Z) mit Segment-Insert/Remove, Transforms und Stroking/Filling-Optionen.
Text & Typografie
- Add
<text>
und<tspan>
Knoten mit Schriftfamilie, Größe, Gewicht, Baseline Shift, Buchstaben/Wörterspazierung und Anker (Start/Middle/End). - Verwenden Sie CSS-like Styling inline oder über wiederverwendbare Klassendefinitionen.
Gruppierung & Layering
- Inhalte organisieren mit
<g>
Gruppen; Anwendung von Transformationen auf der Gruppe Ebene (Übersetzung / Skala / Rotation / Skew). - Nest-Gruppen zu spiegeln Layer-Stil Hierarchien.
Gradienten, Muster und Filter
- Definieren Sie **lineare/radiale Gradienten ** , Patern und beziehen Sie sie durch ID.
- Fügen Sie Filter (blur, Drop Shadow, Farbmatrix) für fortschrittliche visuelle Effekte an.
Bild eingebettet
- Einfügen von Raster Bilder über
<image>
mit externen URIs oder Base64 Daten. - Kontrolle Position, Größe (mit PreserveAspectRatio) und Opacity.
Konverter Integration
- Typischer Fluss: **Import ** (z. B. DOCX→SVG) → **Refine ** mit SVG File Processor (Farbe anpassen, Wasserzeichen hinzufügen, Wege optimieren) • Save SVB.
- Speichern oder neu schreiben Sie IDs, Klassen und Defs während der Nachverarbeitung.
Serialisierung & Export
- Speichern Sie kompakte oder prächtig gedruckte SVG.
- Optionell inline Ressourcen (Quellen / Bilder) oder halten sie externe.
- Stellen Sie sicher, dass die Standardmarking kompatibel mit modernen Renderern ist.
Schneller Start: Ein SVG-Dokument erstellen
// 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-Prozess ein importiertes 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");
Tipps und Best Practices
- Use viewBox mit relativen Koordinaten für responsive Grafik.
- Group wisely : Verwenden Sie Transformationen an Gruppen anstatt per-element, um Markup zu vereinfachen.
- Geben Sie defs (Gradienten, Muster, Symbole, Filter) oben und beziehen Sie ID.
- Halten Sie große Bitmaps external für kleinere SVGs; inline nur kleine Vermögenswerte.
- Vorzugsweise **pretty-print ** während der Entwicklung; minify in der Produktion.
- Initialisieren Sie messige Lizenzierung früh, um Unterbrechungen zu vermeiden.
Fehlerbehandlung & Validation
- Der Prozessor validiert die erforderlichen Attribute, IDs und Referenzen.
- Klarer Ausnahme für verformte Wege, ungültige Transformationen oder fehlende
defs
die Ziele. - Der optionale „lenzige“ Modus kann nicht-kritische Probleme überwinden und weiterhin serialisieren.
Performance
- Streamed Load/Save für große Dokumente.
- Wieder verwenden Sie Gradient/Filter-Definitionen, um verdoppelte Knoten zu vermeiden.
- Query über leichte Selektoren (nach ID/Klasse/Name) für schnelle Einstellungen.