Konvertierung von SVG in PDF in Python
In diesem Artikel finden Sie Informationen zur Konvertierung von SVG in PDF mit den Methoden convert_svg() der Klasse Converter und zur Anwendung von PdfSaveOptions. Mit Aspose.HTML for Python via .NET können Sie SVG in das PDF-Format programmatisch konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern. Sie können auch einen Online-SVG-Konverter ausprobieren, um die Python-API-Funktionalität zu testen und SVG im laufenden Betrieb zu konvertieren.
Online SVG Konverter
Sie können SVG mit Aspose.HTML API in Echtzeit in andere Formate konvertieren. Bitte laden Sie SVG von Ihrem lokalen Dateisystem oder einer URL, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. Die Speicheroptionen sind standardmäßig gesetzt. Sie erhalten das Konvertierungsergebnis sofort als separate Datei.
SVG in PDF umwandeln
Betrachten wir, wie man ein SVG-Dokument in ein PDF-Dateiformat konvertieren kann. Die Methoden convert_svg() der Klasse Converter sind der einfachste Weg, um eine SVG-Datei in verschiedene Formate zu konvertieren. Sie sollten einige Schritte befolgen:
- Laden Sie ein SVG-Dokument. Zur Konvertierung können Sie SVG aus einer Datei, einer URL oder einem Code-String laden. Im folgenden Beispiel erstellen wir eine SVG-Datei aus Code.
- Erstellen Sie ein neues PdfSaveOptions-Objekt. Wenn Sie keine spezifischen Optionen für das Speichern der resultierenden PDF-Datei festlegen, werden die Standardoptionen verwendet.
- Verwenden Sie die Methode
convert_svg(
content, base_uri, options, output_path
) der Klasse Converter, um SVG als PDF-Datei zu speichern.
1# Convert SVG code to PDF document using Python
2
3import os
4import aspose.html.converters as conv
5import aspose.html.saving as sav
6
7# Setup directories and define paths
8output_dir = "output/"
9if not os.path.exists(output_dir):
10 os.makedirs(output_dir)
11save_path = os.path.join(output_dir, "circles.pdf")
12
13# SVG code
14svg_code = """
15<svg xmlns="http://www.w3.org/2000/svg">
16 <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
17 <g>
18 <use href="#base" transform="translate(120, 10) scale(0.9)" />
19 <use href="#base" transform="translate(240, 20) scale(0.8)" />
20 <use href="#base" transform="translate(360, 30) scale(0.7)" />
21 <use href="#base" transform="translate(480, 40) scale(0.6)" />
22 <use href="#base" transform="translate(600, 50) scale(0.5)" />
23 </g>
24</svg>
25"""
26
27# Initialize PdfSaveOptions
28options = sav.PdfSaveOptions()
29
30# Convert SVG to PDF
31conv.Converter.convert_svg(svg_code, ".", options, save_path)
Die Abbildung zeigt die Qualität der Umwandlung von SVG in PDF am Beispiel eines Fragments der Datei circles.pdf
. Wir sprechen von einem Dateifragment, weil die volle Dateigröße einer A4-Seite entspricht, da die Speicheroptionen auf Standard eingestellt sind.
SVG in PDF konvertieren mit PdfSaveOptions
Aspose.HTML for Python via .NET bietet die Klasse
PdfSaveOptions, die Ihnen mehr Kontrolle darüber gibt, wie Dokumente im PDF-Format gespeichert werden. Einige Eigenschaften dieser Klasse erben Eigenschaften von Basisklassen, wie
PdfRenderingOptions oder RenderingOptions. Hier ist eine Beschreibung einiger Eigenschaften, die in PdfSaveOptions
verfügbar sind:
- page_setup – Diese Eigenschaft ermöglicht den Zugriff auf ein PageSetup-Objekt, das zur Konfiguration des Layouts und der Einstellungen der PDF-Ausgabeseiten verwendet wird, um bestimmte Druck- oder Anzeigeanforderungen zu erfüllen.
- horizontal_resolution – Diese Eigenschaft steuert die horizontale Auflösung sowohl für die internen Bilder, die während der Verarbeitung verwendet werden, als auch für alle externen Bilder, die im HTML-Code enthalten sind. Standardmäßig ist sie auf 300 dpi eingestellt.
- vertical_resolution – Ähnlich wie horizontal_resolution verwaltet diese Eigenschaft die vertikale Auflösung für interne und externe Bilder während der PDF-Erzeugung. Wie ihr horizontales Gegenstück ist sie standardmäßig auf 300 dpi eingestellt.
- background_color – Diese Eigenschaft legt die Hintergrundfarbe fest, die jede Seite des PDF-Dokuments füllt, oder ruft sie ab. Der Standardwert ist transparent, kann aber an das Branding oder ästhetische Vorlieben angepasst werden, um Konsistenz auf allen Seiten zu gewährleisten.
- jpeg_quality – Diese Eigenschaft bestimmt die JPEG-Komprimierungsqualität, die für in ein PDF-Dokument eingebettete Bilder verwendet wird. Die Standardqualität ist auf 95 eingestellt und bietet ein gutes Gleichgewicht zwischen Bildtreue und Dateigröße. Wenn Sie diese Eigenschaft einstellen, können Sie die Dateigröße oder die Bildqualität je nach Ihren Anforderungen optimieren.
- css – Diese Eigenschaft verwendet ein
CssOptions
-Objekt, um die Verarbeitung von CSS-Eigenschaften während der Konvertierung von HTML in PDF zu konfigurieren. Sie ermöglicht eine genaue Kontrolle darüber, wie Stile aus dem HTML interpretiert und in der resultierenden PDF-Datei angewendet werden. - encryption – Diese Eigenschaft liefert detaillierte Informationen über die Verschlüsselung von PDF-Dokumenten, einschließlich Passwortschutz und Berechtigungseinstellungen. Wenn sie nicht konfiguriert ist, wird keine Verschlüsselung angewandt. Wenn Sie diese Eigenschaft jedoch einstellen, können Sie den Zugriff auf sensible PDF-Inhalte sicher verteilen und kontrollieren.
- is_tagged_pdf – Bei true wird ein getaggtes Layout im PDF-Dokument erstellt, um die Zugänglichkeit für Benutzer mit Behinderungen zu verbessern. Dadurch wird sichergestellt, dass der Inhalt ordnungsgemäß strukturiert und mit Hilfe von Hilfstechnologien navigierbar ist und den Zugänglichkeitsstandards entspricht.
Um SVG in PDF mit PdfSaveOptions
zu konvertieren, sollten Sie ein paar Schritte befolgen:
- Laden Sie eine SVG-Datei mit einem der SVGDocument()-Konstruktoren der Klasse SVGDocument.
- Erstellen Sie ein neues PdfSaveOptions-Objekt und geben Sie Speicheroptionen an.
- Verwenden Sie eine der Methoden
convert_svg(), um SVG als PDF-Datei zu speichern. Im Beispiel nimmt die Methode convert_svg() die Parameter
document
,options
und den Pfad der Ausgabedateisave_path
und führt die Konvertierung durch.
Das folgende Python-Codefragment konfiguriert die PDF-Speicheroptionen, um Seitengröße und Ränder festzulegen, CSS-Regeln für den Druck anzuwenden, JPEG-Bilder mit einer Qualität von 80 % zu komprimieren und getaggte PDFs zur Verbesserung der Barrierefreiheit zu aktivieren:
1# Convert SVG to PDF with custom settings using Python
2
3import os
4import aspose.html.dom.svg as ahsvg
5import aspose.html.converters as conv
6import aspose.html.saving as sav
7import aspose.html.drawing as dr
8
9# Setup directories and define paths
10output_dir = "output/"
11input_dir = "data/"
12if not os.path.exists(output_dir):
13 os.makedirs(output_dir)
14
15document_path = os.path.join(input_dir, "flower.svg")
16save_path = os.path.join(output_dir, "svg-to-pdf.pdf")
17
18# Load an SVG document
19document = ahsvg.SVGDocument(document_path)
20
21# Initialize PdfSaveOptions
22options = sav.PdfSaveOptions()
23
24# Customize save options for PDF
25options.page_setup.any_page = dr.Page(dr.Size(600, 500), dr.Margin(20, 20, 10, 10))
26options.css.media_type.PRINT
27options.jpeg_quality = 80
28options.is_tagged_pdf = True
29
30# Convert SVG to PDF
31conv.Converter.convert_svg(document, options, save_path)
Im obigen Beispiel verwenden wir:
- die Eigenschaft
page_setup
, um das Layout der PDF-Seiten anzupassen; - die Eigenschaft
css.media_type
, um den Medientyp für CSS während des Rendering-Prozesses anzugeben. In diesem Beispiel ist sie aufPRINT
gesetzt, was bedeutet, dass die für Druckmedien definierten CSS-Regeln bei der Erstellung der PDF-Datei angewendet werden; - die Eigenschaft
jpeg_quality
, um die Qualität der JPEG-Komprimierung für Bilder in der PDF-Datei festzulegen. Sie ist auf80
eingestellt, was bedeutet, dass die JPEG-Bilder in der PDF-Datei auf 80 % ihrer ursprünglichen Qualität komprimiert werden; - die Eigenschaft
is_tagged_pdf
, die die Erstellung einer Tag-Struktur in der PDF-Datei aktiviert oder deaktiviert, was für die Barrierefreiheit wichtig ist. Wenn Sie diese Eigenschaft aufTrue
setzen, wird die generierte PDF-Datei mit Tags versehen, so dass sie für Benutzer, die auf unterstützende Technologien wie Bildschirmleser angewiesen sind, leichter zugänglich ist.
Überprüfen Sie die Qualität der Konvertierung von SVG in PDF mit unserem Online- SVG in PDF Konverter. Laden Sie Ihre Dateien hoch, konvertieren Sie sie und erhalten Sie die Ergebnisse in wenigen Sekunden. Testen Sie unseren SVG zu PDF Konverter jetzt kostenlos!
Laden Sie unsere Aspose.HTML for Python via .NET library herunter, mit der Sie Ihre HTML-, MHTML-, EPUB-, SVG- und Markdown-Dokumente erfolgreich, schnell und einfach in die gängigsten Formate konvertieren können.