XML은 eX텐시브 M마크업 L언어로 자체 설명적이며 W3C 권장 사항이며 데이터를 저장하고 전송하도록 설계되었습니다. XML 형식의 데이터를 받은 후 개발자는 PDF 또는 MS Word 문서와 같이 사람이 읽을 수 있는 다른 형식으로 변환할 수 있습니다. 이 기사에서는 간단한 템플릿을 사용하여 Java에서 XML 데이터를 PDF 및 MS Word 보고서로 변환하는 방법을 안내합니다.
다음 주제는 아래에서 논의됩니다.
보고서 생성 Java API - XML을 PDF 및 WORD로
GroupDocs.Assembly는 DOCX 또는 TXT 템플릿을 사용하여 XML 데이터에서 보고서 생성을 자동화하는 Java API를 제공합니다. 또한 JSON, CSV 및 기타 데이터 소스를 지원하여 데이터를 다양한 파일 형식의 표시 가능한 보고서로 변환합니다.
다운로드 또는 구성
다운로드 섹션에서 JAR 파일을 다운로드하거나 maven 기반 Java 애플리케이션의 pom.xml에 대한 리포지토리 및 종속성 구성을 가져올 수 있습니다.
<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>
Java의 XML 데이터에서 PDF 보고서 생성
XML 데이터를 형식이 지정된 PDF 보고서로 변환하는 단계로 빠르게 이동하겠습니다.
- XML 데이터 소스 로드
- XML 데이터에 따라 템플릿 정의
- 보고서 생성을 위한 메소드에 XML 데이터 소스 및 템플릿을 제공합니다.
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>>
XML에서 PDF 보고서를 생성하는 Java 단계
다음 단계와 코드를 사용하면 정의된 템플릿에 따라 XML 데이터에서 PDF 보고서 생성을 자동화할 수 있습니다.
- XML 데이터 파일, 텍스트 템플릿 파일 및 PDF 출력 보고서 파일을 정의합니다.
- XMLDataSoure를 XML 데이터 파일로 인스턴스화합니다.
- 정의된 XML 데이터 소스로 DataSourceInfo를 생성합니다.
- assembleDocument 메서드를 호출하여 PDF 보고서를 생성합니다.
다음 코드는 위의 단계를 구현하고 Java의 XML 데이터 소스에서 PDF를 생성합니다.
// Java에서 TXT 템플릿을 사용하여 XML 데이터에서 PDF 보고서 생성
// 데이터 소스, 템플릿 및 출력 보고서 파일을 정의합니다.
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);
Java의 XML 데이터에서 MS Word 보고서 생성
마찬가지로 Java의 동일한 XML 데이터에서 MS Word DOC/DOCX 보고서를 작성할 수 있습니다. 출력 파일 이름을 변경하는 것 외에는 차이가 없습니다.
- XML 데이터 파일을 로드합니다.
- TXT 또는 DOCX 형식의 템플릿 정의.
- 출력 보고서 문서 형식을 DOCX로 설정합니다.
- XML 데이터 파일, 템플릿 및 출력 파일 경로를 DocumentAssembler에 제공하여 XML을 DOCX로 변환합니다.
다음 코드는 XML을 변환하고 Java에 정의된 템플릿을 사용하여 DOCX 파일을 생성합니다.
// Java의 텍스트 템플릿을 사용하여 XML 데이터에서 MS Word 보고서 생성
// 데이터 소스, 템플릿 및 출력 보고서 파일을 정의합니다.
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 데이터를 Java 보고서로 PDF 형식으로 변환하는 방법을 배웠습니다. 또한 템플릿을 사용하여 동일한 XML에서 DOC/DOCX 형식의 보고서 생성을 보았습니다. JSON, CSV, XML에서 PDF 및 MS Word 보고서 생성 시리즈를 읽은 후 자신의 보고서 작성기를 구축하는 데 익숙해질 것입니다. 자바 애플리케이션.
마찬가지로 다른 많은 데이터 소스를 보고서로 변환할 수 있습니다. 자세한 내용, 옵션 및 예는 문서 및 GitHub 리포지토리를 참조하십시오. 추가 문의 사항이 있는 경우 포럼을 통해 문의하십시오.