XML è una lingua eXtensive Markup L autodescrittiva, consigliata dal W3C e progettata per archiviare e trasportare dati. Dopo aver ricevuto i dati in formato XML, come sviluppatore, puoi convertirli in qualsiasi altro formato meglio leggibile come PDF o MS Word. Questo articolo ti guiderà a convertire i dati XML in report PDF e MS Word in Java utilizzando semplici modelli.

Di seguito vengono discussi i seguenti argomenti:

API Java per la generazione di report: da XML a PDF e WORD

GroupDocs.Assembly fornisce l’API Java per automatizzare la generazione di report dai dati XML utilizzando il modello DOCX o TXT. Supporta inoltre JSON, CSV e altre origini dati per convertire i dati in rapporti presentabili di diversi formati di file.

Scarica o configura

Puoi scaricare il file JAR dalla sezione download, o semplicemente ottenere il repository e le configurazioni delle dipendenze per il pox.xml delle tue applicazioni Java basate su 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>

Genera report PDF da dati XML in Java

Passiamo rapidamente ai passaggi che ti porteranno a convertire i dati XML nel rapporto PDF formattato.

  • Carica l’origine dati XML
  • Definisci il modello in base ai tuoi dati XML
  • Fornire un’origine dati e un modello XML a un metodo per la generazione di report.
Report da XML a PDF in Java

Dati XML

Per la generazione di report PDF, vengono utilizzati i seguenti dati di esempio XML. Contiene i dati dei gestori e dei rispettivi clienti con dettagli.

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

Modello

Definire il seguente modello in formato TXT o DOCX. Ciò consente l’iterazione sui gestori e sui rispettivi clienti. Successivamente, utilizzare il codice indicato di seguito per la generazione di report.

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

Passaggi Java per generare report PDF da XML

I seguenti passaggi e il codice consentono di automatizzare la generazione di report PDF dai dati XML secondo il modello definito.

  • Definisci file di dati XML, file modello di testo e file di report di output PDF.
  • Istanziare XMLDataSoure con file di dati XML.
  • Crea DataSourceInfo con un’origine dati XML definita.
  • Chiama il metodo assembleDocument per generare il rapporto PDF.

Il codice seguente implementa i passaggi precedenti e genera un PDF dall’origine dati XML in Java.

// Genera report PDF da dati XML utilizzando il modello TXT in Java
// Definire l'origine dati, il modello e i file di report di output.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Carica l'origine dati XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Assembla il documento per generare PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Genera report MS Word da dati XML in Java

Allo stesso modo, puoi creare il report MS Word DOC/DOCX dagli stessi dati XML in Java. Non ci sarà alcuna differenza, tranne che per cambiare il nome del file di output.

  • Carica il file di dati XML.
  • Definizione del modello in formato TXT o DOCX.
  • Impostare il formato del documento del rapporto di output come DOCX.
  • Fornire il file di dati XML, il modello e il percorso del file di output a DocumentAssembler per convertire l’XML in DOCX.

Il codice seguente converte l’XML e genera il file DOCX utilizzando il modello definito in Java.

// Genera report MS Word da dati XML utilizzando il modello di testo in Java
// Definire l'origine dati, il modello e i file di report di output.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Istanziare l'origine dati XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

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

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per concludere, hai imparato a convertire i tuoi dati XML in formato PDF come report in Java. Inoltre, hai visto la generazione di report in formato DOC/DOCX dallo stesso XML utilizzando il modello. Dopo aver letto la serie, Genera report PDF e MS Word da JSON, CSV, XML, dovresti essere a tuo agio nella creazione del tuo generatore di report Applicazione Java.

Allo stesso modo, puoi convertire molte altre origini dati in rapporti. Per maggiori dettagli, opzioni ed esempi, puoi visitare documentazione e il repository GitHub. In caso di ulteriori domande, contattaci tramite il forum.

Guarda anche