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:
- Java API voor het genereren van rapporten
- PDF-rapport van XML-gegevens met behulp van Java
- MS Word DOC/DOCX-rapport van XML-gegevens met behulp van Java
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-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.