Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Um SVG-Dateien in Python batchweise zu konvertieren, durchlaufen Sie einen Eingabeordner, laden jede .svg-Datei mit
SVGDocument, erstellen Speicheroptionen für das Zielformat und rufen
Converter.convert_svg() für jede Ausgabedatei auf.
Batch-Konvertierung ist nützlich, wenn Ihre Anwendung Thumbnails, Web-Vorschauen, exportierte Berichtsgrafiken oder PDF-Kopien für einen Ordner mit SVG-Dateien benötigt. Der Workflow entspricht der Einzeldatei-Konvertierung, wird aber für jede Quelldatei wiederholt:
.svg-Dateien.Bevor Sie die Beispiele ausführen, installieren Sie Aspose.SVG for Python via .NET in Ihrer Python-Umgebung.
PNG ist eine gute Standardwahl für Web-Vorschauen und transparente Rasterausgabe. Das Beispiel konvertiert jede .svg-Datei in data/svg/ in eine .png-Datei in 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)Bei der Konvertierung in JPG setzen Sie ImageFormat.JPEG und wählen eine Hintergrundfarbe, da JPG keine Transparenz unterstützt.
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)Verwenden Sie PdfSaveOptions, wenn jede SVG-Datei eine separate PDF-Datei werden soll.
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)Die vorherigen Beispiele wiederholen dieselbe Ordnerschleife für PNG, JPG und PDF. In Anwendungscode ist es meist sauberer, diese Schleife in eine Hilfsfunktion auszulagern und nur Ausgabeordner, Ausgabeerweiterung und Speicheroptionen zu übergeben.
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)| Problem | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Keine Dateien werden konvertiert | Das Skript sucht im falschen Eingabeordner oder filtert die falsche Erweiterung | Geben Sie input_folder aus und prüfen Sie, ob .svg-Dateien enthalten sind |
| Ausgabedateien überschreiben sich | Verschiedene Eingabedateien erzeugen denselben Basisnamen | Bewahren Sie Unterordner oder fügen Sie einen Suffix hinzu |
| Verknüpfte Bilder oder CSS fehlen | Relative Ressourcen liegen nicht neben dem Quell-SVG | Laden Sie jedes SVG vom ursprünglichen Dateipfad und halten Sie Ressourcen relativ verfügbar |
| JPG-Ausgabe hat unerwarteten Hintergrund | JPG unterstützt keine Transparenz | Setzen Sie ImageSaveOptions.background_color |
| Ein fehlerhaftes SVG stoppt den gesamten Batch | Ausnahmen werden nicht pro Datei behandelt | Umschließen Sie jede Konvertierung mit try/except und protokollieren Sie fehlerhafte Dateinamen |
Durchlaufen Sie einen Eingabeordner, laden Sie jede .svg-Datei mit SVGDocument und rufen Sie Converter.convert_svg() mit den nötigen Speicheroptionen auf.
Ja. Verwenden Sie ImageSaveOptions, setzen Sie options.format = ImageFormat.JPEG, legen Sie eine Hintergrundfarbe fest und speichern Sie jede Ausgabedatei mit .jpg.
Ja. Verwenden Sie PdfSaveOptions und schreiben Sie jedes konvertierte Dokument in einen .pdf-Ausgabepfad.
Ja. Verwenden Sie rekursive Ordnerdurchläufe in Python und erstellen Sie passende Ausgabeordner vor dem Speichern.
Dieser Batch-Workflow erstellt eine Ausgabedatei pro SVG. Wenn Sie ein kombiniertes mehrseitiges PDF benötigen, verwenden Sie die Klasse SvgRenderer mit einem PdfDevice; der Renderer kann mehrere SVG-Dokumente an dasselbe PDF-Gerät senden.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.