Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Para convertir SVG a PNG en Python, cargue el archivo fuente con
SVGDocument, cree
ImageSaveOptions y páselos a
Converter.convert_svg(). PNG es el formato de imagen predeterminado y ImageSaveOptions permite controlar fondo, tamaño de página, márgenes y resolución.
PNG es un formato ráster sin pérdida que admite transparencia. Es útil para gráficos web, vistas previas, miniaturas y aplicaciones que no renderizan SVG directamente.
El siguiente ejemplo convierte document.svg a result.png con ajustes PNG predeterminados:
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert an SVG file to PNG using the default save options
6options = ImageSaveOptions()
7
8with SVGDocument("document.svg") as document:
9 Converter.convert_svg(document, options, "result.png")El código realiza tres acciones:
result.png.Use ImageSaveOptions cuando el PNG necesite un lienzo, fondo o resolución concretos. El ejemplo convierte winter.svg, añade fondo sólido, crea una página de 600 × 550 con márgenes de 10 píxeles y renderiza a 96 dpi:
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.saving import ImageSaveOptions
5from aspose.svg.drawing import Resolution, Page, Size, Margin
6from aspose.pydrawing import Color
7
8# Convert SVG to PNG with a custom background, page, and resolution
9input_folder = "data/"
10output_folder = "output/"
11input_path = os.path.join(input_folder, "winter.svg")
12output_path = os.path.join(output_folder, "winter.png")
13os.makedirs(output_folder, exist_ok=True)
14
15options = ImageSaveOptions()
16options.background_color = Color.from_argb(231, 217, 230)
17options.page_setup.any_page = Page(Size(600, 550), Margin(10, 10, 10, 10))
18options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
19options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
20
21with SVGDocument(input_path) as document:
22 Converter.convert_svg(document, options, output_path)El PNG resultante usa la configuración de página solicitada en lugar de depender solo del viewport SVG.

| Propiedad | Cuándo usarla |
|---|---|
| background_color | Rellenar áreas transparentes con un color elegido |
| page_setup | Definir dimensiones de página y márgenes |
| horizontal_resolution | Definir resolución horizontal en dpi |
| vertical_resolution | Definir resolución vertical en dpi |
| smoothing_mode | Controlar calidad de rasterización |
| text | Configurar renderizado de texto mediante TextOptions |
Si background_color no se define, las áreas transparentes permanecen transparentes en PNG. La resolución afecta la densidad ráster y page_setup controla el lienzo de salida.
| Problema | Causa probable | Solución |
|---|---|---|
| PNG vacío o recortado | SVG sin viewport útil o página de salida demasiado pequeña | Defina width, height o viewBox, o configure options.page_setup.any_page |
| Transparencias inesperadas | No se especificó fondo de salida | Defina options.background_color si necesita lienzo sólido |
| Texto diferente | Falta una fuente referenciada | Instale la fuente o vectorice texto si necesita glifos exactos |
| Faltan imágenes o CSS | No se resuelven recursos relativos | Cargue SVG desde su ruta o proporcione una base URI correcta |
| Dimensiones inesperadas | Tamaño de página y resolución se confunden | Use page_setup para dimensiones y horizontal_resolution/vertical_resolution para dpi |
También puede probar la conversión SVG a PNG en el navegador. Suba un SVG, seleccione PNG y compare el resultado con su salida programática.
Cree ImageSaveOptions, abra el origen con SVGDocument y llame a Converter.convert_svg(document, options, output_path).
Sí. PNG admite transparencia y las áreas SVG transparentes permanecen transparentes salvo que defina ImageSaveOptions.background_color.
Configure ImageSaveOptions.page_setup con Page, Size y Margin. Use la resolución por separado si necesita dpi concretos.
Sí. Cree un SVGDocument desde la cadena SVG y una base URI, y pase el documento a Converter.convert_svg().
PdfDevice.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.