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 :

  1. 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.
  2. 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.
  3. 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 :

 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.

Texte “Fichier svg vers png.svg rendu en 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 :

 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.

Texte “fichier light.svg rendu en PNG à l’aide de la méthode RenderTo()”

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!

Texte “Convertisseur SVG de bannière”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.