XML is een door W3C aanbevolen, zelfbeschrijvende taal die is ontworpen om gegevens op te slaan en te transporteren. Een ontwikkelaar kan het XML-formaat wijzigen in elk ander beter leesbaar formaat, zoals PDF- of MS Word-document binnen de .NET-toepassing. In dit artikel wordt besproken hoe u XML-gegevens kunt converteren naar PDF- en MS Word-rapporten met behulp van C# via eenvoudige sjablonen.

XML naar PDF-rapport in C#

Hieronder worden de volgende onderwerpen besproken:

Rapporten genereren .NET API – XML naar PDF en WORD

GroupDocs.Assembly for .NET is de API om het genereren van rapporten op basis van de XML-gegevens te automatiseren met behulp van een DOCX- of TXT-sjabloon. Bovendien ondersteunt het JSON, CSV en andere gegevensbronnen om de gegevens om te zetten in rapporten met verschillende bestandsindelingen.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloadsectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Assembly

Genereer een PDF-rapport van XML-gegevens in C#

In 3 eenvoudige stappen converteert u XML-gegevens naar het opgemaakte PDF-rapport.

  1. Laad uw XML-gegevensbron.
  2. Definieer de sjabloon volgens de geladen XML-gegevens.
  3. Geef ten slotte een XML-gegevensbron en -sjabloon op voor een methode voor het genereren van rapporten.

XML-gegevens

De volgende XML-voorbeeldgegevens worden gebruikt om deze te converteren naar het PDF-rapport. Het bevat de gegevens van managers en hun respectieve klanten met wat meer 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 sjabloon in TXT- of DOCX-indeling volgens uw XML-brongegevens. Ik gebruik het onderstaande sjabloon dat is gemaakt op basis van de bovengenoemde XML-gegevens van managers. Dit zorgt ervoor dat de rapportgenerator Managers en hun respectieve klanten herhaalt. Na voltooiing van de sjabloon bent u bijna klaar. U kunt de onderstaande code gebruiken voor het genereren van uw rapport.

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

C# Stappen om een PDF-rapport te genereren vanuit XML

Met de volgende stappen kunt u het genereren van PDF-rapporten automatiseren op basis van uw XML-gegevens volgens uw gedefinieerde sjabloon.

  • Definieer XML-gegevensbestand, tekstsjabloonbestand en PDF-uitvoerrapportbestanden.
  • Instantieer XMLDataSoure met 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 met behulp van C#.

// Genereer PDF-rapport van XML-gegevens met behulp van TXT-sjabloon in CSharp
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Laad XML-gegevensbron
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Document samenstellen om PDF te genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Genereer MS Word-rapport van XML-gegevens in C#

Op dezelfde manier kunt u het rapport ook in MS Word DOC/DOCX-indeling maken met dezelfde XML-gegevens. Er zal geen verschil zijn in de code van degene die we hierboven hebben besproken, behalve dat u de naam van het uitvoerbestand moet 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 met behulp van C#.

// Genereer MS Word-rapport van XML-gegevens met behulp van een tekstsjabloon in CSharp
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Laad XML-gegevensbron
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Document samenstellen om Word-rapport te genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Ontvang een gratis API-licentie

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

Conclusie

Kortom, je hebt geleerd om de XML-gegevens als rapport om te zetten in PDF-indeling met behulp van C# met de .NET-toepassing. Daarnaast bespraken we het genereren van rapporten in DOC/DOCX-indeling vanuit dezelfde XML met behulp van de sjabloon. Na het lezen van deze reeks berichten over het genereren van rapporten; Genereer PDF- en MS Word-rapporten van JSON, CSV, XML, u kunt uw eigen .NET-toepassing voor het bouwen van rapporten ontwikkelen.

Ga voor meer informatie over GroupDocs.Assembly, opties en voorbeelden naar documentation en de GitHub-repository. Neem voor verdere vragen contact met ons op via het forum.

Zie ook