JSONは、属性を使用してデータを送信するための、フォーマットされた読み取り可能なデータ交換フォーマットです。ただし、JSON形式の大きなデータは、見栄えがよくなく、簡単に理解できません。ほとんどの場合、大きなJSONデータを表示可能な形式に変換する必要があります。この記事では、簡単なテンプレートを使用して、JSONデータをJavaでPDFおよびMSWordレポートに変換する方法について説明します。

レポート生成JavaAPI

GroupDocs.Assembly for Java APIを使用して、提供されたJSONデータとテンプレートからDOCXおよびTXT形式でレポートを生成します。また、** CSV、XML**データソースからの複数の形式での自動レポート生成もサポートしています。

###ダウンロードまたは構成

ダウンロードセクションからJARファイルをダウンロードするか、mavenベースのJavaアプリケーションのpox.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データに従ってテンプレートを定義する *レポート生成用の単純なJavaコードに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.AssemblyAPIを使用して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データからMSWordレポートを生成する

同様に、上記のPDFレポートの生成と同様に、次の方法でDOCXレポートを簡単に作成できます。

*同じテンプレートをDOCX形式で定義します。 *出力レポートドキュメント形式をDOCXとして設定します。 *残りのコードは、JSONデータからMSWordDOCXレポートを生成するために同じままです。

// GroupDocs.AssemblyAPIを使用して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などの他の形式でレポートを生成できます。

関連項目