JSON یک فرمت تبادل داده فرمت شده و قابل خواندن برای انتقال داده با ویژگی است. با این حال، داده های بزرگ در فرمت JSON چندان قابل ارائه و به راحتی قابل درک نیستند. ما بیشتر نیاز داریم که داده های بزرگ JSON را به یک قالب قابل ارائه تبدیل کنیم. این مقاله شما را راهنمایی می کند تا با استفاده از یک قالب ساده، داده های JSON را به گزارش های PDF و MS Word در Java تبدیل کنید.

Report Generation Java API

من از GroupDocs.Assembly for Java API برای تولید گزارش از داده ها و الگوی JSON ارائه شده در قالب DOCX و TXT استفاده خواهم کرد. همچنین از تولید گزارش خودکار در قالب های مختلف از منابع داده CSV، XML پشتیبانی می کند.

دانلود یا پیکربندی کنید

می‌توانید فایل JAR را از بخش دانلودها دانلود کنید، یا فقط تنظیمات مخزن و وابستگی را برای pom.xml برنامه‌های Java مبتنی بر maven خود دریافت کنید.

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

گزارش PDF از داده های JSON در Java ایجاد کنید

بیایید به سرعت به مراحلی بپردازیم که شما را به تبدیل داده‌های 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>>

مراحل Java برای ایجاد گزارش PDF از JSON

مراحل زیر و کد Java امکان تبدیل خودکار داده های JSON به گزارش PDF را طبق الگوی تعریف شده فراهم می کند.

  • فایل داده JSON، فایل قالب txt. و مسیرهای فایل گزارش خروجی PDF را تعریف کنید.
  • JsonDataSoure را با فایل داده JSON نمونه سازی کنید.
  • DataSourceInfo را با JsonDataSource تعریف شده ایجاد کنید.
  • متد assembleDocument کلاس DocumentAssembler را فراخوانی کنید تا گزارش PDF از داده های JSON ارائه شده و الگوی تعریف شده تولید شود.
// ایجاد گزارش PDF از داده های JSON با استفاده از الگوی TXT در Java با GroupDocs.Assembly API
// فایل های گزارش منبع داده، الگو و خروجی را تعریف کنید.
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);

گزارش MS Word را از داده های JSON در Java ایجاد کنید

به طور مشابه، مانند تولید گزارش PDF بالا، می توانید به راحتی گزارش DOCX را با استفاده از موارد زیر ایجاد کنید:

  • تعریف همان قالب در فرمت DOCX.
  • فرمت سند گزارش خروجی را به عنوان DOCX تنظیم کنید.
  • بقیه کد برای تولید گزارش MS Word DOCX از داده های JSON یکسان باقی می ماند.
// ایجاد گزارش Word از داده‌های JSON با استفاده از الگوی DOCX در Java با GroupDocs.Assembly API
// فایل های گزارش منبع داده، الگو و خروجی را تعریف کنید.
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 بروید. در صورت سوالات و ابهامات بیشتر، با پشتیبانی رایگان در [تالار] تماس بگیرید.

نتیجه

امیدوارم با ساختن اپلیکیشن مبتنی بر Java خود برای تولید گزارش با تبدیل داده های JSON به فرمت PDF احساس راحتی کنید. به طور مشابه، می‌توانید گزارش‌هایی را در قالب‌های دیگر مانند DOCX با استفاده از منابع داده دیگر مانند CSV و XML ایجاد کنید.

همچنین ببینید