XML 是一種自描述的擴展標記語言,W3C 推薦,旨在存儲和傳輸數據。收到 XML 格式的數據後,作為開發人員,您可以將其轉換為任何其他更好的人類可讀格式,如 PDF 或 MS Word 文檔。本文將指導您使用簡單的模板將 XML 數據轉換為 Java 中的 PDF 和 MS Word 報告。
下面討論以下主題:
報告生成 Java API - XML 到 PDF 和 WORD
GroupDocs.Assembly 提供 Java API 以使用 DOCX 或 TXT 模板從 XML 數據自動生成報告。進一步支持JSON、CSV等數據源,將數據轉換為不同文件格式的可呈現報表。
下載或配置
您可以從 下載部分 下載 JAR 文件,或者只獲取基於 maven 的 Java 應用程序的 pom.xml 的存儲庫和依賴項配置。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-assembly</artifactId>
<version>21.4</version>
</dependency>
在 Java 中從 XML 數據生成 PDF 報告
讓我們快速跳到將引導您將 XML 數據轉換為格式化的 PDF 報告的步驟。
- 加載 XML 數據源
- 根據您的 XML 數據定義模板
- 為報告生成方法提供 XML 數據源和模板。

XML數據
對於 PDF 報告生成,使用以下 XML 示例數據。它包含經理及其各自客戶的詳細信息。
<Managers>
<Manager>
<Name>John Smith</Name>
<Contract>
<Client>
<Name>A Company</Name>
</Client>
<Price>1200000</Price>
</Contract>
<Contract>
...
</Contract>
...
</Manager>
<Manager>
<Name>Tony Anderson</Name>
...
</Manager>
...
</Managers>
模板
以 TXT 或 DOCX 格式定義以下模板。這允許對經理及其各自的客戶進行迭代。之後,使用下面提到的代碼生成報告。
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
Java 從 XML 生成 PDF 報告的步驟
以下步驟和代碼允許根據定義的模板從 XML 數據自動生成 PDF 報告。
- 定義 XML 數據文件、文本模板文件和 PDF 輸出報告文件。
- 使用 XML 數據文件實例化 XMLDataSoure。
- 使用已定義的 XML 數據源創建 DataSourceInfo。
- 調用 assembleDocument 方法生成 PDF 報告。
下面的代碼實現了上述步驟,並用 Java 從 XML 數據源生成 PDF。
// 在 Java 中使用 TXT 模板從 XML 數據生成 PDF 報告
// 定義數據源、模板和輸出報告文件。
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";
// 加載 XML 數據源
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// 組裝文件生成PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
在 Java 中從 XML 數據生成 MS Word 報告
同樣,您可以使用 Java 從相同的 XML 數據創建 MS Word DOC/DOCX 報告。除了更改輸出文件名外,不會有任何區別。
- 加載 XML 數據文件。
- 以 TXT 或 DOCX 格式定義模板。
- 設置輸出報表文檔格式為DOCX。
- 向 DocumentAssembler 提供 XML 數據文件、模板和輸出文件路徑,以將 XML 轉換為 DOCX。
以下代碼使用 Java 中定義的模板轉換 XML 並生成 DOCX 文件。
// 使用 Java 中的文本模板從 XML 數據生成 MS Word 報告
// 定義數據源、模板和輸出報告文件。
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";
//實例化 XML 數據源
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
//組裝文件
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以便在不受評估限制的情況下使用 API。
結論
總而言之,您已經學會了將 XML 數據轉換為 PDF 格式作為 Java 中的報告。此外,您還看到了使用模板從相同的 XML 生成 DOC/DOCX 格式的報告。閱讀完從 JSON、CSV、XML 生成 PDF 和 MS Word 報告系列後,您應該能夠輕鬆構建自己的報告生成器 Java 應用程序。
同樣,您可以將許多其他數據源轉換為報表。有關更多詳細信息、選項和示例,您可以訪問 文檔 和 GitHub 存儲庫。如有進一步疑問,請通過論壇與我們聯繫。