Avec l’importance croissante des applications basées sur les données, la nécessité d’exporter des données à partir de fichiers XML vers le format universellement acceptable PDF a pris une importance considérable. Cet article de blog fournit un guide étape par étape pour convertir efficacement XML en PDF en Python. Alors commençons !
Les sujets suivants seront abordés dans cet article :
- Bibliothèque Python pour convertir XML en PDF
- Convertir XML en PDF en Python
- Générer un PDF à partir de XML en Python
- Convertir XML en PDF en ligne
- Ressources d’apprentissage gratuites
Bibliothèque Python pour convertir XML en PDF
Pour générer des fichiers PDF à partir de XML, l’approche la plus simple consiste à exploiter la bibliothèque Aspose.PDF for Python conçue pour la conversion XML en PDF. Avec une installation et une utilisation simples, il fournit une solution efficace pour transformer des documents XML en fichiers PDF. Aspose.PDF for Python se présente comme une solution robuste pour la génération, la manipulation et la conversion de PDF, offrant aux développeurs un contrôle inégalé sur les flux de travail documentaires.
Veuillez télécharger le package ou installer l’API depuis PyPI à l’aide de la commande pip suivante dans la console :
> pip install aspose-pdf
Convertir XML en PDF en Python
Nous pouvons facilement transformer XML en PDF en suivant les étapes ci-dessous :
- Créez un objet de la classe Document.
- Liez XML à l’aide de la méthode Document.bindxml(file) en fournissant le chemin du fichier XML.
- Convertissez XML en PDF à l’aide de la méthode Document.save(outputfilename).
L’exemple de code suivant montre comment convertir un fichier XML en PDF à l’aide de Python.
import aspose.pdf as ap
# Créer un nouveau document PDF
pdfDocument = ap.Document();
# Transformer et lier XML
pdfDocument.bind_xml( "C:\\Files\\sample.xml");
# Générer un PDF à partir de XML
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");
Fichier XML source
Voici l’exemple de fichier XML que nous avons utilisé pour convertir en document 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>
Document PDF généré
Générer un PDF à partir de XML en Python
Nous pouvons également générer un document PDF à partir du fichier XML contenant les données de la candidature. À cette fin, nous allons d’abord le transformer au format XML compatible Aspose.PDF à l’aide de XSLT, puis le convertir au format PDF.
Voici les exemples de données XML que nous devons convertir en document 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>
Pour rendre ces données compatibles avec le XML Aspose.PDF, nous effectuerons une transformation XSLT. Pour cela, nous définirons un modèle dans un fichier de feuille de style XSLT, comme indiqué ci-dessous.
<?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>
Une fois que nous avons créé le fichier modèle, nous pouvons générer un PDF en suivant les étapes mentionnées précédemment. Cependant, il suffit d’appeler la méthode Document.bindxml(xmlfile, xslfile) en fournissant les chemins des fichiers XML et XSLT.
L’exemple de code suivant montre comment générer un PDF à partir d’un fichier XML à l’aide de Python.
import aspose.pdf as ap
# Créer un nouveau document PDF
pdfDocument = ap.Document();
# Transformer et lier XML
pdfDocument.bind_xml( "C:\\Files\\data.xml", "C:\\Files\\template.xslt");
# Générer un PDF à partir de XML
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
Licence de conversion XML en PDF
Vous pouvez obtenir une licence temporaire pour utiliser l’API sans limitations d’évaluation.
Convertir XML en PDF en ligne
Vous pouvez également convertir des fichiers XML en documents PDF en ligne à l’aide de cet outil gratuit Convertisseur XML en PDF.
Fichier XML en PDF – Ressources d’apprentissage
Outre la création de fichiers XML en documents PDF, apprenez-en davantage sur la création, la manipulation et la conversion de documents PDF, et explorez diverses autres fonctionnalités de la bibliothèque à l’aide des ressources ci-dessous :
Conclusion
Dans cet article, vous avez appris comment convertir du XML en PDF en Python. En suivant les étapes décrites dans cet article, vous pouvez facilement intégrer cette fonctionnalité dans vos applications Python pour générer des fichiers PDF à partir de XML. Si vous avez des questions, n’hésitez pas à nous le faire savoir via notre forum d’assistance gratuit.