** XML は、データを保存および転送するために設計されたW3C推奨の自己記述型言語です。開発者は、XML形式を.NETアプリケーション内のPDFやMSWordドキュメントなどの人間が読める形式に変更できます。この記事では、単純なテンプレートを使用して C#を使用してXMLデータをPDFおよびMSWordレポートに変換する方法**について説明します。
以下のトピックについて以下で説明します。
レポート生成.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レポートに変換できます。
- XMLデータソースをロードします。
- ロードされたXMLデータに従ってテンプレートを定義します。
- 最後に、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リポジトリにアクセスしてください。さらに質問がある場合は、フォーラムからお問い合わせください。