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í

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, a viewBox.
  • 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.
 Čeština