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;
 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    }

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;
 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	}

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.