XML — это расширенный Xинтенсивный язык Markup L, который является самоописательным, рекомендуется W3C и предназначен для хранения и передачи данных. Получив данные в формате XML, как разработчик, вы можете преобразовать их в любой другой удобный для человека формат, такой как PDF или документ MS Word. Эта статья поможет вам преобразовать данные XML в отчеты PDF и MS Word на Java с помощью простых шаблонов.

Ниже обсуждаются следующие темы:

Java API для создания отчетов - XML в PDF и WORD

GroupDocs.Assembly предоставляет Java API для автоматизации создания отчетов из данных XML с использованием шаблонов DOCX или TXT. Он также поддерживает JSON, CSV и другие источники данных для преобразования данных в презентабельные отчеты различных форматов файлов.

Загрузите или настройте

Вы можете загрузить файл JAR из раздела загрузок или просто получить репозиторий и конфигурации зависимостей для pom.xml ваших на основе maven приложений Java.

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

Создание отчета в формате PDF из данных XML в Java

Давайте быстро перейдем к шагам, которые приведут вас к преобразованию данных XML в отформатированный отчет в формате PDF.

  • Загрузите источник данных XML
  • Определите шаблон в соответствии с вашими XML-данными
  • Предоставьте источник данных XML и шаблон для метода генерации отчетов.
Отчет XML в PDF на Java

XML-данные

Для создания отчета в формате PDF используются следующие примеры данных XML. Он содержит данные менеджеров и их соответствующих клиентов с подробностями.

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

Шаблон

Определите следующий шаблон в формате TXT или DOCX. Это позволяет выполнять итерацию по Менеджерам и их соответствующим Клиентам. После этого используйте приведенный ниже код для генерации отчета.

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

Шаги Java для создания отчета PDF из XML

Следующие шаги и код позволяют автоматизировать создание отчетов в формате PDF из данных XML в соответствии с определенным шаблоном.

  • Определите файл данных XML, файл текстового шаблона и файлы выходных отчетов в формате PDF.
  • Создайте экземпляр XMLDataSoure с файлом данных XML.
  • Создайте DataSourceInfo с определенным источником данных XML.
  • Вызовите метод assembleDocument для создания отчета в формате PDF.

Следующий код реализует описанные выше шаги и создает PDF-файл из источника данных XML на Java.

// Создание отчета в формате PDF из данных XML с использованием шаблона TXT в Java
// Определите источник данных, шаблон и файлы выходных отчетов.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Загрузить источник данных XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Соберите документ для создания PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Создание отчета MS Word из данных XML в Java

Точно так же вы можете создать отчет MS Word DOC/DOCX из тех же данных XML в Java. Разницы не будет, кроме изменения имени выходного файла.

  • Загрузите файл данных XML.
  • Определение шаблона в формате TXT или DOCX.
  • Установите формат документа выходного отчета как DOCX.
  • Укажите файл данных XML, шаблон и путь к выходному файлу для DocumentAssembler, чтобы преобразовать XML в DOCX.

Следующий код преобразует XML и создает файл DOCX с использованием определенного шаблона в Java.

// Создание отчета MS Word из данных XML с использованием текстового шаблона в Java
// Определите источник данных, шаблон и файлы выходных отчетов.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Создание экземпляра источника данных XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//Собрать документ 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

В заключение вы научились преобразовывать данные XML в формат PDF в виде отчета на Java. Кроме того, вы видели генерацию отчета в формате DOC/DOCX из того же XML с использованием шаблона. Прочитав серию статей «Создание отчетов в формате PDF и MS Word из JSON, CSV, XML, вы сможете без труда создать собственный конструктор отчетов. Java-приложение.

Точно так же вы можете преобразовать многие другие источники данных в отчет. Дополнительные сведения, варианты и примеры можно найти в документации и в репозитории GitHub. Если у вас возникнут дополнительные вопросы, свяжитесь с нами через форум.

Смотрите также