JSON ist ein formatiertes und lesbares Datenaustauschformat, um Daten mit Attributen zu übertragen. Allerdings sind die großen Datenmengen im JSON-Format nicht sehr ansehnlich und leicht verständlich. Wir müssen hauptsächlich die großen JSON-Daten in ein präsentables Format konvertieren. In diesem Artikel erfahren Sie, wie Sie mithilfe einer einfachen Vorlage JSON-Daten in PDF- und MS Word-Berichte in Java konvertieren.

Java-API zur Berichterstellung

Ich werde die API GroupDocs.Assembly for Java verwenden, um Berichte aus den bereitgestellten JSON-Daten und -Vorlagen im DOCX- und TXT-Format zu generieren. Es unterstützt auch die automatische Berichterstellung in mehreren Formaten aus CSV-, XML-Datenquellen.

Herunterladen oder Konfigurieren

Sie können die JAR-Datei aus dem Download-Bereich herunterladen oder einfach die Repository- und Abhängigkeitskonfigurationen für die pom.xml Ihrer maven-basierten Java-Anwendungen abrufen.

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

Generieren Sie einen PDF-Bericht aus JSON-Daten in Java

Lassen Sie uns schnell zu den Schritten springen, die Sie zum Konvertieren von JSON-Daten in den formatierten PDF-Bericht führen.

  • Holen Sie sich die JSON-Datenquelle
  • Vorlage nach JSON-Daten definieren
  • Bereitstellung von JSON-Datenquelle und -Vorlage für einfachen Java-Code zur Berichterstellung.
JSON-zu-PDF-Bericht in Java

JSON-Daten

Für die PDF-Berichterstellung werde ich die folgenden JSON-Beispieldaten von Managern und ihren jeweiligen Kunden und Details verwenden.

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

Schablone

Definieren Sie die folgende Vorlage im TXT- oder DOCX-Format. Dies ermöglicht es, über Manager und ihre jeweiligen Kunden und ihre Details zu iterieren. Danach können Sie zum Code für die Berichterstellung springen.

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

Java-Schritte zum Generieren von PDF-Berichten aus JSON

Die folgenden Schritte und der Java-Code ermöglichen die automatische Konvertierung von JSON-Daten in einen PDF-Bericht gemäß der definierten Vorlage.

  • Definieren Sie JSON-Datendatei, .txt-Vorlagendatei und Dateipfade für PDF-Ausgabeberichte.
  • Instanziieren Sie JsonDataSoure mit JSON-Datendatei.
  • Erstellen Sie DataSourceInfo mit definierter JsonDataSource.
  • Rufen Sie die Methode assembleDocument der Klasse DocumentAssembler auf, um den PDF-Bericht aus den bereitgestellten JSON-Daten und der definierten Vorlage zu generieren.
// Generieren Sie einen PDF-Bericht aus JSON-Daten mithilfe einer TXT-Vorlage in Java mit der GroupDocs.Assembly-API
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";				
// Instanziieren Sie die JSON-Datenquelle
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Bericht generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Generieren Sie einen MS Word-Bericht aus JSON-Daten in Java

Ähnlich wie bei der obigen PDF-Berichterstellung können Sie den DOCX-Bericht einfach erstellen, indem Sie:

  • Definieren der gleichen Vorlage im DOCX-Format.
  • Legen Sie das Dokumentformat des Ausgabeberichts als DOCX fest.
  • Der Rest des Codes bleibt derselbe, um einen MS Word DOCX-Bericht aus den JSON-Daten zu generieren.
// Generieren Sie Word-Berichte aus JSON-Daten mithilfe der DOCX-Vorlage in Java mit der GroupDocs.Assembly-API
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";			
// Instanziieren Sie die JSON-Datenquelle
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Bericht generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Weitere Einzelheiten, Optionen und Beispiele finden Sie in den Repositorys Dokumentation und GitHub. Bei weiteren Fragen und Unklarheiten wenden Sie sich an den kostenlosen Support im Forum.

Fazit

Ich hoffe, Sie werden sich wohl fühlen, wenn Sie Ihre eigene Java-basierte Anwendung erstellen, um Berichte zu erstellen, indem Sie JSON-Daten in das PDF-Format konvertieren. Ebenso können Sie Berichte in anderen Formaten wie DOCX mit anderen Datenquellen wie CSV und XML generieren.

Siehe auch