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

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, a viewBox.
  • 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.
 Slovenčina