XML é um idioma eXtensivo Markup L que é autodescritivo, recomendado pelo W3C e projetado para armazenar e transportar dados. Depois de receber os dados em formato XML, como desenvolvedor, você pode convertê-los em qualquer outro formato melhor legível por humanos, como PDF ou documento MS Word. Este artigo irá guiá-lo para converter dados XML em relatórios PDF e MS Word em Java usando modelos simples.
Os seguintes tópicos são discutidos abaixo:
- API Java para geração de relatórios
- Relatório PDF de dados XML usando Java
- Relatório MS Word DOC/DOCX de dados XML usando Java
API Java de geração de relatórios - XML para PDF e WORD
GroupDocs.Assembly fornece a API Java para automatizar a geração de relatórios dos dados XML usando o modelo DOCX ou TXT. Ele também suporta JSON, CSV e outras fontes de dados para converter os dados em relatórios apresentáveis de diferentes formatos de arquivo.
Baixe ou configure
Você pode baixar o arquivo JAR da seção de downloads, ou apenas obter as configurações de repositório e dependência para o pom.xml de seus aplicativos Java baseados em 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>
Gerar relatório PDF a partir de dados XML em Java
Vamos pular rapidamente para as etapas que o levarão a converter dados XML no relatório PDF formatado.
- Carregue a fonte de dados XML
- Defina o modelo de acordo com seus dados XML
- Fornecer fonte de dados XML e modelo para um método de geração de relatórios.

Dados XML
Para a geração do relatório PDF, são usados os seguintes dados de amostra XML. Contém os dados dos gestores e seus respectivos clientes com detalhes.
<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 o seguinte modelo no formato TXT ou DOCX. Isso permite iteração sobre Gerentes e seus respectivos Clientes. Depois disso, use o código mencionado abaixo para geração do relatório.
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
Etapas Java para gerar relatório PDF a partir de XML
As etapas a seguir e o código permitem automatizar a geração de relatórios em PDF a partir dos dados XML conforme o modelo definido.
- Definir arquivo de dados XML, arquivo de modelo de texto e arquivos de relatório de saída em PDF.
- Instanciar XMLDataSoure com arquivo de dados XML.
- Crie DataSourceInfo com fonte de dados XML definida.
- Chame o método assembleDocument para gerar o relatório PDF.
O código a seguir implementa as etapas acima e gera um PDF da fonte de dados XML em Java.
// Gerar relatório PDF a partir de dados XML usando o modelo TXT em Java
// Defina a fonte de dados, o modelo e os arquivos de relatório de saída.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";
// Carregar fonte de dados XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Montar documento para gerar PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
Gerar relatório do MS Word a partir de dados XML em Java
Da mesma forma, você pode criar o relatório MS Word DOC/DOCX a partir dos mesmos dados XML em Java. Não haverá diferença, exceto para alterar o nome do arquivo de saída.
- Carregue o arquivo de dados XML.
- Definindo o template em formato TXT ou DOCX.
- Defina o formato do documento do relatório de saída como DOCX.
- Forneça o arquivo de dados XML, modelo e caminho do arquivo de saída para DocumentAssembler para converter o XML para DOCX.
O código a seguir converte o XML e gera o arquivo DOCX usando o modelo definido em Java.
// Gerar relatório do MS Word a partir de dados XML usando modelo de texto em Java
// Defina a fonte de dados, o modelo e os arquivos de relatório de saída.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";
//Instanciar fonte de dados XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
//Montar documento
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.
Conclusão
Para concluir, você aprendeu a converter seus dados XML em formato PDF como um relatório em Java. Além disso, você viu a geração do relatório no formato DOC/DOCX a partir do mesmo XML usando o modelo. Depois de ler a série, Gerar relatórios em PDF e MS Word de JSON, CSV, XML, você deve se sentir à vontade para criar seu próprio construtor de relatórios Aplicativo Java.
Da mesma forma, você pode converter muitas outras fontes de dados em relatório. Para mais detalhes, opções e exemplos, você pode visitar documentation e o repositório GitHub. Em caso de dúvidas, entre em contato conosco através do fórum.