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データソースとテンプレートを提供します。
JavaでのXMLからPDFへのレポート

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リポジトリにアクセスしてください。ご不明な点がございましたら、フォーラムまでお問い合わせください。

関連項目