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:

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-zu-PDF-Bericht in Java

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.

Siehe auch