C# SVG API, Crear editar convertir archivos SVG

Es hora de anunciar la incorporación de la biblioteca C# SVG a nuestra línea de productos: Aspose.SVG for .NET. Es una biblioteca de clases .NET que le permite crear, editar, leer y convertir archivos SVG mediante programación usando C# en aplicaciones basadas en .NET o .NET Core. Hagamos un recorrido rápido por los métodos de instalación y las características más destacadas de la API.

API de C# .NET SVG - Instalación

Aspose.SVG for .NET DLL se puede descargar desde nuestra sección Descargas. Por otro lado, puede instalarlo a través de NuGet Package Manager o Package Manager Console en Visual Studio.

Administrador de paquetes NuGet

Biblioteca C# .NET SVG

Consola del administrador de paquetes

PM> Install-Package Aspose.SVG

Ahora echemos un vistazo a algunas características destacadas de la API para manejar archivos SVG.

Crear un archivo SVG usando C#

Aspose.SVG for .NET le permite crear un archivo vacío con una estructura SVG. Además, también puede crear un archivo SVG a partir de una cadena definida por el usuario. La API proporciona la clase SVGDocument para crear archivos SVG y puede usar este objeto para llenar el documento con elementos SVG. Una vez hecho esto, puede guardar el archivo usando el método SVGDocument.Save(). Los siguientes ejemplos de código muestran cómo crear un archivo SVG desde cero.

Crear archivo SVG vacío en C#

// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-svg/Aspose.SVG-for-.NET
using (var document = new SVGDocument())
{
    // hacer algunas acciones sobre el documento aquí... 
}

Crear SVG con cadena definida por el usuario en C#

// Para obtener ejemplos completos y archivos de datos, vaya a 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>", "."))
{
    // hacer algunas acciones sobre el documento aquí... 
}

Editar archivos SVG en C#

Aspose.SVG for .NET también le permite editar los archivos SVG para actualizar su contenido. El modelo de objetos de datos de la API mapea eficientemente las especificaciones oficiales de SVG para acceder y editar nodos SVG y sus elementos. El siguiente ejemplo de código muestra cómo editar un archivo SVG en C#.

// Para obtener ejemplos completos y archivos de datos, vaya a 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);
}

Leer archivos SVG en C#

En caso de que quiera leer un archivo SVG existente, puede cargarlo usando la clase SVGDocument. Simplemente cree un nuevo objeto e inicialícelo con la ruta del archivo SVG como se muestra en el siguiente ejemplo de código.

// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    // hacer algunas acciones sobre el documento aquí... 
}

Convierta archivos SVG a PSD, XPS o imágenes ráster

También puede convertir los archivos SVG a otros formatos de archivo. Las conversiones admitidas incluyen:

  • SVG a PDF
  • SVG a XPS
  • SVG a imagen (JPEG, PNG, BMP, GIF, TIFF)

El siguiente ejemplo de código muestra cómo convertir un archivo SVG a PDF en C#.

// Para obtener ejemplos completos y archivos de datos, vaya a 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);
    }
}

Para ver ejemplos de código de SVG a XPS y de SVG a imagen, visite Conversión de archivos SVG en C#.

Más información sobre la API SVG de .NET

Puede evaluar las características de la API descargando el proyecto de ejemplos. Para más detalles, consulte la documentación de la API. En caso de que tenga alguna pregunta o consulta, no dude en hacérnosla saber a través de nuestro foro.

Ver también