XMLはeX集中的なM arkup ** L ** anguageであり、自己記述的でW3C推奨であり、データを保存および転送するように設計されています。 XML形式でデータを受け取った後、開発者は、PDFやMSWordドキュメントなどの他の人間が読める形式に変換できます。この記事では、単純なテンプレートを使用して、JavaでXMLデータをPDFおよびMSWordレポートに変換する方法について説明します。
以下のトピックについて以下で説明します。
レポート生成JavaAPI-XMLからPDFおよびWORD
GroupDocs.Assemblyは、DOCXまたはTXTテンプレートを使用してXMLデータからのレポート生成を自動化するJavaAPIを提供します。さらに、** JSON、CSV、**およびその他のデータソースをサポートして、データをさまざまなファイル形式の表示可能なレポートに変換します。
ダウンロードまたは構成
ダウンロードセクションから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.4</version>
</dependency>
JavaでXMLデータからPDFレポートを生成する
XMLデータをフォーマットされたPDFレポートに変換するための手順に簡単にジャンプしましょう。
- XMLデータソースをロードします
- XMLデータに従ってテンプレートを定義します
- レポート生成のメソッドにXMLデータソースとテンプレートを提供します。
XMLデータ
PDFレポートの生成には、次のXMLサンプルデータが使用されます。これには、マネージャーとそれぞれのクライアントのデータと詳細が含まれています。
<Managers>
<Manager>
<Name>John Smith</Name>
<Contract>
<Client>
<Name>A Company</Name>
</Client>
<Price>1200000</Price>
</Contract>
<Contract>
...
</Contract>
...
</Manager>
<Manager>
<Name>Tony Anderson</Name>
...
</Manager>
...
</Managers>
テンプレート
次のテンプレートをTXTまたはDOCX形式で定義します。これにより、マネージャーとそれぞれのクライアントを反復処理できます。その後、以下のコードを使用してレポートを生成します。
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
XMLからPDFレポートを生成するJavaの手順
次の手順とコードを使用すると、定義されたテンプレートに従って、XMLデータからのPDFレポートの生成を自動化できます。
- XMLデータファイル、テキストテンプレートファイル、およびPDF出力レポートファイルを定義します。
- XMLDataSoureをXMLデータファイルでインスタンス化します。
- 定義されたXMLデータソースを使用してDataSourceInfoを作成します。
- assembleDocumentメソッドを呼び出して、PDFレポートを生成します。
次のコードは、上記の手順を実装し、JavaのXMLデータソースからPDFを生成します。
// JavaのTXTテンプレートを使用してXMLデータからPDFレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";
// XMLデータソースをロードする
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// PDFを生成するためにドキュメントを組み立てます
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
JavaのXMLデータからMSWordレポートを生成する
同様に、Javaの同じXMLデータからMS Word DOC/DOCXレポートを作成できます。出力ファイル名を変更する以外は違いはありません。
- XMLデータファイルをロードします。
- TXTまたはDOCX形式でテンプレートを定義します。
- 出力レポートドキュメント形式をDOCXとして設定します。
- XMLデータファイル、テンプレート、および出力ファイルパスをDocumentAssemblerに提供して、XMLをDOCXに変換します。
次のコードは、XMLを変換し、Javaで定義されたテンプレートを使用してDOCXファイルを生成します。
// Javaのテキストテンプレートを使用してXMLデータからMSWordレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";
//XMLデータソースをインスタンス化する
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
//ドキュメントを組み立てる
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);
無料のAPIライセンスを取得する
評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。
結論
結論として、JavaのレポートとしてXMLデータをPDF形式に変換する方法を学びました。さらに、テンプレートを使用して同じXMLからDOC/DOCX形式でレポートが生成されることを確認しました。シリーズ「JSON、** CSV **、** XML**からPDFおよびMSWordレポートを生成する」を読んだ後は、独自のレポートビルダーを作成することに慣れているはずです。 Javaアプリケーション。
同様に、他の多くのデータソースをレポートに変換できます。詳細、オプション、例については、ドキュメントとGitHubリポジトリにアクセスしてください。ご不明な点がございましたら、フォーラムまでお問い合わせください。