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
, iviewBox
. - 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.