Comment convertir des fichiers SVG – Exemples C#
La conversion de documents SVG vers d’autres formats est l’une des principales fonctionnalités d’Aspose.SVG pour l’API .NET. La conversion est nécessaire pour diverses raisons : pour travailler dans un format familier et pratique ou pour profiter de différents formats pour des tâches spécifiques. Les articles de cette section fournissent des informations sur une liste des scénarios de conversion SVG pris en charge et sur la manière de les exécuter en C#.
Aspose.SVG pour l’API .NET peut convertir les fichiers SVG aux formats de fichiers PDF, XPS, JPG, PNG, BMP, TIFF et GIF. Vous pouvez utiliser l’API dans votre C# ou toute autre application .NET (telle que VB.NET) pour développer des applications de conversion sans entrer dans les détails des formats de fichiers sous-jacents.
Convertisseur SVG en ligne
Vous pouvez convertir SVG vers d’autres formats avec l’API Aspose.SVG en temps réel. Veuillez charger SVG à partir du système de fichiers local, sélectionner le format de sortie et exécuter l’exemple. Dans cet exemple, les options de sauvegarde sont définies par défaut. Vous recevrez immédiatement le résultat dans un fichier séparé.
Quelques façons de convertir SVG en C#
Vous pouvez convertir SVG en divers formats populaires de n’importe quelle manière – en ligne ou par programme. La conversion de SVG vers d’autres formats peut être effectuée en utilisant les méthodes
ConvertSVG() de la classe
Converter, la méthode
RenderTo(device
) de
SVGDocument ou la méthode Render(IDevice, TDocument
) de la classe
Renderer.
La section actuelle décrit les scénarios pris en charge pour la conversion de fichiers SVG vers d’autres formats populaires à l’aide des classes Converter et SVGDocument :
- La classe Converter statique est une façade partagée qui fournit des conversions de fichiers SVG vers les formats populaires et permet de rendre ces opérations pratiques et faciles. Un large éventail de méthodes ConvertSVG() prennent comme arguments le document source, les options d’enregistrement, le chemin du fichier de sortie et convertissent le SVG en fichiers PDF, XPS ou image.
- La méthode RenderTo() de la classe SVGDocument est utilisée pour restituer SVG dans un autre format et envoyer un document au périphérique de sortie. L’API Aspose.SVG fournit l’implémentation des périphériques de sortie suivants : les classes PdfDevice, XpsDevice et ImageDevice, qui effectuent respectivement le rendu aux formats de fichier PDF, XPS et Image.
- La méthode Render(
IDevice, TDocument
) de la classe Renderer vous donne la possibilité d’envoyer plusieurs documents à la fois au périphérique de rendu de sortie et de les fusionner. Pour plus d’informations, veuillez consulter l’article Comment fusionner des documents SVG.
Considérons les deux scénarios de conversion d’un document SVG vers un autre format de fichier, par exemple SVG en PNG :
Vous pouvez télécharger les exemples complets et les fichiers de données depuis GitHub. À propos du téléchargement depuis GitHub et de l’exécution d’exemples, vous le découvrirez dans la section Comment exécuter les exemples.
Convertir SVG en PNG à l’aide de la méthode ConvertSVG()
La conversion d’un fichier vers un autre format à l’aide de la méthode ConvertSVG() est une séquence d’opérations parmi lesquelles le chargement et la sauvegarde d’un document :
- Chargez un document SVG en utilisant l’un des constructeurs SVGDocument() ( svg-to-png.svg).
- Créez une instance de la classe ImageSaveOptions.
- Utilisez l’une des méthodes ConvertSVG() pour enregistrer SVG en tant que fichier PNG.
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Saving;
4using Aspose.Svg.Converters;
5...
6
7 // Initialize an SVG document from a file
8 using (var document = new SVGDocument(Path.Combine(DataDir, "svg-to-png.svg")))
9 {
10 // Create an instance of the ImageSaveOptions class
11 var pngSaveOptions = new ImageSaveOptions();
12
13 // Convert SVG to PNG
14 Converter.ConvertSVG(document, pngSaveOptions, Path.Combine(OutputDir, "svg-to-png.png"));
15 }
Dans l’exemple, le constructeur
ImageSaveOptions() initialise une instance de la classe ImageSaveOptions qui est transmise à la méthode ConvertSVG(). La méthode
ConvertSVG(source, options, outputPath
) prend les attributs requis et effectue l’opération de conversion.
La figure illustre le fichier svg-to-png.png.
Convertir SVG en PNG à l’aide de la méthode RenderTo()
Pour convertir SVG en PNG à l’aide de la méthode RenderTo(), suivez les étapes suivantes :
- Initialiser un document en utilisant l’un des constructeurs SVGDocument() ( light.svg).
- Produire une instance de la classe ImageRenderingOptions.
- Créez une nouvelle instance de la classe ImageDevice.
- Convertissez le document par la méthode
RenderTo(
device
).
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Rendering.Image;
4...
5
6 // Open a source SVG document
7 using (var document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
8 {
9 // Initialize an instance of the ImageRenderingOptions class
10 var pngOptions = new ImageRenderingOptions();
11
12 // Initialize an instance of ImageDevice and specify the output file to render
13 using (var device = new ImageDevice(pngOptions, Path.Combine(OutputDir, "light_out.png")))
14 {
15 // Render SVG to PNG
16 document.RenderTo(device);
17 }
18 }
Le constructeur
ImageDevice(options, file
) prend comme arguments une instance de la classe ImageRenderingOptions, le nom du fichier de sortie et initialise une nouvelle instance de la classe
ImageDevice. La méthode
RenderTo(device
) convertit et envoie le document actuel au périphérique de rendu de sortie.
La figure illustre le résultat de la conversion SVG en PNG – fichier light.png.
Options générales
Vous pouvez personnaliser le processus de rendu en spécifiant la taille de la page, les marges, la couleur d’arrière-plan, etc. Pour convertir SVG vers tous les formats mentionnés ci-dessus, de la classe
RenderingOptions, les propriétés suivantes sont héritées : BackgroundColor
, Css
, HorizontalResolution
, PageSetup
et VerticalResolution
.
Chaque périphérique de sortie PdfDevice, XpsDevice et ImageDevice possède son propre ensemble unique d’options implémentées avec les classes PdfRenderingOptions, XpsRenderingOptions et ImageRenderingOptions respectivement.
Les options implémentées avec les classes PdfSaveOptions, XpsSaveOptions et ImageSaveOptions héritent respectivement des classes PdfRenderingOptions, XpsRenderingOptions et ImageRenderingOptions.
Aspose.SVG propose un Convertisseur SVG en ligne gratuit pour convertir des fichiers SVG vers une variété de formats populaires. Vous pouvez facilement convertir SVG en PDF, SVG en XPS, SVG en JPG, SVG en PNG, SVG en BMP, SVG en TIFF, SVG en GIF. Sélectionnez simplement un fichier, choisissez le format à convertir et vous avez terminé. C’est rapide et totalement gratuit!