Aspose.Words SVG Soubor Processor pro .NET
Aspose.Words SVG File Processor pro .NET vám umožňuje programově vytvářet, upravovat a ukládat SVG grafiky z vašich aplikací .NET. protože Aspose.Words není nativně zatížení SVG jako formát dokumentu, tento plugin je určen k použití společně s pluginy konvertoru (např. DOCX/HTML/PDF/SVG) nebo jakýkoliv upstream dovoz, který produkuje označení SvG. Můžete pak zdokonalovat svg (editování tvarů, cest, textu, stylů) a serializovat standardní výsledek.
Instalace a nastavení
- Přidejte do vašeho projektu balíček Aspose.Words pro .NET NuGet Instalace a průvodce.
- Nastavení měřené licence jednou v aplikaci Startup Licencování na bázi měření .
Poznámka: Tento plugin poskytuje SVG soustředěnou API plochu, která doplňuje, nikoli nahrazuje, základní funkce Aspose.Words.
Vlastnosti a schopnosti
Vytvoření dokumentů SVG
- Instalace nového SVG v kódu, nastavení
width
,height
, aviewBox
. - Vyberte absolutní jednotky (px, mm, v) nebo se spolehněte na viewBox pro responsivní výstup.
Formy a cesty
- Vytvořte a upravte prvky rect , circle a ellipse.
- Plná path podpora příkazu (M/L/H/V/C/S/Q/T/A/Z) s možností segmentu vložení/odstranění, transformací a stroking/plnění.
Texty a typografie
- Přidat
<text>
a<tspan>
uzly s fontovou rodinou, velikostí, hmotností, základním směrem, písmenem/slovím a anchorem (start/middle/end). - Použijte CSS-like styling inline nebo prostřednictvím opakovaně použitelných definic třídy.
Spolupráce & Layering
- Složení obsahu s
<g>
skupiny; aplikovat transformace na úrovni skupiny (překlad/skala/rotat/skew). - Hnízdní skupiny pro zrcadlování vrstevní hierarchie.
Gradienty, vzorky a filtry
- Definujte **lineární/radiální gradienty ** , patry a odkazujte na ně pomocí ID.
- Připojte filtry (blur, stín, barevná matrice) pro pokročilé vizuální efekty.
Obrázek Embedded
- Vložte obrázky rastu přes
<image>
Používá se externí URI nebo Base64 data. - Ovládací umístění, velikost (s zachováním AspectRatio) a opacita.
Integrace konvertorů
- Typický tok: Import (např. DOCX→SVG) → Refine s procesorem souborů SVG (přizpůsobte barvy, přidejte vodní známky, optimalizujte trasy.
- Udržujte nebo znovu psát ID, třídy a defy během post-procesování.
Serializace a vývoz
- Ušetřete kompaktní nebo pěkně vytisknutý SVG.
- Volitelně vkládejte zdroje (fonty / obrázky) nebo je udržujte vnější.
- Ujistěte se, že standardní označení je kompatibilní s moderními rendery.
Rychlý start: Vytvoření 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 s importovaným 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 nejlepší postupy
- Use viewBox s relativními koordináty pro responsivní grafiku.
- Group wisely : aplikujte transformy na skupiny namísto per-element, aby se zjednodušilo označení.
- Vložte defs (gradienty, vzory, symboly, filtry) na vrcholu a odkaz ID.
- Udržujte velké bitmapy vnější pro menší SVG; vložte pouze malé aktivy.
- Přednost **pretty-print ** během vývoje; minify v produkci.
- Založte měřené licence předčasně, abyste se vyhnuli přerušení.
Řešení chyb a validace
- Procesor potvrzuje požadované atributy, ID a reference.
- Jasné výjimky pro zkreslené trasy, neplatné transformace nebo chybějící
defs
a cílů. - Volitelný „lenivní“ režim může překonat nekritické problémy a pokračovat v serializace.
Performance
- Přenos / úspora pro velké dokumenty.
- Opět použijte gradient/filter definice, abyste se vyhnuli duplicitním uzlinám.
- Vyhledávání prostřednictvím lehkých selektorů (podle ID / třídy / jména) pro rychlé úpravy.