XML je samopopisný jazyk doporučený organizací W3C, který je určen k ukládání a přenosu dat. Vývojář může změnit formát XML na jakýkoli jiný lépe čitelný formát jako PDF nebo dokument MS Word v rámci aplikace .NET. Tento článek pojednává o tom, jak převést data XML do sestav PDF a MS Word pomocí C# pomocí jednoduchých šablon.

Zpráva z XML do PDF v C#

Níže jsou diskutována následující témata:

Report Generation .NET API – XML to PDF a WORD

GroupDocs.Assembly for .NET je API pro automatizaci generování sestav z dat XML pomocí šablony DOCX nebo TXT. Kromě toho podporuje JSON, CSV a další zdroje dat pro převod dat do sestav různých formátů souborů.

Můžete si stáhnout DLL nebo MSI instalační program z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Assembly

Vygenerovat sestavu PDF z dat XML v C#

3 jednoduché kroky vás povedou k převodu dat XML do sestavy ve formátu PDF.

  1. Načtěte zdroj dat XML.
  2. Definujte šablonu podle načtených XML dat.
  3. Nakonec poskytněte zdroj dat XML a šablonu pro metodu generování sestav.

XML data

Následující ukázková data XML se používají k převodu do sestavy PDF. Obsahuje data manažerů a jejich příslušných klientů s několika dalšími detaily.

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

Šablona

Definujte šablonu ve formátu TXT nebo DOCX podle vašich zdrojových XML dat. Používám níže uvedenou šablonu, která je vytvořena podle výše uvedených XML dat manažerů. Díky tomu bude generátor sestav iterovat přes manažery a jejich příslušné klienty. Po dokončení šablony máte téměř hotovo. Pro generování přehledu můžete použít níže uvedený kód.

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

C# Kroky k generování zprávy PDF z XML

Následující kroky vám umožní automatizovat generování sestav PDF z vašich dat XML podle vámi definované šablony.

  • Definujte datový soubor XML, soubor textové šablony a soubory výstupních sestav PDF.
  • Vytvořte instanci XMLDataSoure s datovým souborem XML.
  • Vytvořte DataSourceInfo s definovaným zdrojem dat XML.
  • Vygenerujte zprávu PDF voláním metody AssembleDocument.

Následující kód implementuje výše uvedené kroky a vygeneruje PDF ze zdroje dat XML pomocí C#.

// Vygenerujte zprávu PDF z dat XML pomocí šablony TXT v CSharp
// Definujte zdroje dat, šablony a soubory výstupních sestav.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Načíst zdroj dat XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Sestavte dokument pro generování PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Generovat MS Word Report z XML dat v C#

Ve stejném duchu můžete také vytvořit sestavu ve formátu MS Word DOC/DOCX pomocí stejných dat XML. V kódu se nebude lišit od toho, o kterém jsme hovořili výše, kromě toho, že musíte změnit název výstupního souboru.

  • Načtěte datový soubor XML.
  • Definování šablony ve formátu TXT nebo DOCX.
  • Nastavte formát dokumentu výstupní sestavy jako DOCX.
  • Poskytněte datový soubor XML, šablonu a cestu k výstupnímu souboru DocumentAssembler, aby bylo možné převést XML na DOCX.

Následující kód převede XML a vygeneruje soubor DOCX pomocí definované šablony pomocí C#.

// Generujte MS Word Report z XML dat pomocí textové šablony v CSharp
// Definujte zdroje dat, šablony a soubory výstupních sestav.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Načíst zdroj dat XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Sestavte dokument a vygenerujte zprávu Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Závěr

Abych to shrnul, naučili jste se převádět data XML do formátu PDF jako sestavu pomocí C# s aplikací .NET. Dále jsme diskutovali o generování sestav ve formátu DOC/DOCX ze stejného XML pomocí šablony. Po přečtení této série příspěvků pro generování zpráv; Generujte sestavy PDF a MS Word z JSON, CSV, XML, můžete si vyvinout vlastní aplikaci pro vytváření sestav .NET.

Další informace o GroupDocs.Assembly, možnostech a příkladech naleznete na documentation a GitHub úložišti. Pro další dotazy nás kontaktujte prostřednictvím fóra.

Viz také