Mit der wachsenden Bedeutung datengesteuerter Anwendungen hat die Notwendigkeit, Daten aus XML Dateien in das allgemein akzeptierte PDF-Format zu exportieren, erheblich an Bedeutung gewonnen. Dieser Blogbeitrag bietet eine Schritt-für-Schritt-Anleitung zur effizienten Konvertierung von XML in PDF in Python. Also fangen wir an!
Die folgenden Themen werden in diesem Artikel behandelt:
- Python Bibliothek zum Konvertieren von XML in PDF
- XML in PDF in Python konvertieren
- PDF aus XML in Python generieren
- XML online in PDF konvertieren
- Kostenlose Lernressourcen
Python Bibliothek zum Konvertieren von XML in PDF
Für die Generierung von PDF Dateien aus XML besteht der einfachste Ansatz darin, die Bibliothek Aspose.PDF for Python zu nutzen, die für die XML zu PDF-Konvertierung entwickelt wurde. Mit einfacher Installation und Verwendung bietet es eine effiziente Lösung für die Umwandlung von XML Dokumenten in PDF Dateien. Aspose.PDF for Python ist eine robuste Lösung für die PDF-Generierung, -Bearbeitung und -Konvertierung und bietet Entwicklern eine beispiellose Kontrolle über Dokument-Workflows.
Bitte laden Sie das Paket herunter oder installieren Sie die API von PyPI mit dem folgenden Pip-Befehl in der Konsole:
> pip install aspose-pdf
Konvertieren Sie XML in PDF in Python
Wir können XML ganz einfach in PDF umwandeln, indem wir die folgenden Schritte ausführen:
- Erstellen Sie ein Objekt der Klasse Document.
- Binden Sie XML mithilfe der Methode „Document.bindxml(file)“, indem Sie den XML-Dateipfad angeben.
- Konvertieren Sie XML mit der Methode Document.save(outputfilename) in PDF.
Das folgende Codebeispiel zeigt, wie Sie mit Python eine XML-Datei in eine PDF-Datei konvertieren.
import aspose.pdf as ap
# Erstellen Sie ein neues PDF Dokument
pdfDocument = ap.Document();
# XML transformieren und binden
pdfDocument.bind_xml( "C:\\Files\\sample.xml");
# PDF aus XML generieren
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");
Quell-XML-Datei
Das Folgende ist die Beispiel-XML-Datei, die wir zum Konvertieren in das PDF Dokument verwendet haben.
<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
<Page>
<TextFragment>
<TextSegment>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla odio lorem, luctus in lorem vitae, accumsan semper lectus. Cras a auctor leo, et tincidunt lacus.</TextSegment>
</TextFragment>
</Page>
</Document>
Generiertes PDF Dokument
Generieren Sie PDF aus XML in Python
Aus der XML-Datei mit den Bewerbungsdaten können wir auch ein PDF Dokument generieren. Zu diesem Zweck werden wir es zunächst mit XSLT in das Aspose.PDF-kompatible XML umwandeln und es dann in das PDF-Format konvertieren.
Im Folgenden finden Sie Beispiel-XML-Daten, die wir in das PDF Dokument konvertieren müssen.
<?xml version="1.0" encoding="utf-8" ?>
<catalog>
<cd>
<Content>Hello World!</Content>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>
Um diese Daten mit dem Aspose.PDF-XML kompatibel zu machen, führen wir eine XSLT-Transformation durch. Dazu definieren wir eine Vorlage in einer XSLT-Stylesheet-Datei, wie unten gezeigt.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Document xmlns="Aspose.Pdf">
<Page>
<PageInfo IsLandscape="false" Height="595" Width="420">
<Margin Top="71" Bottom="71" Left="28" Right="28" />
</PageInfo>
<Header>
<Margin Top="20" />
<Table ColumnAdjustment="AutoFitToWindow">
<Row>
<Cell Alignment="1">
<TextFragment>
<TextSegment>Date: 11/01/2024</TextSegment>
</TextFragment>
</Cell>
<Cell Alignment="3">
<TextFragment>
<TextSegment>Page $p / $P</TextSegment>
</TextFragment>
</Cell>
</Row>
</Table>
</Header>
<HtmlFragment>
<![CDATA[
<h1 style="font-family:Tahoma; font-size:16pt;">My CD Collection</h1>
]]>
</HtmlFragment>
<TextFragment>
<TextSegment>Welcome</TextSegment>
</TextFragment>
<Table ColumnAdjustment="AutoFitToWindow" ColumnWidths ="10 10 10 10">
<DefaultCellPadding Top="5" Left="0" Right="0" Bottom="5" />
<Border>
<Top Color="Black"></Top>
<Bottom Color="Black"></Bottom>
<Left Color="Black"></Left>
<Right Color="Black"></Right>
</Border>
<Margin Top="15" />
<Row BackgroundColor="LightGray" MinRowHeight="20">
<Border>
<Bottom Color="Black"></Bottom>
</Border>
<Cell Alignment="2">
<TextFragment>
<TextSegment>Title</TextSegment>
</TextFragment>
</Cell>
<Cell>
<TextFragment>
<TextSegment>Artist</TextSegment>
</TextFragment>
</Cell>
<Cell>
<TextFragment>
<TextSegment>Price</TextSegment>
</TextFragment>
</Cell>
<Cell>
<TextFragment>
<TextSegment>Year</TextSegment>
</TextFragment>
</Cell>
</Row>
<xsl:for-each select="catalog/cd">
<Row>
<Cell Alignment="2">
<TextFragment>
<TextSegment><xsl:value-of select="title"/></TextSegment>
</TextFragment>
</Cell>
<Cell>
<TextFragment>
<TextSegment><xsl:value-of select="artist"/></TextSegment>
</TextFragment>
</Cell>
<Cell>
<TextFragment>
<TextSegment><xsl:value-of select="price"/></TextSegment>
</TextFragment>
</Cell>
<Cell>
<TextFragment>
<TextSegment><xsl:value-of select="year"/></TextSegment>
</TextFragment>
</Cell>
</Row>
</xsl:for-each>
</Table>
</Page>
</Document>
</xsl:template>
</xsl:stylesheet>
Sobald wir die Vorlagendatei erstellt haben, können wir ein PDF generieren, indem wir die zuvor genannten Schritte ausführen. Wir müssen jedoch nur die Methode Document.bindxml(xmlfile, xslfile) aufrufen, indem wir XML-Datei und XSLT-Dateipfade angeben.
Das folgende Codebeispiel zeigt, wie Sie mit Python eine PDF-Datei aus einer XML-Datei generieren.
import aspose.pdf as ap
# Erstellen Sie ein neues PDF Dokument
pdfDocument = ap.Document();
# XML transformieren und binden
pdfDocument.bind_xml( "C:\\Files\\data.xml", "C:\\Files\\template.xslt");
# PDF aus XML generieren
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
Lizenz für XML zu PDF-Konverter
Sie können eine temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu nutzen.
Konvertieren Sie XML online in PDF
Sie können XML Dateien auch online mit diesem kostenlosen XML zu PDF-Konverter-Tool in PDF Dokumente konvertieren.
XML-Datei in PDF – Lernressourcen
Erfahren Sie neben dem Erstellen von XML Dateien in PDF Dokumente mehr über das Erstellen, Bearbeiten und Konvertieren von PDF Dokumenten und erkunden Sie verschiedene andere Funktionen der Bibliothek mithilfe der folgenden Ressourcen:
Abschluss
In diesem Artikel haben Sie erfahren, wie Sie XML in Python in PDF konvertieren. Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie diese Funktion problemlos in Ihre Python-Anwendungen integrieren, um PDF Dateien aus XML zu generieren. Falls Sie Fragen haben, können Sie uns diese gerne über unser kostenloses Support-Forum mitteilen.