XML ist eine eXtensive Markup **Sprache, die selbstbeschreibend ist, vom W3C empfohlen und zum Speichern und Transportieren von Daten entwickelt wurde. Nachdem Sie die Daten im XML-Format erhalten haben, können Sie sie als Entwickler in jedes andere besser lesbare Format wie PDF oder MS Word-Dokument konvertieren. Dieser Artikel führt Sie durch die Konvertierung von XML-Daten in PDF- und MS Word-Berichte in Java mithilfe einfacher Vorlagen.
Nachfolgend werden folgende Themen behandelt:
- Java-API zum Generieren von Berichten
- PDF-Bericht aus XML-Daten mit Java
- MS Word DOC/DOCX-Bericht aus XML-Daten mit Java
Berichterstellung Java-API - XML zu PDF und WORD
GroupDocs.Assembly stellt eine Java-API bereit, um die Berichterstellung aus den XML-Daten mithilfe der DOCX- oder TXT-Vorlage zu automatisieren. Es unterstützt außerdem JSON, CSV und andere Datenquellen, um die Daten in vorzeigbare Berichte verschiedener Dateiformate zu konvertieren.
Herunterladen oder Konfigurieren
Sie können die JAR-Datei aus dem Download-Bereich herunterladen oder einfach die Repository- und Abhängigkeitskonfigurationen für die pom.xml Ihrer maven-basierten Java-Anwendungen abrufen.
<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>
Generieren Sie einen PDF-Bericht aus XML-Daten in Java
Lassen Sie uns schnell zu den Schritten springen, die Sie zum Konvertieren von XML-Daten in den formatierten PDF-Bericht führen.
- Laden Sie die XML-Datenquelle
- Definieren Sie die Vorlage gemäß Ihren XML-Daten
- Geben Sie eine XML-Datenquelle und eine Vorlage für eine Methode zur Berichterstellung an.

XML-Daten
Für die PDF-Berichterstellung werden die folgenden XML-Beispieldaten verwendet. Es enthält die Daten von Managern und ihren jeweiligen Kunden mit Details.
<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>
Schablone
Definieren Sie die folgende Vorlage im TXT- oder DOCX-Format. Dies ermöglicht eine Iteration über Manager und ihre jeweiligen Clients. Verwenden Sie danach den unten genannten Code für die Berichterstellung.
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
Java-Schritte zum Generieren von PDF-Berichten aus XML
Die folgenden Schritte und der Code ermöglichen die automatische Generierung von PDF-Berichten aus den XML-Daten gemäß der definierten Vorlage.
- Definieren Sie XML-Datendateien, Textvorlagendateien und PDF-Ausgabeberichtsdateien.
- Instanziiere XMLDataSoure mit XML-Datendatei.
- Erstellen Sie DataSourceInfo mit definierter XML-Datenquelle.
- Rufen Sie die Methode assembleDocument auf, um den PDF-Bericht zu generieren.
Der folgende Code implementiert die obigen Schritte und generiert eine PDF-Datei aus der XML-Datenquelle in Java.
// Generieren Sie einen PDF-Bericht aus XML-Daten mit einer TXT-Vorlage in Java
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";
// XML-Datenquelle laden
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Dokument zusammenstellen, um PDF zu generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
Generieren Sie MS Word-Berichte aus XML-Daten in Java
Ebenso können Sie den MS Word DOC/DOCX-Bericht aus denselben XML-Daten in Java erstellen. Es wird keinen Unterschied geben, außer den Namen der Ausgabedatei zu ändern.
- Laden Sie die XML-Datendatei.
- Definition der Vorlage im TXT- oder DOCX-Format.
- Legen Sie das Dokumentformat des Ausgabeberichts als DOCX fest.
- Geben Sie die XML-Datendatei, die Vorlage und den Ausgabedateipfad an DocumentAssembler an, um das XML in DOCX zu konvertieren.
Der folgende Code konvertiert das XML und generiert die DOCX-Datei unter Verwendung der definierten Vorlage in Java.
// Generieren Sie einen MS Word-Bericht aus XML-Daten mithilfe einer Textvorlage in Java
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";
//XML-Datenquelle instanziieren
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
//Dokument zusammenstellen
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
Holen Sie sich eine kostenlose API-Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.
Fazit
Abschließend haben Sie gelernt, Ihre XML-Daten als Bericht in Java in das PDF-Format zu konvertieren. Außerdem haben Sie die Berichterstellung im DOC/DOCX-Format aus demselben XML unter Verwendung der Vorlage gesehen. Nach dem Lesen der Serie PDF- und MS Word-Berichte aus JSON, CSV, XML erstellen, sollten Sie mit der Erstellung Ihres eigenen Berichterstellungsprogramms vertraut sein Java-Anwendung.
Ebenso können Sie viele andere Datenquellen in Berichte umwandeln. Weitere Einzelheiten, Optionen und Beispiele finden Sie unter documentation und im GitHub-Repository. Bei weiteren Fragen kontaktieren Sie uns über das Forum.