JSON adalah format pertukaran data yang diformat dan dapat dibaca untuk mengirimkan data dengan atribut. Namun, data besar dalam format JSON tidak terlalu rapi dan mudah dimengerti. Kami sebagian besar perlu mengonversi data JSON yang besar menjadi format yang dapat disajikan. Artikel ini akan memandu Anda mengonversi data JSON menjadi laporan PDF dan MS Word di Java menggunakan template sederhana.

Laporan Generasi Java API

Saya akan menggunakan GroupDocs.Assembly for Java API untuk menghasilkan laporan dari data dan template JSON yang disediakan dalam format DOCX dan TXT. Ini juga mendukung pembuatan laporan otomatis dalam berbagai format dari CSV, sumber data XML.

Unduh atau Konfigurasi

Anda dapat mengunduh file JAR dari bagian unduhan, atau hanya mendapatkan repositori dan konfigurasi dependensi untuk pom.xml aplikasi Java berbasis maven Anda.

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

Hasilkan Laporan PDF dari Data JSON di Java

Mari kita langsung ke langkah-langkah yang akan mengarahkan Anda untuk mengonversi data JSON menjadi laporan PDF berformat.

  • Dapatkan sumber data JSON
  • Tentukan template menurut data JSON
  • Berikan sumber dan template data JSON ke kode java sederhana untuk pembuatan laporan.
Laporan JSON ke PDF di Java

data JSON

Untuk pembuatan laporan PDF, saya akan menggunakan contoh data JSON berikut dari manajer dan masing-masing klien serta detailnya.

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

Templat

Tentukan template berikut dalam format TXT atau DOCX. Ini akan memungkinkan untuk mengulang Manajer dan Klien mereka masing-masing dan detail mereka. Setelah itu, Anda dapat beralih ke kode untuk pembuatan laporan.

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

Langkah Java untuk Menghasilkan Laporan PDF dari JSON

Mengikuti langkah-langkah dan kode Java memungkinkan konversi otomatis data JSON menjadi laporan PDF sesuai template yang ditentukan.

  • Tentukan file data JSON, file template .txt, dan jalur file laporan output PDF.
  • Buat instance JsonDataSoure dengan file data JSON.
  • Buat DataSourceInfo dengan JsonDataSource yang ditentukan.
  • Panggil metode assembleDocument dari kelas DocumentAssembler untuk membuat laporan PDF dari data JSON yang disediakan dan template yang ditentukan.
// Hasilkan Laporan PDF dari data JSON menggunakan template TXT di Java dengan GroupDocs.Assembly API
// Menentukan sumber data, template, dan file laporan keluaran.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";				
// Instansiasi sumber data JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Hasilkan Laporan
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Hasilkan MS Word Report dari data JSON di Java

Demikian pula, seperti pembuatan laporan PDF di atas, Anda dapat dengan mudah membuat laporan DOCX dengan:

  • Mendefinisikan template yang sama dalam format DOCX.
  • Tetapkan format dokumen laporan keluaran sebagai DOCX.
  • Kode lainnya akan tetap sama untuk menghasilkan laporan MS Word DOCX dari data JSON.
// Hasilkan Word Report dari data JSON menggunakan template DOCX di Java dengan GroupDocs.Assembly API
// Menentukan sumber data, template, dan file laporan keluaran.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";			
// Instansiasi sumber data JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Hasilkan Laporan
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Untuk detail, opsi, dan contoh lebih lanjut, Anda dapat membuka repositori dokumentasi dan GitHub. Jika ada pertanyaan dan ambiguitas lebih lanjut, hubungi dukungan gratis di forum.

Kesimpulan

Saya harap Anda merasa nyaman membuat aplikasi berbasis Java Anda sendiri untuk menghasilkan laporan dengan mengonversi data JSON ke format PDF. Demikian pula, Anda dapat membuat laporan dalam format lain seperti DOCX menggunakan sumber data lain seperti CSV dan XML.

Lihat juga