XML est un langage auto-descriptif recommandé par le W3C, conçu pour stocker et transporter des données. Un développeur peut changer le format XML en n’importe quel autre meilleur format lisible par l’homme comme un document PDF ou MS Word dans l’application .NET. Cet article explique comment convertir des données XML en rapports PDF et MS Word à l’aide de C# via des modèles simples.

Rapport XML vers PDF en C#

Les sujets suivants sont abordés ci-dessous :

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

GroupDocs.Assembly for .NET est l’API permettant d’automatiser la génération de rapports à partir des données XML à l’aide du modèle DOCX ou TXT. De plus, il prend en charge ** JSON, CSV ** et d’autres sources de données pour convertir les données en rapports de différents formats de fichiers.

Vous pouvez télécharger le programme d’installation DLLs ou MSI à partir de la section téléchargements ou installer l’API dans votre application .NET via NuGet.

PM> Install-Package GroupDocs.Assembly

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

3 étapes simples vous amèneront à convertir les données XML dans le rapport formaté au format PDF.

  1. Chargez votre source de données XML.
  2. Définissez le modèle en fonction des données XML chargées.
  3. Enfin, fournissez une source de données XML et un modèle à une méthode de génération de rapport.

Données XML

Les exemples de données XML suivants sont utilisés pour les convertir en rapport PDF. Il contient les données des gestionnaires et de leurs clients respectifs avec quelques détails supplémentaires.

<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 au format TXT ou DOCX en fonction de vos données XML source. J’utilise le modèle mentionné ci-dessous qui est créé selon les données XML des gestionnaires mentionnées ci-dessus. Cela obligera le générateur de rapports à itérer sur les gestionnaires et leurs clients respectifs. Une fois le modèle terminé, vous avez presque terminé. Vous pouvez utiliser le code ci-dessous pour la génération de votre rapport.

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

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

Les étapes suivantes vous permettent d’automatiser la génération de rapports PDF à partir de vos données XML selon votre 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 à l’aide de C#.

// Générer un rapport PDF à partir de données XML à l'aide du modèle TXT dans CSharp
// 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/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Charger la source de données XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Assembler un document pour générer un PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

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

Dans le même esprit, vous pouvez également créer le rapport au format MS Word DOC/DOCX en utilisant les mêmes données XML. Il n’y aura aucune différence dans le code de celui dont nous avons discuté ci-dessus, sauf que vous devez 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 à l’aide de C#.

// Générer un rapport MS Word à partir de données XML à l'aide d'un modèle de texte dans CSharp
// 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/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Charger la source de données XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Assembler un document pour générer un rapport Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Obtenez une licence API gratuite

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

Conclusion

En résumé, vous avez appris à convertir les données XML au format PDF sous forme de rapport en utilisant C# avec l’application .NET. De plus, nous avons discuté de la génération de rapports au format DOC/DOCX à partir du même XML en utilisant le modèle. Après avoir lu cette série de publications sur la génération de rapports ; Générez des rapports PDF et MS Word à partir de JSON, CSV, XML, vous pouvez développer votre propre application .NET de création de rapports.

Pour en savoir plus sur GroupDocs.Assembly, les options et les exemples, consultez la documentation et le référentiel GitHub. Pour toute autre question, contactez-nous via le forum.

Voir également