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:
- 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.
- 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.
- 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:
- Cargue un documento SVG usando uno de los constructores SVGDocument() ( svg-to-png.svg).
- Cree una instancia de la clase ImageSaveOptions.
- Utilice uno de los métodos ConvertSVG() para guardar SVG como un archivo PNG.
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.
Convierta SVG a PNG usando el método RenderTo()
Para convertir SVG a PNG usando el método RenderTo(), siga los siguientes pasos:
- Inicialice un documento utilizando uno de los constructores SVGDocument() ( light.svg).
- Producir una instancia de la clase ImageRenderingOptions.
- Cree una nueva instancia de la clase ImageDevice.
- Convierta el documento mediante el método
RenderTo(
device
).
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.
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!