SVG in PDF in Python konvertieren

Quick Answer: Laden Sie SVG mit SVGDocument, erstellen Sie PdfSaveOptions und rufen Sie Converter.convert_svg(document, options, output_path) auf, um SVG als PDF zu speichern. Verwenden Sie PdfSaveOptions, wenn Seitengröße, Hintergrund, Auflösung, JPEG-Qualität, Metadaten oder Verschlüsselung angepasst werden müssen.

SVG programmgesteuert in PDF konvertieren

PDF ist ein gängiges Ausgabeformat, wenn SVG-Grafiken gedruckt, archiviert, in Dokumente eingebettet oder in einem layouttreuen Format geteilt werden sollen. Aspose.SVG for Python via .NET kann SVG über eine High-Level-Converter-API oder über ein Rendering-Gerät in PDF konvertieren, wenn Sie den Rendering-Prozess ausdrücklich steuern müssen.

Verwenden Sie Converter.convert_svg() für die meisten Dateikonvertierungen. Verwenden Sie SVGDocument.render_to() mit PdfDevice, wenn Ihr Workflow bereits Rendering-Geräte nutzt oder ein gerätebasiertes Rendering-Muster benötigt.

Bevor Sie die Beispiele ausführen, installieren Sie Aspose.SVG for Python via .NET in Ihrer Python-Umgebung.

SVG mit Converter.convert_svg() in PDF konvertieren

Der einfachste Weg ist, das SVG-Dokument mit SVGDocument zu laden, PdfSaveOptions zu erstellen und Converter.convert_svg() aufzurufen.

1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import PdfSaveOptions
4
5# Convert an SVG file to PDF using the default save options
6options = PdfSaveOptions()
7
8with SVGDocument("document.svg") as document:
9    Converter.convert_svg(document, options, "document.pdf")

SVG mit benutzerdefinierten Speicheroptionen in PDF konvertieren

Verwenden Sie PdfSaveOptions, wenn Sie die PDF-Ausgabe steuern müssen. Das folgende Beispiel setzt einen transparenten Hintergrund, passt die Seite an den SVG-Inhalt an, ändert die Rasterbildauflösung und passt die JPEG-Qualität an.

 1import os
 2from aspose.svg import SVGDocument
 3from aspose.svg.converters import Converter
 4from aspose.svg.drawing import Resolution
 5from aspose.svg.rendering import SizingType
 6from aspose.svg.saving import PdfSaveOptions
 7from aspose.pydrawing import Color
 8
 9# Convert SVG to PDF and customize page sizing and image quality
10input_folder = "data/"
11output_folder = "output/"
12input_path = os.path.join(input_folder, "document.svg")
13output_path = os.path.join(output_folder, "document.pdf")
14os.makedirs(output_folder, exist_ok=True)
15
16options = PdfSaveOptions()
17options.background_color = Color.from_argb(0, 255, 255, 255)
18options.page_setup.sizing = SizingType.FIT_CONTENT
19options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
20options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
21options.jpeg_quality = 80
22
23with SVGDocument(input_path) as document:
24    Converter.convert_svg(document, options, output_path)

Wichtige PdfSaveOptions-Eigenschaften

EigenschaftBedeutung
background_colorSeitenhintergrund, wenn SVG transparente Bereiche enthält
page_setupAusgabe-Seitengröße, Ränder und Sizing-Modus
horizontal_resolutionHorizontale Auflösung für gerasterte Ressourcen im PDF
vertical_resolutionVertikale Auflösung für gerasterte Ressourcen im PDF
jpeg_qualityJPEG-Komprimierungsqualität für eingebettete Rasterbilder
document_infoPDF-Metadaten wie Titel, Autor, Betreff und Schlüsselwörter
encryptionPDF-Verschlüsselung und Berechtigungen

PdfSaveOptions erbt PDF-Rendering-Einstellungen von PdfRenderingOptions, daher sind viele Ausgabeeigenschaften in Converter- und Device-Workflows gemeinsam.

SVG mit render_to() in PDF konvertieren

Die Methode render_to() sendet das geladene SVG-Dokument an ein Rendering-Gerät. Dieser Ansatz ist nützlich, wenn Ihre Anwendung bereits mit Aspose.SVG-Rendering-Geräten arbeitet oder das Zielgerät explizit wählen muss.

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

Converter.convert_svg() oder render_to()

MethodeAm besten geeignet für
Converter.convert_svg()Direkte SVG-zu-PDF-Konvertierung mit kurzem Code und Speicheroptionen
SVGDocument.render_to()Rendering-Workflows mit Ausgabegeräten wie PdfDevice

Für normale SVG-zu-PDF-Konvertierung beginnen Sie mit Converter.convert_svg(). Es ist kürzer und passt natürlich zur Dateikonvertierung. Verwenden Sie render_to(), wenn Sie das Rendering-Geräte-Muster benötigen.

Häufige Fehler und Lösungen

ProblemWahrscheinliche UrsacheLösung
Die PDF-Seitengröße entspricht nicht der ErwartungDie Standard-Seiteneinrichtung passt nicht zum SVG-Viewport oder InhaltSetzen Sie options.page_setup.sizing und konfigurieren Sie Seitengröße oder Ränder explizit
Transparente SVG-Bereiche erscheinen mit unerwünschtem HintergrundDer PDF-Viewer oder Ausgabe-Workflow verwendet eigenen HintergrundSetzen Sie vor der Konvertierung options.background_color
Eingebettete Bilder wirken unscharf oder zu großAuflösung und JPEG-Qualität passen nicht zum ZielPassen Sie horizontal_resolution, vertical_resolution und jpeg_quality an
PDF wird nicht erstelltDer Zielordner existiert nicht oder das Skript speichert in einem anderen ArbeitsverzeichnisErstellen Sie den Ausgabeordner mit os.makedirs() und verwenden Sie os.path.join()
Text oder externe Ressourcen fehlenDas SVG verweist auf Schriftarten, Bilder oder CSS-Dateien, die nicht aufgelöst werden könnenVerwenden Sie korrekte Pfade und halten Sie externe Ressourcen relativ zum SVG-Dokument verfügbar

Online-SVG-zu-PDF-Konverter

Sie können die SVG-zu-PDF-Konvertierung mit dem kostenlosen Online- SVG to PDF Converter testen. Laden Sie eine SVG-Datei hoch, führen Sie die Konvertierung aus und vergleichen Sie das Ergebnis, bevor Sie denselben Workflow in Python implementieren.

                
            

Online-SVG-zu-PDF-Konverter

FAQ

Wie konvertiere ich SVG in PDF in Python?

Laden Sie SVG mit SVGDocument, erstellen Sie PdfSaveOptions und rufen Sie Converter.convert_svg(document, options, output_path) auf.

Kann ich die PDF-Seitengröße bei der SVG-Konvertierung festlegen?

Ja. Verwenden Sie die Eigenschaft page_setup von PdfSaveOptions oder PdfRenderingOptions, um Seitengröße, Ränder und Sizing-Modus zu konfigurieren.

Kann ich SVG ohne die Converter-Klasse in PDF konvertieren?

Ja. Erstellen Sie PdfRenderingOptions, öffnen Sie ein PdfDevice und rufen Sie document.render_to(device) auf.

Behält SVG-zu-PDF-Konvertierung Transparenz bei?

Transparente SVG-Inhalte können erhalten bleiben, aber das sichtbare Ergebnis hängt vom PDF-Viewer und Workflow ab. Setzen Sie background_color, wenn Sie einen vorhersehbaren Seitenhintergrund benötigen.

Wie kann ich die Größe des erzeugten PDF reduzieren?

Reduzieren Sie jpeg_quality, verringern Sie die Auflösung eingebetteter Rasterbilder und vereinfachen Sie große oder komplexe SVG-Inhalte vor der Konvertierung.

Verwandte Artikel