
S rostoucím významem aplikací řízených daty nabyla na významu potřeba exportovat data ze souborů XML do všeobecně přijatelného formátu PDF. Tento blogový příspěvek poskytuje podrobného průvodce efektivním převodem XML do PDF v Pythonu. Tak začněme!
V tomto článku se budeme zabývat následujícími tématy:
- Knihovna Python pro převod XML do PDF
- Převést XML do PDF v Pythonu
- Generovat PDF z XML v Pythonu
- Převést XML do PDF online
- Bezplatné výukové zdroje
Knihovna Pythonu pro převod XML do PDF
Pro generování souborů PDF z XML je nejpřímějším přístupem využití knihovny Aspose.PDF for Python navržené pro převod XML do PDF. Díky jednoduché instalaci a použití poskytuje efektivní řešení pro transformaci dokumentů XML do souborů PDF. Aspose.PDF for Python představuje robustní řešení pro generování, manipulaci a konverzi PDF a nabízí vývojářům bezkonkurenční kontrolu nad pracovními toky dokumentů.
Prosím stáhněte si balíček nebo nainstalujte API z PyPI pomocí následujícího příkazu pip v konzole:
> pip install aspose-pdf
Převeďte XML do PDF v Pythonu
XML můžeme snadno převést na PDF podle následujících kroků:
- Vytvořte objekt třídy Document.
- Svažte XML pomocí metody Document.bindxml(file) poskytnutím cesty k souboru XML.
- Převeďte XML do PDF pomocí metody Document.save(název výstupního souboru).
Následující ukázka kódu ukazuje, jak převést soubor XML na PDF pomocí Pythonu.
import aspose.pdf as ap
# Vytvořte nový dokument PDF
pdfDocument = ap.Document();
# Transformujte a spojte XML
pdfDocument.bind_xml( "C:\\Files\\sample.xml");
# Generování PDF z XML
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");
Zdrojový soubor XML
Následuje ukázkový soubor XML, který jsme použili k převodu do dokumentu PDF.
<?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>
Vygenerovaný dokument PDF

Převeďte XML do PDF v Pythonu
Generování PDF z XML v Pythonu
Můžeme také vygenerovat PDF dokument ze souboru XML obsahujícího data aplikace. Za tímto účelem jej nejprve převedeme na Aspose.PDF kompatibilní XML pomocí XSLT a poté převedeme do formátu PDF.
Níže jsou ukázková data XML, která potřebujeme převést do dokumentu PDF.
<?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>
Aby byla tato data kompatibilní s Aspose.PDF XML, provedeme transformaci XSLT. Za tímto účelem definujeme šablonu v souboru šablony stylů XSLT, jak je znázorněno níže.
<?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>
Jakmile vytvoříme soubor šablony, můžeme vygenerovat PDF podle výše uvedených kroků. Stačí však zavolat metodu Document.bindxml(xmlfile, xslfile) poskytnutím cest k souboru XML a XSLT.
Následující ukázka kódu ukazuje, jak vygenerovat PDF ze souboru XML pomocí Pythonu.
import aspose.pdf as ap
# Vytvořte nový dokument PDF
pdfDocument = ap.Document();
# Transformujte a spojte XML
pdfDocument.bind_xml( "C:\\Files\\data.xml", "C:\\Files\\template.xslt");
# Generování PDF z XML
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");

Generování PDF z XML v Pythonu
Licence na převod XML do PDF
Můžete získat dočasnou licenci k používání API bez omezení hodnocení.
Převod XML do PDF online
Soubory XML můžete také převádět na dokumenty PDF online pomocí tohoto bezplatného nástroje XML to PDF converter.

Soubor XML do PDF – výukové zdroje
Kromě vytváření souborů XML do dokumentů PDF se dozvíte více o vytváření, manipulaci a převodu dokumentů PDF a prozkoumejte různé další funkce knihovny pomocí zdrojů níže:
Závěr
V tomto článku jste se naučili, jak převést XML do PDF v Pythonu. Podle kroků uvedených v tomto článku můžete tuto funkci snadno integrovat do svých aplikací Python a generovat soubory PDF z XML. V případě jakýchkoli dotazů nás neváhejte kontaktovat prostřednictvím našeho bezplatného fóra podpory.