API SVG C#, créer, modifier, convertir des fichiers SVG

Il est temps d’annoncer l’ajout de la bibliothèque C# SVG à notre gamme de produits - Aspose.SVG for .NET. Il s’agit d’une bibliothèque de classes .NET qui vous permet de créer, d’éditer, de lire et de convertir des fichiers SVG par programmation à l’aide de C# dans des applications basées sur .NET ou .NET Core. Passons rapidement en revue les méthodes d’installation et les principales fonctionnalités de l’API.

API SVG C# .NET - Installation

Aspose.SVG for .NET DLL peut être téléchargé depuis notre section Téléchargements. D’autre part, vous pouvez l’installer via le gestionnaire de packages NuGet ou la console du gestionnaire de packages dans Visual Studio.

Gestionnaire de packages NuGet

Bibliothèque SVG C# .NET

Console du gestionnaire de packages

PM> Install-Package Aspose.SVG

Jetons maintenant un coup d’œil à quelques fonctionnalités saillantes de l’API pour traiter les fichiers SVG.

Créer un fichier SVG à l’aide de C#

Aspose.SVG for .NET vous permet de créer un fichier vide ayant une structure SVG. De plus, vous pouvez également créer un fichier SVG à partir d’une chaîne définie par l’utilisateur. L’API fournit la classe SVGDocument pour créer des fichiers SVG et vous pouvez également utiliser cet objet pour remplir le document avec des éléments SVG. Une fois cela fait, vous pouvez enregistrer le fichier en utilisant la méthode SVGDocument.Save(). Les exemples de code suivants montrent comment créer un fichier SVG à partir de rien.

Créer un fichier SVG vide en C#

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-svg/Aspose.SVG-for-.NET
using (var document = new SVGDocument())
{
    // faire quelques actions sur le document ici... 
}

Créer SVG avec une chaîne définie par l’utilisateur en C#

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-svg/Aspose.SVG-for-.NET
using (var document = new SVGDocument("<svg xmlns='http://www.w3.org/2000/svg'><circle cx='50' cy='50' r='40'/></svg>", "."))
{
    // faire quelques actions sur le document ici... 
}

Modifier des fichiers SVG en C#

Aspose.SVG for .NET vous permet également d’éditer les fichiers SVG pour mettre à jour leur contenu. Le modèle d’objet de données de l’API mappe efficacement les spécifications officielles de SVG pour accéder et modifier les nœuds SVG et leurs éléments. L’exemple de code suivant montre comment modifier un fichier SVG en C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    const string @namespace = "http://www.w3.org/2000/svg";
    var circle = (SVGCircleElement)document.CreateElementNS(@namespace, "circle");
    circle.Cx.BaseVal.Value = 50;
    circle.Cy.BaseVal.Value = 50;
    circle.R.BaseVal.Value = 40;

    var g = document.QuerySelector("g");
    g.AppendChild(circle);

    Console.WriteLine(g.OuterHTML);
}

Lire des fichiers SVG en C#

Si vous souhaitez lire un fichier SVG existant, vous pouvez le charger à l’aide de la classe SVGDocument. Créez simplement un nouvel objet et initialisez-le avec le chemin du fichier SVG comme indiqué dans l’exemple de code suivant.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    // faire quelques actions sur le document ici... 
}

Convertir des fichiers SVG en images PSD, XPS ou raster

Vous pouvez également convertir les fichiers SVG en divers autres formats de fichiers. Les conversions prises en charge incluent :

  • SVG en PDF
  • SVG à XPS
  • SVG vers image (JPEG, PNG, BMP, GIF, TIFF)

L’exemple de code suivant montre comment convertir un fichier SVG en PDF en C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    var options = new PdfRenderingOptions()
    {
        PageSetup =
        {
            AnyPage = new Page(new Size(500, 500))
        }
    };
    using (var device = new PdfDevice(options, dataDir + "smiley_out.pdf"))
    {
        document.RenderTo(device);
    }
}

Pour des exemples de code de SVG en XPS et de SVG en image, veuillez consulter Conversion de fichiers SVG en C#.

En savoir plus sur l’API SVG .NET

Vous pouvez évaluer les fonctionnalités de l’API en téléchargeant le projet d’exemples. Pour plus de détails, consultez la documentation de l’API. Si vous avez des questions ou des requêtes, n’hésitez pas à nous le faire savoir via notre forum.

Voir également