Processore di file SVG Aspose.Words per .NET
Aspose.Words SVG File Processor per .NET ti consente di creare, modificare e salvare in modo programmatico SVG grafica dalle tue applicazioni .NET. Poiché Aspose.Words non è nativo carico SVG come formato di documento, questo plugin è progettato per essere utilizzato insieme con i plug-ins di convertitore (ad esempio, DOCX/HTML/PDF/SVG) o qualsiasi importazione upstream che produce la marcatura SV G. Puoi poi rinfinire il SVg (formate di modifica, percorsi, testo, stili) e serializzare la produzione conforme agli standard.
Installazione e Setup
- Aggiungi il pacchetto Aspose.Words per .NET NuGet al tuo progetto Installazione La guida.
- Configurare la licenza misurata una volta all’app startup Licenza a consumo .
Nota: Questo plugin fornisce una superficie API focalizzata su SVG che completa, non sostituisce, le caratteristiche core di Aspose.Words.
Caratteristiche e capacità
Creazione di documenti SVG
- Inserisci un nuovo SVG in codice, set
width
,height
, eviewBox
. - Selezionare unità assolute (px, mm, in) o fare affidamento su viewBox per la produzione responsiva.
Le forme e i sentieri
- Crea e modifica rect , circle , ellipse e line elementi di poligono.
- Supporto completo per il comando path (M/L/H/V/C/S/Q/T/A/Z) con opzioni di inserimento/eliminazione, trasformazione e stroking/filling del segmento.
Il testo e la tipografia
- Aggiungi
<text>
e<tspan>
Node con famiglia di font, dimensioni, peso, cambiamento di linea di base, spazzatura lettera/word e anchori (start/middle/end). - Applicare CSS-like styling inline o tramite definizioni di classe riutilizzabili.
Gruppo & Layering
- Organizzare il contenuto con
<g>
gruppi; applicare trasformazioni a livello di gruppo (traduzione/scala/rotata/skew). - Gruppi di nido per lo specchio delle gerarchie di stile strato.
Gradienti, Modelli e Filtri
- Definisci i gradienti lineari/radiali , i modelli e riferirli con ID.
- Aggiungi i filtri (blur, ombra di goccia, matrice di colore) per gli effetti visivi avanzati.
Immagine inserita
- Inserisci immagini di raster via
<image>
utilizzando URI esterni o dati Base64. - Posizione di controllo, dimensione (con AspectRatio conservato) e opacità.
Integrazione Converter
- Flusso tipico: Import (ad esempio, DOCX→SVG) → Refine con SVG File Processor (aggiustare i colori, aggiungere i marchi d’acqua, ottimizzare i percorsi) • Save.
- Conservare o ristrutturare ID, lezioni e depositi durante il post-processing.
Serializzazione e esportazione
- Salva SVG compatto o abbastanza stampato.
- Opzionale inline risorse (fonti/immagini) o mantenere esterne.
- Assicurarsi che il marchio conforme agli standard sia compatibile con i moderni render.
Inizio rapido: creazione di un documento SVG
// 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-processo un SVG importato (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");
Suggerimenti e migliori pratiche
- Use viewBox con coordinate relative per le grafiche responsive.
- Group wisely : applicare trasformazioni a gruppi piuttosto che per elemento per semplificare la segnalazione.
- Metti defs (gradienti, modelli, simboli, filtri) in cima e riferimento per ID.
- Mantenere i big bitmaps ** esterni** per i SVG più piccoli; inserire solo piccoli beni.
- Preferisce **pretty-print ** durante lo sviluppo; minify nella produzione.
- Iniziare ** licenziamento misurato** in anticipo per evitare interruzioni.
Errore di gestione e validazione
- Il processore valida attributi, ID e riferimenti richiesti.
- Chiari eccezioni per percorsi malformati, trasformazioni invalide, o mancanti
defs
degli obiettivi. - Il modo opzionale “lenente” può sfuggire ai problemi non critici e continuare la serializzazione.
Performance
- Carico / risparmio per grandi documenti.
- Ripristinare le definizioni di gradient/filter per evitare i nodi duplicati.
- Query tramite selettori leggeri (per ID/Classe/Nome) per editing rapidi.