Aspose.Words SVG súborový procesor pre .NET
Aspose.Words SVG File Processor pre .NET umožňuje programovateľne vytvárať, modifikovať a ukladať SVG grafiky z vašich aplikácií .NET. Pretože Aspose.Words nie je native zaťaženie SVG ako dokumentový formát, tento plugin je určený na použitie spolu s konvertor pluginy (napríklad DOCX/HTML/PDF→SVG) alebo akýkoľvek upstream import, ktorý produkuje značku SvG.
Inštalácia a nastavenie
- Pridajte do projektu balík Aspose.Words pre .NET NuGet inštalácia Sprievodca.
- Nastavenie mierenej licencie raz v aplikácii Startup Metrické licencie .
Poznámka: Tento plugin poskytuje povrch API so zameraním na SVG, ktorý doplňuje, nenahradí, kľúčové funkcie Aspose.Words.
Vlastnosti a schopnosti
Vytvorenie dokumentu SVG
- Inštalovať nový SVG v kóde, nastaviť
width
,height
, aviewBox
. - Vyberte absolútne jednotky (px, mm, v) alebo sa spoliehajte na viewBox pre responsívny výstup.
Formy a cesty
- Vytvorte a upravte prvky rect , circle a ellipse.
- Plná path podpora príkazu (M/L/H/V/C/S/Q/T/A/Z) s segmentom vloženie/odstránenie, transformácie a možnosti stroking/plnenie.
Text a typografia
- pridať
<text>
a<tspan>
uzly so štatistickou rodinou, veľkosťou, hmotnosťou, zmenou základnej línie, rozsahom písma/slova a anchormi (start/middle/end). - Aplikujte CSS-like styling inline alebo prostredníctvom opätovne použiteľných definícií triedy.
Zhromažďovanie & Layering
- Zorganizovať obsah s
<g>
skupiny; aplikovať transformácie na úrovni skupiny (preklad/skala/rotat/skew). - Nesto skupiny na zrkadlo vrstvy štýlu hierarchie.
Gradienty, Šablóny, Filtre
- Definujte **lineárne/radiálne gradienty ** , pattery a označte ich ID.
- Pripojte filtre (blur, odtieň, farebná matrica) pre pokročilé vizuálne efekty.
Obrázok vstavaný
- Inštalácia rasterových obrázkov prostredníctvom
<image>
Použitie externých URI alebo Base64 údajov. - Kontrola umiestnenia, veľkosti (s zachovaním AspectRatio) a opacity.
Integrovanie konvertorov
- Typický tok: Import (napr. DOCX→SVG) → Refine s procesorom súborov SVG (odstrániť farby, pridať vodné znaky, optimalizovať trasy.
- Udržiavať alebo napísať ID, triedy a defy počas post-procesovania.
Serializácia a vývoz
- Uložiť kompaktné alebo priročne tlačené SVG.
- Opcionálne inline zdroje (fonty / obrázky) alebo ich udržať vonkajšie.
- Uistite sa, že štandardné označenie je kompatibilné s modernými rendermi.
Rýchly štart: Vytvorenie SVG dokumentu
// 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 an Imported 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");
Tipy a najlepšie postupy
- Use viewBox s relatívnymi koordinátmi pre responsívnu grafiku.
- Group wisely : aplikovať transformy na skupiny namiesto per-element na zjednodušenie označovania.
- Umiestnite defs (gradienty, vzory, symboly, filtre) na vrchole a odkaz ID.
- Udržujte veľké bitmapy ** vonkajšie** pre menšie SVG; vložte iba malé aktíva.
- Preferuje **pretty-print ** počas vývoja; minify v produkcii.
- Inštalujte merované licencie skôr, aby ste sa vyhli prerušeniam.
Chyby spracovania a validácie
- Procesor potvrdzuje požadované atribúty, ID a referencie.
- Jasné výnimky pre porušené cesty, neplatné transformácie alebo chýbajúce
defs
a cieľov. - Voliteľný režim “leniac” môže prejsť nekritickým problémom a pokračovať v serializácii.
Performance
- Streamované zaťaženie / úspora pre veľké dokumenty.
- Opätovné použitie definícií gradient/filter, aby sa zabránilo duplicitným uzlinám.
- Vyhľadávanie prostredníctvom výberov ľahkej hmotnosti (podľa ID / triedy / názvu) pre rýchle úpravy.