Processore di file SVG Aspose.Words per .NET
Aspose.Words SVG File Processor pour .NET vous permet de créer, modifier et enregistrer de manière programmée SVG graphiques de vos applications .NET. Parce que Aspose.Words n’est pas native La charge SVG en tant que format de document, ce plugin est conçu pour être utilisé en association avec les plugins de convertisseur (par exemple, DOCX/HTML/PDF/SVG) ou toute importation au-dessus qui produit la marquage SV G. Vous pouvez ensuite rafraîchir le SVg (formes d’édition, voies, textes, styles) et sérialiser la sortie conforme aux normes.
Installation et configuration
- Ajoutez le paquet Aspose.Words pour .NET NuGet à votre projet インストール Le guide.
- Configurez la licence mesurée une fois sur l’application startup.Suivez Licenza a consumo .
Remarque : Ce plugin fournit une surface API axée sur SVG qui complète, ne remplacera pas, les fonctionnalités de base Aspose.Words.
Caractéristiques et capacités
Création de documents SVG
- Installer un nouveau SVG dans le code, configurer
width
,height
, etviewBox
. - Choisissez des unités absolues (px, mm, in) ou reliez-vous à viewBox pour une sortie réactive.
Formes et sentiers
- Créez et modifiez les éléments rect , circle , ellipse et line.
- Support complet path de commande (M/L/H/V/C/S/Q/T/A/Z) avec des options d’insertion/retrait, de transformation et de remplissage.
Textes et typographies
- Ajoutez
<text>
et<tspan>
nœuds avec famille de lettres, taille, poids, changement de ligne de base, spacing lettre/parole, et anchors (start/middle/end). - Appliquez le style CSS en ligne ou via les définitions de classe réutilisables.
Groupe & couverture
- Organiser le contenu avec
<g>
groupes; appliquer les transformations au niveau du groupe (translate/scale/rotate/skew). - Les groupes de nid pour miroir les hiérarchies en style couche.
Gradients, Modèles, Filtres
- Définissez ** gradients linéaires/radiaux ** , ** patrons** et les référez par ID.
- Ajoutez des filtres (blour, ombre de chute, matrix de couleur) pour les effets visuels avancés.
Imagerie intégrée
- Insérer des images de raster via
<image>
Utilisez des URIs externes ou des données Base64. - Placement de contrôle, taille (avec AspectRatio conservé) et opacité.
Intégration Converter
- Flux typique: **Import ** (p. ex., DOCX→SVG) → **Refine ** avec SVG File Processor (ajuster les couleurs, ajouter les marques d’eau, optimiser les chemins) • Save SVD.
- Conserver ou réécrire les identifiants, les classes et les défauts pendant la post-traitement.
Sérialisation et exportation
- Écrivez des SVG compacts ou imprimés.
- Optionnellement inline les ressources (fonts/images) ou les garder extérieurs.
- Assurez-vous que le marquage conforme aux normes est compatible avec les rendants modernes.
Démarrage rapide : Créer un document SVG
// 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-procédure un SVG importé (DOCX → SV G → tweak → sauvegarde)
// 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");
Conseils et meilleures pratiques
- Use viewBox avec des coordonnées relatives pour les graphiques réactifs.
- Group wisely : appliquer les transformations aux groupes au lieu de per-element pour simplifier la marquage.
- Placez defs (gradients, modèles, symboles, filtres) au sommet et référence par ID.
- Gardez les grands bitmaps ** externes** pour les SVG plus petits; insérer uniquement les petits actifs.
- Préférez **pretty-print ** pendant le développement; minify dans la production.
- Initialisez métrage de licence tôt pour éviter les interruptions.
Traitement et validation des erreurs
- Le processeur valide les attributs, les identifiants et les références requis.
- Exceptions claires pour les chemins malformés, les transformations invalides ou les manquants
defs
des objectifs. - Le mode « lumineux » facultatif peut échapper aux problèmes non critiques et poursuivre la sérialisation.
Performance
- Télécharger / sauvegarder pour les grands documents.
- Utilisez à nouveau les définitions de gradient/filtre pour éviter les nodes dupliqués.
- Demandez via les sélecteurs de poids léger (par ID / classe / nom) pour les éditions rapides.