XML est un langage Markup LeXtensif qui est autodescriptif, recommandé par le W3C et conçu pour stocker et transporter des données. Après avoir reçu les données au format XML, en tant que développeur, vous pouvez les convertir dans n’importe quel autre meilleur format lisible par l’homme, comme un document PDF ou MS Word. Cet article vous guidera pour convertir des données XML en rapports PDF et MS Word en Java à l’aide de modèles simples.

Les sujets suivants sont abordés ci-dessous :

API Java pour la génération de rapports

API Java de génération de rapports - XML vers PDF et WORD

GroupDocs.Assembly fournit une API Java pour automatiser la génération de rapports à partir des données XML à l’aide du modèle DOCX ou TXT. Il prend également en charge ** JSON, CSV ** et d’autres sources de données pour convertir les données en rapports présentables de différents formats de fichiers.

Télécharger ou configurer

Vous pouvez télécharger le fichier JAR à partir de la section téléchargements, ou simplement obtenir les configurations du référentiel et des dépendances pour le pom.xml de vos applications Java basées sur maven.

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

Générer un rapport PDF à partir de données XML en Java

Passons rapidement aux étapes qui vous amèneront à convertir les données XML en rapport PDF formaté.

  • Charger la source de données XML
  • Définissez le modèle en fonction de vos données XML
  • Fournir une source de données XML et un modèle à une méthode de génération de rapport.
Rapport XML en PDF en Java

Données XML

Pour la génération de rapport PDF, les exemples de données XML suivants sont utilisés. Il contient les données des gestionnaires et de leurs clients respectifs avec des détails.

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

Modèle

Définissez le modèle suivant au format TXT ou DOCX. Cela permet une itération sur les gestionnaires et leurs clients respectifs. Après cela, utilisez le code mentionné ci-dessous pour la génération de rapport.

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

Étapes Java pour générer un rapport PDF à partir de XML

Les étapes suivantes et le code permettent d’automatiser la génération de rapports PDF à partir des données XML selon le modèle défini.

  • Définissez le fichier de données XML, le fichier de modèle de texte et les fichiers de rapport de sortie PDF.
  • Instanciez XMLDataSoure avec le fichier de données XML.
  • Créez DataSourceInfo avec une source de données XML définie.
  • Appelez la méthode assembleDocument pour générer le rapport PDF.

Le code suivant implémente les étapes ci-dessus et génère un PDF à partir de la source de données XML en Java.

// Générer un rapport PDF à partir de données XML à l'aide d'un modèle TXT en Java
// Définissez la source de données, le modèle et les fichiers de rapport de sortie.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Charger la source de données XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Assembler un document pour générer un PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Générer un rapport MS Word à partir de données XML en Java

De même, vous pouvez créer le rapport MS Word DOC/DOCX à partir des mêmes données XML en Java. Il n’y aura aucune différence, sauf pour changer le nom du fichier de sortie.

  • Charger le fichier de données XML.
  • Définition du modèle au format TXT ou DOCX.
  • Définissez le format du document de rapport de sortie sur DOCX.
  • Fournissez le fichier de données XML, le modèle et le chemin du fichier de sortie à DocumentAssembler pour convertir le XML en DOCX.

Le code suivant convertit le XML et génère le fichier DOCX à l’aide du modèle défini en Java.

// Générer un rapport MS Word à partir de données XML à l'aide d'un modèle de texte en Java
// Définissez la source de données, le modèle et les fichiers de rapport de sortie.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Instancier la source de données XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//Assembler le document 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans les limitations d’évaluation.

Conclusion

Pour conclure, vous avez appris à convertir vos données XML au format PDF sous forme de rapport en Java. De plus, vous avez vu la génération de rapport au format DOC/DOCX à partir du même XML en utilisant le modèle. Après avoir lu la série Générer des rapports PDF et MS Word à partir de JSON, CSV, XML, vous devriez être à l’aise pour créer votre propre générateur de rapports. Application Java.

De même, vous pouvez convertir de nombreuses autres sources de données en rapport. Pour plus de détails, d’options et d’exemples, vous pouvez consulter la documentation et le référentiel GitHub. En cas de questions supplémentaires, contactez-nous via le forum.

Voir également