Aspose.Words SVG procesor datoteke za .NET

Aspose.Words SVG File Processor za .NET omogućuje programski stvaranje, izmjenu i spašavanje SVG grafike iz vaših .NET aplikacija. budući da Aspose.Words nije nativno opterećenje SVG kao dokumentski format, ovaj plugin je namijenjen za korištenje ** zajedno s konverter plugins** (na primjer, DOCX/HTML/PDF → SV G) ili bilo koji upstream uvoz koji proizvodi SVg označavanje.

Instaliranje i postavljanje

  • Dodajte paket Aspose.Words za .NET NuGet u svoj projekt instalacija Priručnik.
  • Konfigurirajte licenciranje jednom na start-upu aplikacije Mjerena dozvola .

Napomena: Ovaj plugin pruža površinu API-a usmjerenu na SVG koja dopunjuje, a ne zamjenjuje osnovne značajke Aspose.Words.

Značajke i sposobnosti

Stvaranje SVG dokumentacije

  • Instalirajte novi SVG u kodu, postavite width, height, i viewBox.
  • Odaberite apsolutne jedinice (px, mm, in) ili se oslanjajte na viewBox za odgovorni izlaz.

Oblikovi i putovi

  • Stvorite i uredite rect , circle i ellipse elemente.
  • Potpuna path podrška za zapovijed (M/L/H/V/C/S/Q/T/A/Z) s opcijama segmenta ulaska/izbacivanja, transformacija i punjenja.

Tekst i tipografija

  • Dodajte <text> i <tspan> čvorovi s tipografijom, veličinom, težinom, promjenom osnovne linije, rasponom pisma/razgovora i anchorima (start/middle/end).
  • Primijenite CSS-like stiliranje u liniji ili putem ponovnih definicija razreda.

Grupacija & Layering

  • Organizirajte sadržaj s <g> grupama; primjenjuju se transformacije na razini grupe (prevod/skala/rotat/skew).
  • Nesto skupine za ogledalo sloj-stila hierarhije.

Gradient, uzorci i filtri

  • Definicija **linearnih/radialnih gradienta ** , patterova i upućivanje ih ID-om.
  • Priključite filtre (blur, senka, boja matrica) za napredne vizualne učinke.

Fotografija Embedded

  • Upišite raster slike putem <image> korištenje vanjskih URI-a ili Base64 podataka.
  • Kontrola postavljanja, veličine (s očuvanjemAspectRatio) i opacity.

Konverter integracija

  • Tipični protok: **Import ** (npr. DOCX→SVG) → **Refine ** s SVG File Processorom (prilagoditi boje, dodati vodene oznake, optimizirati staze) • Save SvG.
  • Održavanje ili ponovna pisanja ID-a, razreda i defa tijekom post-procesiranja.

Serializiranje i izvoz

  • Sačuvajte kompaktni ili prilično štampani SVG.
  • Opcionalno upotrijebiti resurse (fonti / slike) ili ih zadržati vanjski.
  • Osigurajte standardno usklađeno označavanje koje je kompatibilno sa modernim rendererima.

Brz početak: stvaranje SVG dokumenta

// 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 uvezene 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");

Savjeti i najbolje prakse

  • Koristite viewBox s relativnim koordinatama za odgovarajuće grafike.
  • Group wisely : primijenite transformacije na skupine umjesto per-element kako biste pojednostavili označavanje.
  • Stavite defs (gradijenti, uzorci, simboli, filtri) na vrhu i upućivanje ID.
  • Držite velike bitmape izvan za manje SVG-ove; upišite samo male imovine.
  • Prefer **pretty-print ** tijekom razvoja; minify u proizvodnji.
  • Počnite mjerene licencije ranije kako biste izbjegli prekide.

Definicija i validacija pogrešaka

  • Procesor potvrđuje potrebne atribute, ID-e i reference.
  • Jasne iznimke za oštećene staze, nevažeće transformacije ili nestale defs Cilj je.
  • Opcionalni “lenjan” način može izbjeći ne-kritske probleme i nastaviti serializiranje.

Performance

  • Stream load/save za velike dokumente.
  • Ponovno upotrijebite definicije gradienta/filtera kako biste izbjegli duplicirane čvorove.
  • Pitanje putem izbornika s laganom težinom (po ID/klasi/imenu) za brze izmjene.
 Hrvatski