Convertir archivos SVG en Python

Quick Answer: Aspose.SVG for Python via .NET convierte SVG a PDF, PNG, JPG, BMP, TIFF, GIF y XPS. Use Converter.convert_svg() para conversión directa de archivos, o cargue un SVGDocument y llame a render_to(device) cuando necesite un flujo con dispositivo de renderizado.

Conversión SVG en Python

SVG es ideal para gráficos escalables, pero muchos flujos necesitan formatos de salida fijos. Use PDF para impresión e intercambio de documentos, PNG o JPG para vistas previas web y recursos ráster, TIFF o BMP para pipelines de imagen, GIF para salida ráster ligera y XPS para documentos de diseño fijo.

Esta página ofrece una vista general breve de la API de conversión SVG. Para opciones detalladas y ejemplos por formato, consulte los artículos enlazados más abajo.

Formatos de salida compatibles

Formato de salidaUso típicoArtículo detallado
PDFImpresión, archivado, intercambio de documentosConvertir SVG a PDF
PNGImágenes web, salida ráster transparente, vistas previasConvertir SVG a PNG
JPGVistas previas ráster sin transparenciaConvertir SVG a JPG
BMPSalida bitmap simpleConvertir SVG a imagen
TIFFFlujos ráster multipropósito y publicaciónConvertir SVG a imagen
GIFSalida ráster ligeraConvertir SVG a imagen
XPSSalida de documento de diseño fijoVea el ejemplo XPS abajo

Convertir SVG con Converter.convert_svg()

La clase Converter es la forma más sencilla de convertir archivos SVG. Cree opciones de guardado para el formato de destino, cargue el documento SVG con SVGDocument y llame a Converter.convert_svg().

1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert SVG to PNG using the high-level converter API
6options = ImageSaveOptions()
7
8with SVGDocument("image.svg") as document:
9    Converter.convert_svg(document, options, "image.png")

Convertir SVG a XPS en Python

XPS es un formato de salida de diseño fijo bastante específico. Úselo cuando un flujo de documentos Windows, impresión o archivado requiera XPS explícitamente. Para la mayoría de escenarios de intercambio, PDF suele ser la opción predeterminada más adecuada.

1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import XpsSaveOptions
4
5# Convert SVG to XPS when the target workflow requires XPS output
6options = XpsSaveOptions()
7
8with SVGDocument("document.svg") as document:
9    Converter.convert_svg(document, options, "document.xps")

Convertir SVG con render_to()

El método render_to() envía contenido SVG a un dispositivo de renderizado. Use este flujo cuando la aplicación necesite control explícito del dispositivo de destino, como PdfDevice, XpsDevice o ImageDevice.

 1import os
 2from aspose.svg import SVGDocument
 3from aspose.svg.rendering.pdf import PdfDevice, PdfRenderingOptions
 4
 5# Render SVG to PDF using a rendering device
 6input_folder = "data/"
 7output_folder = "output/"
 8input_path = os.path.join(input_folder, "document.svg")
 9output_path = os.path.join(output_folder, "document.pdf")
10os.makedirs(output_folder, exist_ok=True)
11
12options = PdfRenderingOptions()
13options.jpeg_quality = 80
14
15with SVGDocument(input_path) as document:
16    with PdfDevice(options, output_path) as device:
17        document.render_to(device)

Opciones de conversión

La mayoría de tareas de conversión SVG usan opciones de guardado o de renderizado para controlar calidad, configuración de página, color de fondo y recursos.

Grupo de opcionesSe usa conEjemplos
ImageSaveOptionsSalida PNG, JPG, BMP, TIFF, GIFFormato, fondo, página, resolución
PdfSaveOptionsSalida PDF con Converter.convert_svg()Página, calidad JPEG, metadatos, cifrado, fondo
XpsSaveOptionsSalida XPS con Converter.convert_svg()Página, fondo, resolución
PdfRenderingOptionsSalida PDF con PdfDevicePágina, calidad JPEG, resolución, fondo
RenderingOptionsFlujos de renderizado basados en dispositivoAjustes comunes heredados por opciones específicas

Conversión por lotes

La conversión por lotes usa las mismas APIs que la conversión de un solo archivo. Recorra una carpeta de SVG, cree una ruta de salida para cada archivo y llame a Converter.convert_svg() para cada documento. Consulte Convertir archivos SVG por lotes en Python para ejemplos de PNG, JPG y PDF.

Conversor SVG en línea

Use el SVG Converter gratuito para probar la conversión SVG antes de implementarla en Python. Suba un archivo SVG, seleccione un formato de salida y compare el archivo generado.

                
            

Conversor SVG en línea para PDF, PNG, JPG, BMP, TIFF, GIF y XPS

Errores comunes y soluciones

ProblemaCausa probableSolución
Falta el archivo de salidaLa carpeta de salida no existe o se guardó en otro directorioCree la carpeta con os.makedirs() y use rutas explícitas
La imagen convertida tiene un fondo incorrectoEl SVG tiene transparencia y no se configuró fondoDefina el color de fondo en las opciones de guardado o renderizado
El tamaño de PDF o imagen no es el esperadoLa configuración de página no coincide con el viewport o contenido SVGConfigure tamaño, márgenes o modo de ajuste en las opciones
Faltan imágenes o fuentes externasNo se pueden resolver recursos relativos durante la conversiónMantenga recursos junto al SVG o use rutas/base paths correctos
La salida es demasiado grandeEl SVG es complejo o los ajustes ráster son altosReduzca resolución, calidad JPEG, tamaño o simplifique el SVG

FAQ

¿Cómo convierto archivos SVG en Python?
Cargue el archivo con SVGDocument, cree opciones de guardado para el formato de destino y llame a Converter.convert_svg().

¿Qué formatos de salida SVG se admiten?
Aspose.SVG for Python via .NET admite conversión a PDF, XPS, PNG, JPG, BMP, TIFF y GIF.

¿Debo usar Converter.convert_svg() o render_to()?
Use Converter.convert_svg() para conversión normal de archivos. Use render_to() cuando necesite un flujo con PdfDevice, XpsDevice o ImageDevice.

¿Puedo convertir SVG desde una URL?
Sí. Cargue la URL SVG con SVGDocument cuando haya acceso de red y conviértala con la misma API usada para archivos locales.

¿Puedo convertir SVG a XPS en Python?
Sí. Cree XpsSaveOptions y páselo junto con el SVGDocument cargado a Converter.convert_svg(). Use XPS solo cuando el flujo de destino requiera ese formato.

¿Puedo convertir varios archivos SVG por lotes?
Sí. Recorra la carpeta de entrada, cargue cada archivo .svg con SVGDocument y llame a Converter.convert_svg() para cada salida.

¿Puedo cambiar el tamaño de salida durante la conversión?
Sí. Configure page setup, sizing, márgenes y resolución mediante las opciones de guardado o renderizado del formato de destino.

Artículos relacionados