JSONは、属性を使用してデータを送信するための、フォーマットされた読み取り可能なデータ交換フォーマットです。ただし、JSON形式の大きなデータは、見栄えがよくなく、簡単に理解できません。ほとんどの場合、大きなJSONデータを表示可能な形式に変換する必要があります。この記事では、簡単なテンプレートを使用して、JSONデータをJavaでPDFおよびMSWordレポートに変換する方法について説明します。
レポート生成JavaAPI
GroupDocs.Assembly for Java APIを使用して、提供されたJSONデータとテンプレートからDOCXおよびTXT形式でレポートを生成します。また、** CSV、XML**データソースからの複数の形式での自動レポート生成もサポートしています。
ダウンロードまたは構成
ダウンロードセクションからJARファイルをダウンロードするか、mavenベースのJavaアプリケーションのpom.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データソースとテンプレートを提供します。
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などの他の形式でレポートを生成できます。