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, e viewBox.
  • 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.
 Italiano