XML is een eXtensive Markup Language die zichzelf beschrijft, door W3C wordt aanbevolen en is ontworpen om gegevens op te slaan en te transporteren. Nadat u de gegevens in XML-indeling hebt ontvangen, kunt u deze als ontwikkelaar converteren naar elk ander beter leesbaar formaat, zoals PDF of MS Word-document. Dit artikel zal u begeleiden bij het converteren van XML-gegevens naar PDF- en MS Word-rapporten in Java met behulp van eenvoudige sjablonen.

Hieronder worden de volgende onderwerpen besproken:

Rapporten genereren Java API - XML naar PDF en WORD

GroupDocs.Assembly biedt Java API om het genereren van rapporten op basis van de XML-gegevens te automatiseren met behulp van een DOCX- of TXT-sjabloon. Het ondersteunt verder de JSON, CSV en andere gegevensbronnen om de gegevens om te zetten in representatieve rapporten met verschillende bestandsindelingen.

Downloaden of configureren

U kunt het JAR-bestand downloaden van de downloads-sectie, of gewoon de repository- en afhankelijkheidsconfiguraties voor de pom.xml van uw maven-gebaseerde Java-applicaties ophalen.

<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>

Genereer PDF-rapport van XML-gegevens in Java

Laten we snel naar de stappen gaan die u zullen leiden naar het converteren van XML-gegevens naar het opgemaakte PDF-rapport.

  • Laad de XML-gegevensbron
  • Definieer de sjabloon volgens uw XML-gegevens
  • Lever een XML-gegevensbron en -sjabloon aan een methode voor het genereren van rapporten.
XML naar PDF-rapport in Java

XML-gegevens

Voor het genereren van PDF-rapporten worden de volgende XML-voorbeeldgegevens gebruikt. Het bevat de gegevens van managers en hun respectieve klanten met 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>

Sjabloon

Definieer de volgende sjabloon in TXT- of DOCX-indeling. Dit maakt iteratie over managers en hun respectievelijke klanten mogelijk. Gebruik daarna de onderstaande code voor het genereren van rapporten.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

Java-stappen voor het genereren van een PDF-rapport uit XML

Met de volgende stappen en de code kan het genereren van PDF-rapporten op basis van de gedefinieerde sjabloon worden geautomatiseerd op basis van de XML-gegevens.

  • Definieer XML-gegevensbestand, tekstsjabloonbestand en PDF-uitvoerrapportbestanden.
  • Maak een instantiëring van XMLDataSoure met een XML-gegevensbestand.
  • Creëer DataSourceInfo met een gedefinieerde XML-gegevensbron.
  • Roep de methode assembleDocument aan om het PDF-rapport te genereren.

De volgende code implementeert de bovenstaande stappen en genereert een PDF van de XML-gegevensbron in Java.

// Genereer een PDF-rapport van XML-gegevens met behulp van een TXT-sjabloon in Java
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Laad XML-gegevensbron
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Document samenstellen om PDF te genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Genereer MS Word-rapport van XML-gegevens in Java

Evenzo kunt u het MS Word DOC/DOCX-rapport maken op basis van dezelfde XML-gegevens in Java. Er zal geen verschil zijn, behalve om de naam van het uitvoerbestand te wijzigen.

  • Laad het XML-gegevensbestand.
  • De sjabloon definiëren in TXT- of DOCX-indeling.
  • Stel de documentindeling van het uitvoerrapport in als DOCX.
  • Geef het XML-gegevensbestand, de sjabloon en het uitvoerbestandspad op aan DocumentAssembler om de XML naar DOCX te converteren.

De volgende code converteert de XML en genereert het DOCX-bestand met behulp van de gedefinieerde sjabloon in Java.

// Genereer een MS Word-rapport van XML-gegevens met behulp van een tekstsjabloon in Java
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Instantie XML-gegevensbron
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//Stel document samen 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Tot slot heb je geleerd om je XML-gegevens om te zetten in PDF-formaat als een rapport in Java. Bovendien hebt u het genereren van rapporten in DOC/DOCX-indeling gezien vanuit dezelfde XML met behulp van de sjabloon. Na het lezen van de serie Genereer PDF- en MS Word-rapporten van JSON, CSV, XML, zou u vertrouwd moeten zijn met het bouwen van uw eigen Java-toepassing voor het maken van rapporten.

Op dezelfde manier kunt u veel andere gegevensbronnen converteren naar rapporten. Ga voor meer details, opties en voorbeelden naar documentatie en de GitHub-repository. Neem bij verdere vragen contact met ons op via het forum.

Zie ook