JSON은 속성이 있는 데이터를 전송하기 위한 형식이 지정되고 읽을 수 있는 데이터 교환 형식입니다. 그러나 JSON 형식의 대용량 데이터는 표현하기 쉽고 이해하기 쉽지 않습니다. 우리는 대부분 큰 JSON 데이터를 표시 가능한 형식으로 변환해야 합니다. 이 문서에서는 간단한 템플릿을 사용하여 Java에서 JSON 데이터를 PDF 및 MS Word 보고서로 변환하는 방법을 안내합니다.

보고서 생성 Java API

GroupDocs.Assembly for Java API를 사용하여 DOCXTXT 형식의 제공된 JSON 데이터 및 템플릿에서 보고서를 생성합니다. 또한 CSV, XML 데이터 소스에서 여러 형식의 자동 보고서 생성을 지원합니다.

다운로드 또는 구성

다운로드 섹션에서 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.1</version> 
</dependency>

Java의 JSON 데이터에서 PDF 보고서 생성

JSON 데이터를 형식이 지정된 PDF 보고서로 변환하는 단계로 빠르게 이동하겠습니다.

  • JSON 데이터 소스 가져오기
  • JSON 데이터에 따른 템플릿 정의
  • 보고서 생성을 위해 JSON 데이터 소스와 템플릿을 간단한 자바 코드로 제공합니다.
Java에서 JSON을 PDF로 보고서

JSON 데이터

PDF 보고서 생성을 위해 관리자와 해당 클라이언트 및 세부 정보의 다음 샘플 JSON 데이터를 사용합니다.

\[
	{
		"Name":"John Smith","Contract":\[
		{"Client":{"Name":"A Company"},"Price":1200000},
		{"Client":{"Name":"B Ltd."},"Price":750000},
		{"Client":{"Name":"C & D"},"Price":350000}\]
	},
	{
		"Name":"Tony Anderson","Contract":\[
		{"Client":{"Name":"E Corp."},"Price":650000},
		{"Client":{"Name":"F & Partners"},"Price":550000}\]
	},
	{
		"Name":"July James","Contract":\[
		{"Client":{"Name":"G & Co."},"Price":350000},
		{"Client":{"Name":"H Group"},"Price":250000},
		{"Client":{"Name":"I & Sons"},"Price":100000},
		{"Client":{"Name":"J Ent."},"Price":100000}\]
	}
\]

템플릿

TXT 또는 DOCX 형식으로 다음 템플릿을 정의합니다. 이를 통해 관리자와 해당 클라이언트 및 세부 정보를 반복할 수 있습니다. 그런 다음 보고서 생성을 위한 코드로 이동할 수 있습니다.

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

JSON에서 PDF 보고서를 생성하는 Java 단계

다음 단계와 Java 코드를 사용하면 정의된 템플릿에 따라 JSON 데이터를 PDF 보고서로 자동 변환할 수 있습니다.

  • JSON 데이터 파일, .txt 템플릿 파일, PDF 출력 보고서 파일 경로를 정의합니다.
  • JSON 데이터 파일로 JsonDataSoure를 인스턴스화합니다.
  • 정의된 JsonDataSource로 DataSourceInfo를 생성합니다.
  • DocumentAssembler 클래스의 _assembleDocument 메소드를 호출하여 제공된 JSON 데이터와 정의된 템플릿에서 PDF 보고서를 생성합니다.
// GroupDocs.Assembly API를 사용하여 Java에서 TXT 템플릿을 사용하여 JSON 데이터에서 PDF 보고서 생성
// 데이터 소스, 템플릿 및 출력 보고서 파일을 정의합니다.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";				
// JSON 데이터 소스 인스턴스화
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// 보고서 생성
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Java의 JSON 데이터에서 MS Word 보고서 생성

마찬가지로 위의 PDF 보고서 생성과 마찬가지로 다음을 통해 DOCX 보고서를 쉽게 만들 수 있습니다.

  • DOCX 형식으로 동일한 템플릿을 정의합니다.
  • 출력 보고서 문서 형식을 DOCX로 설정합니다.
  • 나머지 코드는 JSON 데이터에서 MS Word DOCX 보고서를 생성하기 위해 동일하게 유지됩니다.
// GroupDocs.Assembly API를 사용하여 Java에서 DOCX 템플릿을 사용하여 JSON 데이터에서 Word 보고서 생성
// 데이터 소스, 템플릿 및 출력 보고서 파일을 정의합니다.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";			
// JSON 데이터 소스 인스턴스화
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// 보고서 생성
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

자세한 내용, 옵션 및 예제는 문서GitHub 저장소를 참조하십시오. 추가 질문 및 모호한 사항이 있는 경우 포럼의 무료 지원에 문의하십시오.

결론

JSON 데이터를 PDF 형식으로 변환하여 보고서를 생성하는 자체 Java 기반 응용 프로그램을 편안하게 구축할 수 있기를 바랍니다. 마찬가지로 CSV 및 XML과 같은 다른 데이터 소스를 사용하여 DOCX와 같은 다른 형식으로 보고서를 생성할 수 있습니다.

또한보십시오