** XML は、データを保存および転送するために設計されたW3C推奨の自己記述型言語です。開発者は、XML形式を.NETアプリケーション内のPDFやMSWordドキュメントなどの人間が読める形式に変更できます。この記事では、単純なテンプレートを使用して C#を使用してXMLデータをPDFおよびMSWordレポートに変換する方法**について説明します。

C#でのXMLからPDFへのレポート

以下のトピックについて以下で説明します。

*レポートを生成するための.NETAPI

レポート生成.NETAPI–XMLからPDFおよびWORDへ

GroupDocs.Assembly for .NETは、DOCXまたはTXTテンプレートを使用してXMLデータからのレポート生成を自動化するためのAPIです。さらに、** JSON、CSV、**およびその他のデータソースをサポートして、データをさまざまなファイル形式のレポートに変換します。

ダウンロードセクションからDLLまたはMSIインストーラーをダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。

PM> Install-Package GroupDocs.Assembly

C#でXMLデータからPDFレポートを生成する

3つの簡単な手順で、XMLデータをフォーマットされたPDFレポートに変換できます。

  1. XMLデータソースをロードします。
  2. ロードされたXMLデータに従ってテンプレートを定義します。
  3. 最後に、XMLデータソースとテンプレートをレポート生成メソッドに提供します。

###XMLデータ

次のXMLサンプルデータは、PDFレポートに変換するために使用されます。これには、マネージャーとそれぞれのクライアントのデータと、いくつかの詳細が含まれています。

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

### テンプレート

ソースXMLデータに従って、TXTまたはDOCX形式でテンプレートを定義します。上記のマネージャーのXMLデータに基づいて作成された下記のテンプレートを使用しています。これにより、レポートジェネレーターがマネージャーとそれぞれのクライアントを反復処理するようになります。テンプレートが完成したら、ほぼ完了です。レポートの生成には、以下のコードを使用できます。

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

C#XMLからPDFレポートを生成する手順

次の手順では、定義したテンプレートに従って、XMLデータからのPDFレポートの生成を自動化できます。

  • XMLデータファイル、テキストテンプレートファイル、およびPDF出力レポートファイルを定義します。 *XMLDataSoureをXMLデータファイルでインスタンス化します。 *定義されたXMLデータソースを使用してDataSourceInfoを作成します。
  • AssembleDocumentメソッドを呼び出して、PDFレポートを生成します。

次のコードは、上記の手順を実装し、C#を使用してXMLデータソースからPDFを生成します。

// CSharpのTXTテンプレートを使用してXMLデータからPDFレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// XMLデータソースをロードする
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// PDFを生成するためにドキュメントを組み立てます
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

C#のXMLデータからMSWordレポートを生成する

同様に、同じXMLデータを使用してMS Word DOC/DOCX形式でレポートを作成することもできます。出力ファイル名を変更する必要があることを除いて、上記で説明したコードとの違いはありません。

*XMLデータファイルをロードします。 *TXTまたはDOCX形式でテンプレートを定義します。 *出力レポートドキュメント形式をDOCXとして設定します。

  • XMLデータファイル、テンプレート、および出力ファイルパスをDocumentAssemblerに提供して、XMLをDOCXに変換します。

次のコードは、XMLを変換し、C#を使用して定義されたテンプレートを使用してDOCXファイルを生成します。

// CSharpのテキストテンプレートを使用してXMLデータからMSWordレポートを生成します
// データソース、テンプレート、および出力レポートファイルを定義します。
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// XMLデータソースをロードする
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// ドキュメントを組み立ててWordレポートを生成する
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得することができます。

結論

要約すると、.NETアプリケーションでC#を使用して、XMLデータをレポートとしてPDF形式に変換する方法を学びました。さらに、テンプレートを使用して同じXMLからDOC/DOCX形式でレポートを生成する方法についても説明しました。この一連のレポート生成の投稿を読んだ後、 ** JSON CSV XML **からPDFおよびMSWordレポートを生成し、独自のレポート作成.NETアプリケーションを開発できます。

GroupDocs.Assembly、オプション、および例の詳細については、documentationおよびGitHubリポジトリにアクセスしてください。さらに質問がある場合は、フォーラムからお問い合わせください。

関連項目