Convertir archivos SVG en Python – Ejemplos de Python
La conversión de SVG a otros formatos permite una mejor integración en flujos de trabajo que requieren formatos como PDF para impresión o PNG para uso web. Además, la conversión a formatos rasterizados como JPEG o PNG garantiza una representación y visualización consistentes en todos los dispositivos y navegadores. Aspose.SVG for Python via .NET API le permite convertir archivos SVG a PDF, XPS, JPG , PNG, BMP, TIFF y GIF. Puede utilizar API en sus proyectos de Python para desarrollar aplicaciones de conversión sin entrar en detalles de los formatos de archivo subyacentes.
Convertidor SVG en línea
Con Aspose.SVG, puede convertir SVG a otros formatos en tiempo real. Simplemente cargue el SVG desde un sistema de archivos local o URL, seleccione el formato de salida deseado y ejecute el convertidor. Las opciones para guardar están configuradas de forma predeterminada y recibirá inmediatamente el resultado como un archivo separado.
Cómo convertir SVG en Python
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 uno de los métodos convert_svg()
de la clase
Converter o el método
render_to(device
) del
SVGDocument clase.
La sección actual describe los escenarios admitidos para convertir archivos SVG a otros formatos populares usando las clases Converter
y SVGDocument
:
- La clase estática
Converter
actúa como una fachada compartida para convertir archivos SVG a formatos populares, lo que hace que estas operaciones sean convenientes y sencillas. Proporciona una amplia gama de métodosconvert_svg()
que convierten SVG a PDF, XPS o archivos de imagen. - El método
render_to()
de la claseSVGDocument
se utiliza para representar SVG a otro formato y envía el documento a un dispositivo de salida. Aspose.SVG for Python via .NET API incluye las siguientes implementaciones de dispositivos de salida: PdfDevice, XpsDevice y ImageDevice, que facilitan la representación en PDF, XPS y archivos de imagen. formatos respectivamente.
Consideremos ambos escenarios de conversión de un documento SVG a otro formato de archivo:
Convierta SVG a PNG usando el método convert_svg()
Convertir un archivo SVG a otro formato usando el método convert_svg()
consta de una serie de pasos:
- Utilice el método set_extension() de la clase Configuration para registrar la extensión SkiaSharp. El módulo SkiaSharp es una biblioteca de gráficos que se utiliza para representar contenido SVG. Garantiza que el motor de renderizado admita las operaciones necesarias para la conversión.
- Cree una instancia de la clase ImageSaveOptions.
- Cargue un documento SVG usando la clase SVGDocument().
- Utilice uno de los métodos convert_svg() para guardar SVG como un archivo PNG.
1import os
2from aspose.svg import *
3from aspose.svg.converters import *
4from aspose.svg.drawing.skiasharp import *
5from aspose.svg.saving import *
6
7# Activate the Aspose.SVG.Drawing.SkiaSharp feature
8Configuration.set_extension(SkiaModule())
9options = ImageSaveOptions()
10with SVGDocument("image.svg") as document:
11
12 # Convert SVG to PNG
13 Converter.convert_svg(document, options, "image.png")
Este ejemplo muestra cómo convertir un archivo SVG en una imagen usando las opciones de conversión predeterminadas. Si desea controlar el proceso de conversión y configurar sus propias opciones de guardado, consulte el artículo Convertir SVG a imagen.
Convierta SVG a PDF usando el método render_to()
Para convertir SVG a PDF usando el método render_to(), siga los siguientes pasos:
- Inicialice un documento SVG usando la clase SVGDocument().
- Cree una instancia de la clase PdfRenderingOptions.
- Cree una nueva instancia de la clase PdfDevice.
- Convierta SVG a PDF usando el método
render_to(
device
) de la claseSVGDocument
.
1import os
2from aspose.svg import *
3from aspose.svg.rendering import *
4from aspose.svg.rendering.pdf import *
5
6# Initialize an SVG document from a file
7input_folder = "data/"
8output_folder = "output/"
9src_file = os.path.join(input_folder, "document.svg")
10output_file = os.path.join(output_folder, "document.pdf")
11if not os.path.exists(output_folder):
12 os.makedirs(output_folder)
13
14with SVGDocument(src_file) as document:
15 # Initialize an instance of the PdfRenderingOptions class and set custom jpeg_quality properties
16 pdf_rendering_options = PdfRenderingOptions()
17 pdf_rendering_options.jpeg_quality = 10
18
19 # Initialize an instance of the PdfDevice class
20 with PdfDevice(pdf_rendering_options, output_file) as device:
21 # Render SVG to PDF and send the document to the rendering device
22 document.render_to(device)
Opciones generales: clase RenderingOptions
La clase
RenderingOptions se usa con clases de dispositivos específicas, como
PdfDevice,
XpsDevice y
ImageDevice, que representan los formatos de salida de destino para el contenido SVG renderizado. Al configurar las propiedades de la clase RenderingOptions, puede asegurarse de que el resultado renderizado cumpla con sus necesidades específicas y estándares de calidad. Estas opciones le permiten ajustar varios aspectos de la representación, como la configuración de la página, el color de fondo y opciones de representación específicas para diferentes formatos de salida. Estas son algunas propiedades clave de la clase RenderingOptions
:
- page_setup: esta propiedad le permite definir el diseño de la página, incluidos el tamaño y los márgenes de la página.
- horizontal_resolution: esta propiedad establece u obtiene la resolución horizontal para imágenes internas en píxeles por pulgada. Por defecto, es 300 ppp.
- vertical_resolution: esta propiedad establece u obtiene la resolución vertical de las imágenes internas en píxeles por pulgada. Por defecto, es 300 ppp.
- background_color: esta propiedad le permite establecer el color de fondo para la salida renderizada. Si no se establece, el fondo predeterminado es transparente.
- css: esta propiedad obtiene un objeto CssOptions, que se utiliza para la configuración del procesamiento de propiedades CSS.
Cada dispositivo de salida PdfDevice
, XpsDevice
e ImageDevice
tiene su propio conjunto único de opciones implementadas con las clases
PdfRenderingOptions,
XpsRenderingOptions y
ImageRenderingOptions respectivamente. Estas clases heredan propiedades básicas de la clase
RenderingOptions y también tienen sus propias propiedades de representación que tienen en cuenta las características de formato.
Aspose.SVG proporciona un Convertidor SVG en línea gratuito que le permite convertir fácilmente archivos SVG a varios formatos populares. Puede convertir SVG a PDF, XPS, JPG, PNG, BMP, TIFF y GIF simplemente seleccionando un archivo, eligiendo el formato deseado y completando la conversión. ¡Es rápido, fácil y completamente gratis!