XML je rozšířený značkovací jazyk, který je samopopisný, doporučuje se W3C a je navržený pro ukládání a přenos dat. Po obdržení dat ve formátu XML je jako vývojář můžete převést do jakéhokoli jiného lépe čitelného formátu, jako je PDF nebo dokument MS Word. Tento článek vás provede převodem dat XML do sestav PDF a MS Word v Java pomocí jednoduchých šablon.

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

Report Generation Java API - XML to PDF a WORD

GroupDocs.Assembly poskytuje Java API pro automatizaci generování sestav z dat XML pomocí šablony DOCX nebo TXT. Dále podporuje JSON, CSV a další zdroje dat pro převod dat do prezentovatelných sestav různých formátů souborů.

Stáhnout nebo Konfigurovat

Soubor JAR si můžete stáhnout z části ke stažení, nebo stačí získat konfigurace úložiště a závislostí pro pom.xml vašich Java aplikací založených na 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>

Vygenerujte zprávu PDF z dat XML v Java

Pojďme rychle přejít ke krokům, které vás povedou k převodu dat XML do sestavy ve formátu PDF.

  • Načtěte zdroj dat XML
  • Definujte šablonu podle vašich XML dat
  • Poskytněte zdroj dat XML a šablonu metodě pro generování sestav.
Zpráva z XML do PDF v Java

XML data

Pro generování sestavy PDF se používají následující vzorová data XML. Obsahuje data manažerů a jejich příslušných klientů s podrobnostmi.

<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 následující šablonu ve formátu TXT nebo DOCX. To umožňuje iteraci správců a jejich příslušných klientů. Poté použijte kód uvedený níže pro generování zprávy.

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

Java Steps to Generation PDF Report from XML

Následující kroky a kód umožňují automatizaci generování sestav PDF z dat XML podle 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 v Java.

// Vygenerujte zprávu PDF z dat XML pomocí šablony TXT v Java
// Definujte zdroje dat, šablony a soubory výstupních sestav.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Načíst zdroj dat XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Sestavte dokument pro generování PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Generování MS Word Report z XML dat v Java

Podobně můžete vytvořit sestavu MS Word DOC/DOCX ze stejných dat XML v Java. Nebude žádný rozdíl, kromě změny názvu 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.
  • Zadejte datový soubor XML, šablonu a cestu k výstupnímu souboru do 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 v Java.

// Generujte MS Word Report z XML dat pomocí textové šablony v Java
// Definujte zdroje dat, šablony a soubory výstupních sestav.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Okamžitý zdroj dat XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//Sestavte dokument 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Získejte bezplatnou licenci API

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

Závěr

Na závěr jste se naučili převádět data XML do formátu PDF jako sestavu v Java. Navíc jste viděli generování sestavy ve formátu DOC/DOCX ze stejného XML pomocí šablony. Po přečtení série Generate PDF and MS Word Reports from JSON, CSV, XML byste měli být spokojeni s vytvářením vlastní Java aplikace pro tvorbu sestav.

Podobně můžete do sestav převést mnoho dalších zdrojů dat. Další podrobnosti, možnosti a příklady naleznete v dokumentaci a v úložišti GitHub. V případě dalších dotazů nás kontaktujte prostřednictvím fóra.

Viz také