Cómo convertir archivos SVG – Ejemplos de C#

Convertir documentos SVG a otros formatos es una de las características principales de Aspose.SVG for .NET API. La conversión es necesaria por varias razones: trabajar en un formato familiar y conveniente o aprovechar diferentes formatos para tareas específicas. Los artículos de esta sección proporcionan información sobre una lista de escenarios de conversión SVG compatibles y cómo ejecutarlos en C#.

Aspose.SVG for .NET API puede convertir archivos SVG a PDF, XPS, JPG, PNG, Formatos de archivo BMP, TIFF y GIF. Puede usar API en su C# o cualquier otra aplicación .NET (como VB.NET) para desarrollar aplicaciones de conversión sin entrar en detalles de los formatos de archivos subyacentes.

Convertidor SVG en línea

Puede convertir SVG a otros formatos con la API Aspose.SVG en tiempo real. Cargue SVG desde el sistema de archivos local, seleccione el formato de salida y ejecute el ejemplo. En este ejemplo, las opciones de guardar están configuradas de forma predeterminada. Recibirá inmediatamente el resultado en un archivo separado.

                
            

Algunas formas de convertir SVG en C#

Puede convertir SVG a varios formatos populares de cualquier forma: en línea o mediante programación. La conversión de SVG a otros formatos se puede realizar utilizando los métodos ConvertSVG() de la clase Converter, el método RenderTo(device) de SVGDocument clase, o el método Render(IDevice, TDocument) de la clase Renderer.

La sección actual describe escenarios admitidos de conversiones de archivos SVG a otros formatos populares mediante el uso de las clases Converter y SVGDocument:

  1. La clase Convertidor estática es una fachada compartida que proporciona conversiones de archivos SVG a formatos populares y permite que estas operaciones sean cómodas y sencillas. Una amplia gama de métodos ConvertSVG() toman como argumentos el documento fuente, las opciones de guardado, la ruta del archivo de salida y convierten archivos SVG a PDF, XPS o de imagen.
  2. El método RenderTo() de la clase SVGDocument se utiliza para representar SVG a otro formato y envía un documento al dispositivo de salida. La API Aspose.SVG proporciona la siguiente implementación de dispositivos de salida: las clases PdfDevice, XpsDevice y ImageDevice, que realizan la representación en formatos de archivos PDF, XPS e Imagen respectivamente.
  3. El método Render(IDevice, TDocument) de la clase Renderer le brinda la posibilidad de enviar varios documentos a la vez al dispositivo de renderizado de salida y fusionarlos.

Consideremos ambos escenarios de conversión de un documento SVG a otro formato de archivo, por ejemplo, SVG a PNG:

Puede descargar los ejemplos completos y los archivos de datos desde GitHub. Encontrará información sobre la descarga desde GitHub y la ejecución de ejemplos en la sección Cómo ejecutar los ejemplos.

Convierta SVG a PNG usando el método ConvertSVG()

Convertir un archivo a otro formato usando el método ConvertSVG() es una secuencia de operaciones entre las que se encuentran cargar y guardar documentos:

1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Saving;
4using Aspose.Svg.Converters;
 1// Convert SVG to PNG using C#
 2
 3// Initialize an SVG document from a file
 4using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "svg-to-png.svg")))
 5{
 6    // Create an instance of the ImageSaveOptions class
 7    ImageSaveOptions pngSaveOptions = new ImageSaveOptions();
 8
 9    // Convert SVG to PNG
10    Converter.ConvertSVG(document, pngSaveOptions, Path.Combine(OutputDir, "svg-to-png.png"));
11}

En el ejemplo, el constructor ImageSaveOptions() inicializa una instancia de la clase ImageSaveOptions que se pasa al método ConvertSVG(). El método ConvertSVG(source, options, outputPath) toma los atributos requeridos y realiza la operación de conversión.

La figura ilustra el archivo svg-to-png.png.

Texto “archivo svg-a-png.svg renderizado a PNG”

Convierta SVG a PNG usando el método RenderTo()

Para convertir SVG a PNG usando el método RenderTo(), siga los siguientes pasos:

1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Rendering.Image;
 1// Convert SVG to PNG in C#
 2
 3// Open a source SVG document
 4using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
 5{
 6    // Initialize an instance of the ImageRenderingOptions class 
 7    ImageRenderingOptions pngOptions = new ImageRenderingOptions();
 8
 9    // Initialize an instance of the ImageDevice class and specify an output file to render
10    using (ImageDevice device = new ImageDevice(pngOptions, Path.Combine(OutputDir, "light_out.png")))
11    {
12        // Render SVG to PNG
13        document.RenderTo(device);
14    }
15}

El constructor ImageDevice(options, file) toma como argumentos una instancia de la clase ImageRenderingOptions, el nombre del archivo de salida e inicializa una nueva instancia de la clase ImageDevice. El método RenderTo(device) convierte y envía el documento actual al dispositivo de renderizado de salida.

La figura ilustra el resultado de la conversión de SVG a PNG: archivo light.png.

Texto “archivo light.svg renderizado a PNG usando el método RenderTo()”

Opciones generales

Puede personalizar el proceso de renderizado especificando el tamaño de la página, los márgenes, el color de fondo, etc. Para convertir SVG a todos los formatos mencionados anteriormente, de la clase RenderingOptions se heredan las siguientes propiedades: BackgroundColor, Css , HorizontalResolution, PageSetup y VerticalResolution.

Cada dispositivo de salida PdfDevice, XpsDevice e ImageDevice tiene su propio conjunto único de opciones implementadas con las clases PdfRenderingOptions, XpsRenderingOptions e ImageRenderingOptions respectivamente.

Las opciones que se implementan con las clases PdfSaveOptions, XpsSaveOptions e ImageSaveOptions heredan de las clases PdfRenderingOptions, XpsRenderingOptions e ImageRenderingOptions respectivamente.

Aspose.SVG ofrece un Convertidor SVG en línea gratuito para convertir archivos SVG a una variedad de formatos populares. Puede convertir fácilmente SVG a PDF, SVG a XPS, SVG a JPG, SVG a PNG, SVG a BMP, SVG a TIFF, SVG a GIF. Simplemente seleccione un archivo, elija el formato a convertir y listo. ¡Es rápido y completamente gratis!

Texto “Convertidor SVG”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.