Convertir SVG a JPG en Python

Quick Answer: Para convertir SVG a JPG en Python, cargue el origen con SVGDocument, cree ImageSaveOptions, defina options.format = ImageFormat.JPEG y llame a Converter.convert_svg(document, options, output_path). Defina un fondo porque JPG no admite transparencia.

Convertir SVG a JPG programáticamente

JPG es útil para vistas previas ráster compactas, miniaturas, imágenes de informes o recursos web sin transparencia. Si el SVG contiene áreas transparentes, elija un color de fondo explícito antes de convertir.

Antes de ejecutar los ejemplos, instale Aspose.SVG for Python via .NET en su entorno Python.

Convertir SVG a JPG con ajustes predeterminados

El siguiente ejemplo carga document.svg, selecciona salida JPEG y guarda document.jpg.

 1from aspose.svg import SVGDocument
 2from aspose.svg.converters import Converter
 3from aspose.svg.rendering.image import ImageFormat
 4from aspose.svg.saving import ImageSaveOptions
 5
 6# Convert an SVG file to JPG
 7options = ImageSaveOptions()
 8options.format = ImageFormat.JPEG
 9
10with SVGDocument("document.svg") as document:
11    Converter.convert_svg(document, options, "document.jpg")

El ejemplo usa SVGDocument para cargar el origen, ImageSaveOptions con ImageFormat.JPEG para seleccionar JPG y Converter.convert_svg() para escribir el archivo convertido.

Convertir SVG a JPG con opciones personalizadas

Use ImageSaveOptions cuando el JPG necesite lienzo, fondo o resolución específicos. El ejemplo define un fondo claro, crea una página de 450 × 450 con márgenes y renderiza a 96 dpi.

 1import os
 2from aspose.svg import SVGDocument
 3from aspose.svg.converters import Converter
 4from aspose.svg.drawing import Margin, Page, Resolution, Size
 5from aspose.svg.rendering.image import ImageFormat
 6from aspose.svg.saving import ImageSaveOptions
 7from aspose.pydrawing import Color
 8
 9# Convert SVG to JPG with custom background, page size, and resolution
10input_folder = "data/"
11output_folder = "output/"
12input_path = os.path.join(input_folder, "flower.svg")
13output_path = os.path.join(output_folder, "flower.jpg")
14os.makedirs(output_folder, exist_ok=True)
15
16options = ImageSaveOptions()
17options.format = ImageFormat.JPEG
18options.background_color = Color.from_argb(240, 240, 240)
19options.page_setup.any_page = Page(Size(350, 350), Margin(10, 10, 10, 10))
20options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
21options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
22
23with SVGDocument(input_path) as document:
24    Converter.convert_svg(document, options, output_path)

La imagen muestra el SVG original (a) y el JPG convertido (b) con fondo personalizado.

SVG original y JPG convertido con fondo personalizado

Propiedades importantes de ImageSaveOptions

PropiedadCuándo usarla
formatSeleccionar salida JPEG con ImageFormat.JPEG
background_colorRellenar áreas transparentes antes de guardar como JPG
page_setupDefinir dimensiones, márgenes y lienzo
horizontal_resolutionDefinir resolución horizontal en dpi
vertical_resolutionDefinir resolución vertical en dpi
smoothing_modeControlar calidad de rasterización

Errores comunes y soluciones

ProblemaCausa probableSolución
JPG con fondo negro o inesperadoEl SVG tiene transparencia y JPG no puede guardarlaDefina options.background_color antes de convertir
Imagen vacía o recortadaSVG sin viewport útil o página de salida pequeñaDefina width, height o viewBox, o configure options.page_setup.any_page
Faltan imágenes, CSS o fuentesRecursos relativos no se resuelven desde la ruta actualCargue SVG desde su ruta original y mantenga recursos relativos
Extensión y formato no coincidenoptions.format no es ImageFormat.JPEG o la extensión es incorrectaUse options.format = ImageFormat.JPEG y guarde en .jpg o .jpeg
Líneas o texto dentadosDimensiones o resolución demasiado bajasAumente tamaño o resolución y revise smoothing_mode

Conversor SVG a JPG en línea

Use el SVG to JPG Converter gratuito para probar la salida antes de implementar el flujo en Python.

                
            

Conversor SVG a JPG en línea

FAQ

¿Cómo convierto SVG a JPG en Python?

Cargue SVG con SVGDocument, defina ImageSaveOptions.format como ImageFormat.JPEG y llame a Converter.convert_svg(document, options, output_path).

¿Debo usar JPG o PNG para convertir SVG?

Use JPG para vistas previas compactas, miniaturas e imágenes web sin transparencia. Use PNG si necesita salida sin pérdida o áreas transparentes.

¿El JPG convertido sigue siendo vectorial editable?

No. JPG es ráster. Tras la conversión, la salida contiene píxeles, no elementos SVG, rutas o nodos de texto editables.

¿Puedo guardar como .jpeg en lugar de .jpg?

Sí. Use ImageFormat.JPEG y elija .jpg o .jpeg según su convención de nombres.

¿Puedo convertir SVG desde URL o cadena en memoria a JPG?

Sí. Cree SVGDocument desde URL, flujo o marcado SVG con base URI válida y páselo a Converter.convert_svg() con opciones JPEG.

¿Puedo convertir muchos SVG a JPG?

Sí. Recorra la carpeta de entrada, use las mismas ImageSaveOptions y llame a Converter.convert_svg() para cada SVG. Consulte Convertir archivos SVG por lotes.

Artículos relacionados