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 por lotes en Python, recorra una carpeta de entrada, cargue cada .svg con
SVGDocument, cree opciones para el formato de destino y llame a
Converter.convert_svg() para cada salida.
La conversión por lotes es útil para miniaturas, vistas previas web, gráficos exportados de informes o copias PDF de una carpeta SVG. El flujo es igual que para un archivo, pero se repite para cada fuente:
.svg.Antes de ejecutar los ejemplos, instale Aspose.SVG for Python via .NET en su entorno Python.
PNG es una buena opción para vistas previas web y salida ráster transparente. El ejemplo convierte cada .svg en data/svg/ a .png en output/png/.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.saving import ImageSaveOptions
5
6# Batch convert SVG files to PNG
7input_folder = "data/svg/"
8output_folder = "output/png/"
9os.makedirs(output_folder, exist_ok=True)
10
11options = ImageSaveOptions()
12
13for file_name in os.listdir(input_folder):
14 if not file_name.lower().endswith(".svg"):
15 continue
16
17 input_path = os.path.join(input_folder, file_name)
18 output_name = os.path.splitext(file_name)[0] + ".png"
19 output_path = os.path.join(output_folder, output_name)
20
21 with SVGDocument(input_path) as document:
22 Converter.convert_svg(document, options, output_path)Al convertir a JPG, defina ImageFormat.JPEG y elija un color de fondo, porque JPG no admite transparencia.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.rendering.image import ImageFormat
5from aspose.svg.saving import ImageSaveOptions
6from aspose.pydrawing import Color
7
8# Batch convert SVG files to JPG with a solid background
9input_folder = "data/svg/"
10output_folder = "output/jpg/"
11os.makedirs(output_folder, exist_ok=True)
12
13options = ImageSaveOptions()
14options.format = ImageFormat.JPEG
15options.background_color = Color.from_argb(255, 255, 255)
16
17for file_name in os.listdir(input_folder):
18 if not file_name.lower().endswith(".svg"):
19 continue
20
21 input_path = os.path.join(input_folder, file_name)
22 output_name = os.path.splitext(file_name)[0] + ".jpg"
23 output_path = os.path.join(output_folder, output_name)
24
25 with SVGDocument(input_path) as document:
26 Converter.convert_svg(document, options, output_path)Use PdfSaveOptions cuando cada SVG deba convertirse en un PDF separado.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.saving import PdfSaveOptions
5
6# Batch convert SVG files to separate PDF files
7input_folder = "data/svg/"
8output_folder = "output/pdf/"
9os.makedirs(output_folder, exist_ok=True)
10
11options = PdfSaveOptions()
12
13for file_name in os.listdir(input_folder):
14 if not file_name.lower().endswith(".svg"):
15 continue
16
17 input_path = os.path.join(input_folder, file_name)
18 output_name = os.path.splitext(file_name)[0] + ".pdf"
19 output_path = os.path.join(output_folder, output_name)
20
21 with SVGDocument(input_path) as document:
22 Converter.convert_svg(document, options, output_path)Los ejemplos anteriores repiten el mismo bucle de carpeta para PNG, JPG y PDF. En código de aplicación suele ser más limpio mantener ese bucle en una función auxiliar y pasar solo carpeta de salida, extensión y opciones.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.rendering.image import ImageFormat
5from aspose.svg.saving import ImageSaveOptions, PdfSaveOptions
6from aspose.pydrawing import Color
7
8def batch_convert_svg(input_folder, output_folder, output_extension, options):
9 os.makedirs(output_folder, exist_ok=True)
10
11 for file_name in os.listdir(input_folder):
12 if not file_name.lower().endswith(".svg"):
13 continue
14
15 input_path = os.path.join(input_folder, file_name)
16 output_name = os.path.splitext(file_name)[0] + output_extension
17 output_path = os.path.join(output_folder, output_name)
18
19 with SVGDocument(input_path) as document:
20 Converter.convert_svg(document, options, output_path)
21
22input_folder = "data/svg/"
23
24# Reuse the same helper for PNG output
25png_options = ImageSaveOptions()
26batch_convert_svg(input_folder, "output/png/", ".png", png_options)
27
28# Reuse the same helper for JPG output
29jpg_options = ImageSaveOptions()
30jpg_options.format = ImageFormat.JPEG
31jpg_options.background_color = Color.from_argb(255, 255, 255)
32batch_convert_svg(input_folder, "output/jpg/", ".jpg", jpg_options)
33
34# Reuse the same helper for PDF output
35pdf_options = PdfSaveOptions()
36batch_convert_svg(input_folder, "output/pdf/", ".pdf", pdf_options)| Problema | Causa probable | Solución |
|---|---|---|
| No se convierten archivos | El script mira en la carpeta incorrecta o filtra otra extensión | Imprima input_folder y compruebe que contiene .svg |
| Los archivos de salida se sobrescriben | Distintos archivos producen el mismo nombre base | Conserve subcarpetas o añada un sufijo |
| Faltan imágenes o CSS vinculados | Recursos relativos no están junto al SVG de origen | Cargue cada SVG desde su ruta original y mantenga recursos esperados |
| JPG tiene fondo inesperado | JPG no admite transparencia | Defina ImageSaveOptions.background_color |
| Un SVG incorrecto detiene todo el lote | Las excepciones no se gestionan por archivo | Use try/except en cada conversión y registre nombres fallidos |
Recorra una carpeta de entrada, cargue cada .svg con SVGDocument y llame a Converter.convert_svg() con las opciones necesarias.
Sí. Use ImageSaveOptions, defina options.format = ImageFormat.JPEG, configure un fondo y guarde cada salida con .jpg.
Sí. Use PdfSaveOptions y escriba cada documento convertido en una ruta .pdf.
Sí. Use recorrido recursivo en Python y cree carpetas de salida correspondientes antes de guardar.
Este flujo crea un archivo de salida por SVG. Si necesita un PDF combinado multipágina, use la clase SvgRenderer con PdfDevice; el renderer puede enviar varios documentos SVG al mismo dispositivo PDF.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.