通過Python轉換 XML

将 XML 转换并加载到 PDF 文档中。使用 Aspose.PDF for Python for .NET 以编程方式修改 PDF 文档

如何使用 Python for .NET 庫轉換 XML

為了將 XML 轉換為 PDF 檔,我們將使用 [Aspose.PDF for .NET](https://products.aspose.com/pdf/net) API,這是一個功能豐富、功能強大且易於使用的文檔操作 API,適用於 python-net 平臺。打開 [NuGet](https://www.nuget.org/packages/aspose.pdf) 包管理器,搜索“.PDF”並安裝。您也可以從程式包管理器主控台使用以下命令。

Python Package Manager Console

pip install aspose-pdf

轉換 XML 並通過Python載入到 PDF 中


您需要 [Aspose.PDF for .NET](https://releases.aspose.com/pdf/net) 在您的環境中嘗試代碼。

  1. 設定頁面參數。
  2. 上傳 XSLT 檔。
  3. 然後載入並轉換。

將 XML 轉換為 PDF - Python

此示例代码显示了如何将 XML 转换为 PDF 文件

import aspose.pdf as ap
import xml.etree.ElementTree as ET
from io import BytesIO

def example_xslt_to_pdf():
    data_dir = "C:/tmp/"
    with open("XMLFile1.xml", "r") as xml_file:
        xml_content = xml_file.read()
    with open("XSLTFile1.xslt", "r") as xslt_file:
        xslt_content = xslt_file.read()

    options = ap.HtmlLoadOptions()
    # Set page size to A5
    options.page_info.height = 595
    options.page_info.width = 420

    pdf_document = ap.Document(transform_xml_to_html(xml_content, xslt_content), options)
    pdf_document.save(data_dir + "data_xml.pdf")

def transform_xml_to_html(input_xml, xslt_string):
    transform = ET.XSLT(ET.XML(xslt_string))
    xml_tree = ET.ElementTree(ET.XML(input_xml))
    result_tree = transform(xml_tree)
    html_str = ET.tostring(result_tree, encoding='unicode', method='html')
    return BytesIO(html_str.encode('utf-8'))

example_xslt_to_pdf()