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”

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.