XML es un Llenguaje extenso Markup L que es autodescriptivo, recomendado por W3C y diseñado para almacenar y transportar datos. Después de recibir los datos en formato XML, como desarrollador, puede convertirlos a cualquier otro formato mejor legible por humanos, como un documento PDF o MS Word. Este artículo lo guiará para convertir datos XML en informes PDF y MS Word en Java usando plantillas simples.

A continuación se tratan los siguientes temas:

Generación de informes Java API - XML a PDF y WORD

GroupDocs.Assembly proporciona la API de Java 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 presentables de diferentes formatos de archivo.

Descargar o configurar

Puede descargar el archivo JAR de la sección de descargas, o simplemente obtener el repositorio y las configuraciones de dependencia para el pox.xml de sus aplicaciones Java basadas en 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>

Generar informe en PDF a partir de datos XML en Java

Pasemos rápidamente a los pasos que lo llevarán a convertir datos XML en el informe PDF formateado.

  • Cargue la fuente de datos XML
  • Defina la plantilla de acuerdo con sus datos XML
  • Proporcione una fuente de datos XML y una plantilla a un método para la generación de informes.
Informe de XML a PDF en Java

Datos XML

Para la generación de informes en PDF, se utilizan los siguientes datos de muestra XML. Contiene los datos de los gestores y sus respectivos clientes con detalle.

<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 siguiente plantilla en formato TXT o DOCX. Esto permite la iteración sobre los Gerentes y sus respectivos Clientes. Después de eso, use el código mencionado a continuación para la generación de informes.

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

Pasos de Java para generar un informe en PDF a partir de XML

Los siguientes pasos y el código permiten automatizar la generación de informes en PDF a partir de los datos XML según la 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 en Java.

// Genere un informe en PDF a partir de datos XML utilizando una plantilla TXT en Java
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Cargar fuente de datos XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Ensamblar documento para generar PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Genere un informe de MS Word a partir de datos XML en Java

Asimismo, puede crear el informe DOC/DOCX de MS Word a partir de los mismos datos XML en Java. No habrá diferencia, excepto 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 utilizando la plantilla definida en Java.

// Genere un informe de MS Word a partir de datos XML utilizando una plantilla de texto en Java
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Crear una fuente de datos XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//ensamblar documento 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Obtenga una licencia de API gratuita

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

Conclusión

Para concluir, ha aprendido a convertir sus datos XML a formato PDF como un informe en Java. Además, has visto la generación de informes en formato DOC/DOCX a partir del mismo XML utilizando la plantilla. Después de leer la serie, Genere informes en PDF y MS Word desde JSON, CSV, XML, debería sentirse cómodo creando su propio generador de informes. Aplicación Java.

Del mismo modo, puede convertir muchas otras fuentes de datos en informes. Para obtener más detalles, opciones y ejemplos, puede visitar documentación y el repositorio de GitHub. En caso de consultas adicionales, contáctenos a través del foro.

Ver también