データ駆動型アプリケーションの注目度が高まるにつれ、データを XML ファイルから広く受け入れられる PDF 形式にエクスポートする必要性が非常に重要になってきています。このブログ投稿では、Python で XML を PDF に効率的に変換するためのステップバイステップのガイドを提供します。それでは始めましょう!
この記事では次のトピックについて説明します。
- XML を PDF に変換する Python ライブラリ
- Python で XML を PDF に変換
- Python で XML から PDF を生成
- XML をオンラインで PDF に変換
- 無料の学習リソース
XML を PDF に変換する Python ライブラリ
XML から PDF ファイルを生成する場合、最も簡単なアプローチは、XML から PDF への変換用に設計された Aspose.PDF for Python ライブラリを利用することです。簡単なインストールと使用法で、XML ドキュメントを PDF ファイルに変換するための効率的なソリューションを提供します。 Aspose.PDF for Python は、PDF の生成、操作、変換のための堅牢なソリューションとして機能し、開発者にドキュメント ワークフローに対する比類のない制御を提供します。
パッケージをダウンロードするか、コンソールで次の pip コマンドを使用して PyPI から API をインストールしてください。
> pip install aspose-pdf
Python で XML を PDF に変換する
以下の手順に従って、XML を PDF に簡単に変換できます。
- Documentクラスのオブジェクトを作成します。
- XML ファイル パスを指定して、Document.bindxml(file) メソッドを使用して XML をバインドします。
- Document.save(outputfilename) メソッドを使用して XML を PDF に変換します。
次のコード サンプルは、Python を使用して XML ファイルを PDF に変換する方法を示しています。
import aspose.pdf as ap
# 新しい PDF ドキュメントを作成する
pdfDocument = ap.Document();
# XMLの変換とバインド
pdfDocument.bind_xml( "C:\\Files\\sample.xml");
# XMLからPDFを生成
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");
ソースXMLファイル
以下は、PDF ドキュメントに変換するために使用したサンプル XML ファイルです。
<?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>
生成された PDF ドキュメント
Python で XML から PDF を生成する
アプリケーション データを含む XML ファイルから PDF ドキュメントを生成することもできます。この目的のために、まず XSLT を使用してこれを Aspose.PDF 互換の XML に変換し、次に PDF 形式に変換します。
以下は、PDF ドキュメントに変換する必要があるサンプル XML データです。
<?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>
このデータを Aspose.PDF XML と互換性を持たせるために、XSLT 変換を実行します。このために、以下に示すように、XSLT スタイルシート ファイルでテンプレートを定義します。
<?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>
テンプレート ファイルを作成したら、前述の手順に従って PDF を生成できます。ただし、XML ファイルと XSLT ファイルのパスを指定して Document.bindxml(xmlfile, xslfile) メソッドを呼び出す必要があるだけです。
次のコード サンプルは、Python を使用して XML ファイルから PDF を生成する方法を示しています。
import aspose.pdf as ap
# 新しい PDF ドキュメントを作成する
pdfDocument = ap.Document();
# XMLの変換とバインド
pdfDocument.bind_xml( "C:\\Files\\data.xml", "C:\\Files\\template.xslt");
# XMLからPDFを生成
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
XML から PDF へのコンバーターのライセンス
評価制限なしで API を使用するために 一時ライセンスを取得できます。
オンラインでXMLをPDFに変換
この無料の XML to PDF コンバータ ツールを使用して、XML ファイルをオンラインで PDF ドキュメントに変換することもできます。
XML ファイルから PDF へ – 学習リソース
XML ファイルを PDF ドキュメントに作成するだけでなく、PDF ドキュメントの作成、操作、変換について詳しく学び、以下のリソースを使用してライブラリのその他のさまざまな機能を調べてください。
結論
この記事では、Python で XML を PDF に変換する方法を学習しました。この記事で説明する手順に従うことで、この機能を Python アプリケーションに簡単に統合して、XML から PDF ファイルを生成できます。ご質問がある場合は、無料サポート フォーラムを通じてお気軽にお問い合わせください。