JSON is een geformatteerd en leesbaar gegevensuitwisselingsformaat om gegevens met attributen te verzenden. De grote hoeveelheid gegevens in JSON-formaat is echter niet erg toonbaar en gemakkelijk te begrijpen. We moeten vooral de grote JSON-gegevens omzetten in een presentabel formaat. Dit artikel zal u begeleiden bij het converteren van JSON-gegevens naar PDF- en MS Word-rapporten in Java met behulp van een eenvoudige sjabloon.

Java-API voor het genereren van rapporten

Ik zal GroupDocs.Assembly for Java API gebruiken om rapporten te genereren van de verstrekte JSON-gegevens en sjabloon in DOCX- en TXT-indeling. Het ondersteunt ook het automatisch genereren van rapporten in meerdere formaten vanuit CSV- en XML-gegevensbronnen.

Downloaden of configureren

U kunt het JAR-bestand downloaden van de downloads-sectie, of gewoon de repository- en afhankelijkheidsconfiguraties voor de pom.xml van uw maven-gebaseerde Java-applicaties ophalen.

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

Genereer een PDF-rapport van JSON-gegevens in Java

Laten we snel naar de stappen gaan die u zullen leiden om JSON-gegevens naar het opgemaakte PDF-rapport te converteren.

  • JSON-gegevensbron ophalen
  • Sjabloon definiëren op basis van JSON-gegevens
  • Lever JSON-gegevensbron en -sjabloon aan eenvoudige Java-code voor het genereren van rapporten.
JSON naar PDF-rapport in Java

JSON-gegevens

Voor het genereren van PDF-rapporten zal ik de volgende voorbeeld-JSON-gegevens van managers en hun respectieve klanten en details gebruiken.

\[
	{
		"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}\]
	}
\]

Sjabloon

Definieer de volgende sjabloon in TXT- of DOCX-indeling. Dit zal het mogelijk maken om Managers en hun respectievelijke Klanten en hun details te herhalen. Daarna kunt u naar code springen voor het genereren van rapporten.

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

Java-stappen om een PDF-rapport te genereren vanuit JSON

Door de volgende stappen en Java-code te volgen, kunnen JSON-gegevens automatisch worden omgezet in een PDF-rapport volgens de gedefinieerde sjabloon.

  • Definieer paden voor JSON-gegevensbestanden, .txt-sjabloonbestanden en bestandspaden voor PDF-uitvoerrapporten.
  • Instantieer JsonDataSoure met JSON-gegevensbestand.
  • Maak DataSourceInfo met gedefinieerde JsonDataSource.
  • Roep de methode assembleDocument van de klasse DocumentAssembler aan om het PDF-rapport te genereren op basis van de verstrekte JSON-gegevens en de gedefinieerde sjabloon.
// Genereer PDF-rapport van JSON-gegevens met behulp van TXT-sjabloon in Java met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";				
// Direct JSON-gegevensbron
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Rapport genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Genereer MS Word-rapport van JSON-gegevens in Java

Evenzo kunt u, net als bij het genereren van PDF-rapporten hierboven, eenvoudig het DOCX-rapport maken door:

  • Dezelfde sjabloon definiëren in DOCX-indeling.
  • Stel de documentindeling van het uitvoerrapport in als DOCX.
  • De rest van de code blijft hetzelfde om een MS Word DOCX-rapport te genereren op basis van de JSON-gegevens.
// Genereer Word-rapport van JSON-gegevens met behulp van DOCX-sjabloon in Java met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";			
// Direct JSON-gegevensbron
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Rapport genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Voor meer details, opties en voorbeelden kun je de repository documentation en GitHub raadplegen. Neem bij verdere vragen en onduidelijkheden contact op met de gratis ondersteuning op het forum.

Conclusie

Ik hoop dat u zich op uw gemak zult voelen bij het bouwen van uw eigen op Java gebaseerde applicatie om rapporten te genereren door JSON-gegevens naar PDF-indeling te converteren. Op dezelfde manier kunt u rapporten genereren in andere indelingen, zoals DOCX, met behulp van andere gegevensbronnen, zoals CSV en XML.

Zie ook