Aspose.Words procesor de fișiere SVG pentru .NET
Aspose.Words SVG File Processor pentru .NET vă permite să creați, să modificați și să salvați în mod programat SVG Graficele din aplicațiile .NET. Deoarece Aspose.Words nu este nativ încărcătură SVG ca format de document, acest plugin este conceput pentru a fi utilizat ** împreună cu plugin-urile de convertire** (de exemplu, DOCX/HTML/PDF→SVG) sau orice import upstream care produce etichetarea SVg.
Instalare și setare
- Adăugați pachetul Aspose.Words pentru .NET NuGet la proiectul dumneavoastră Instalare Ghidul.
- Configurați licența măsurată o dată la start-up-ul aplicației Licență măsurată .
Notă: Acest plugin oferă o suprafață de API axată pe SVG care completează, nu înlocuiește, caracteristicile de bază Aspose.Words.
Caracteristici și capacități
Crearea documentului SVG
- Instalarea unui nou SVG în cod, set
width
,height
, şiviewBox
. - Alegeți unități absolute (px, mm, in) sau bazați-vă pe viewBox pentru o producție responsivă.
Formele și căile
- Creați și editați elementele rect , circle și ellipse.
- Suport complet pentru comandă Path (M/L/H/V/C/S/Q/T/A/Z) cu opțiuni de inserare / îndepărtare a segmentului, de transformare și de strângere / umplere.
Etichetă & tipografie
- Adăugați
<text>
şi<tspan>
noduri cu familia fontului, dimensiunea, greutatea, schimbul de bază, spatiul literelor / cuvintelor și anchurile (start/middle/end). - Aplicați stilarea ca CSS în linie sau prin definiții de clasă reutilizabile.
Grupare & Layering
- Organizarea conținutului cu
<g>
grupuri; se aplică transformări la nivelul grupului (translate/scale/rotate/skew). - Grupuri de nuci pentru a reflecta ierarhie de stil strat.
Gradientele, modelele și filtrele
- Definiți gradientele **lineare/radiale ** , modele și le faceți trimitere prin ID.
- Adăugați filtre (blur, umbră, matrice de culoare) pentru efecte vizuale avansate.
Imaginea încorporată
- Introduceți imagini raster prin
<image>
utilizarea URI-urilor externe sau a datelor Base64. - Punctul de control, dimensiunea (cu conservareaAspectRatio) și opacitatea.
Integrarea Converterului
- Flux tipic: **Import ** (de exemplu, DOCX→SVG) → **Refine ** cu procesorul de fișiere SVG (ajustați culorile, adăugați marcajele de apă, optimizați căile) • Save SVC.
- Păstrați sau re-scrieți ID-uri, clase și defecte în timpul post-procesării.
Serializare și export
- Salvați SVG compact sau imprimat.
- Opțional inlinează resursele (fonte / imagini) sau le păstrează exterioare.
- Asigurați-vă că eticheta conformă standardelor este compatibilă cu renderele moderne.
Start rapid: Crearea unui document 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-proces un SVG importat (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");
Sfaturi și cele mai bune practici
- Use viewBox cu coordonate relative pentru grafică responsivă.
- Grup cu înțelepciune : aplicați transformări la grupuri în loc de per-element pentru a simplifica marcarea.
- Puneți defs (gradiente, modele, simboluri, filtre) în partea de sus și se referă prin ID.
- Păstrați bitmaps mari ** externe** pentru SVG-uri mai mici; inserați numai activele mici.
- Preferă pretty-print în timpul dezvoltării;minify în producție.
- Inițializați licența măsurată devreme pentru a evita întreruperi.
Erorile de gestionare și validare
- Procesorul validă atributele, ID-urile și referințele necesare.
- Excepții clare pentru căile malformate, transformări inadecvate sau lipsă
defs
obiectivele. - Modul opțional „lenent” poate scăpa de problemele non-critice și continuă serializarea.
Performance
- Încărcare / salvare pentru documente mari.
- Reutilizarea definițiilor gradient/filter pentru a evita duplicarea nodurilor.
- Întreabă prin intermediul selectorilor de greutate ușoară (de ID / clasă / nume) pentru editări rapide.