XML es un lenguaje autodescriptivo recomendado por W3C que está diseñado para almacenar y transportar datos. Un desarrollador puede cambiar el formato XML a cualquier otro formato mejor legible por humanos como un documento PDF o MS Word dentro de la aplicación .NET. Este artículo discutirá cómo convertir datos XML en informes PDF y MS Word usando C# a través de plantillas simples.

Informe de XML a PDF en C#

A continuación se tratan los siguientes temas:

Generación de informes API .NET: XML a PDF y WORD

GroupDocs.Assembly para .NET es la API para automatizar la generación de informes a partir de los datos XML utilizando la plantilla DOCX o TXT. Además, es compatible con JSON, CSV y otras fuentes de datos para convertir los datos en informes de diferentes formatos de archivo.

Puede descargar el instalador DLL o MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Assembly

Generar informe en PDF a partir de datos XML en C#

3 simples pasos lo llevarán a convertir datos XML en el informe PDF formateado.

  1. Cargue su fuente de datos XML.
  2. Defina la plantilla de acuerdo con los datos XML cargados.
  3. Finalmente, proporcione una fuente de datos XML y una plantilla para un método de generación de informes.

Datos XML

Los siguientes datos de muestra XML se utilizan para convertirlos al informe PDF. Contiene los datos de los gerentes y sus respectivos clientes con algunos detalles más.

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

Modelo

Defina la plantilla en formato TXT o DOCX según sus datos XML de origen. Estoy usando la plantilla mencionada a continuación que se crea de acuerdo con los datos XML de los administradores mencionados anteriormente. Esto hará que el generador de informes itere sobre los Gerentes y sus respectivos Clientes. Después de completar la plantilla, casi ha terminado. Puede utilizar el siguiente código para la generación de su informe.

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

C# Pasos para generar un informe en PDF a partir de XML

Los siguientes pasos le permiten automatizar la generación de informes en PDF a partir de sus datos XML de acuerdo con su plantilla definida.

  • Definir archivo de datos XML, archivo de plantilla de texto y archivos de informe de salida PDF.
  • Crear una instancia de XMLDataSoure con un archivo de datos XML.
  • Crear DataSourceInfo con una fuente de datos XML definida.
  • Llame al método AssembleDocument para generar el informe en PDF.

El siguiente código implementa los pasos anteriores y genera un PDF a partir de la fuente de datos XML mediante C#.

// Genere un informe en PDF a partir de datos XML usando una plantilla TXT en CSharp
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Cargar fuente de datos XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Ensamblar documento para generar PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Genere un informe de MS Word a partir de datos XML en C#

Del mismo modo, también puede crear el informe en formato MS Word DOC/DOCX utilizando los mismos datos XML. No habrá ninguna diferencia en el código del que discutimos anteriormente, excepto que debe cambiar el nombre del archivo de salida.

  • Cargue el archivo de datos XML.
  • Definición de la plantilla en formato TXT o DOCX.
  • Establezca el formato del documento de informe de salida como DOCX.
  • Proporcione el archivo de datos XML, la plantilla y la ruta del archivo de salida a DocumentAssembler para convertir el XML a DOCX.

El siguiente código convierte el XML y genera el archivo DOCX usando la plantilla definida usando C#.

// Genere un informe de MS Word a partir de datos XML utilizando una plantilla de texto en CSharp
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Cargar fuente de datos XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Ensamblar documento para generar informe de Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

En resumen, ha aprendido a convertir los datos XML a formato PDF como un informe usando C# con la aplicación .NET. Además, discutimos la generación de informes en formato DOC/DOCX desde el mismo XML utilizando la plantilla. Después de leer esta serie de publicaciones de generación de informes; Genere informes en PDF y MS Word desde JSON, CSV, XML, puede desarrollar su propia aplicación .NET de generación de informes.

Para obtener más información sobre GroupDocs.Assembly, opciones y ejemplos, visite documentación y el repositorio GitHub. Para más consultas, contáctenos a través del foro.

Ver también