(2024年6月4日更新)
.NET帳票コンポーネント「ActiveReports for .NET(アクティブレポート)」の使い方を解説する、「これからはじめるActiveReports帳票」。第2回目は、前回作成した帳票アプリケーションへPDFエクスポート機能を追加する方法について解説いたします。
開発環境
ActiveReports for .NETの開発環境にはOSに「Windows」、統合開発環境(IDE)に「Visual Studio」が必要となります。事前に、ActiveReportsの必要システムに記載されている、開発環境をご準備ください。
今回の開発環境では、以下を使用します。
- OS:Windows 11(23H2)
- IDE:Visual Studio 2022(Version 17.9.5)
- ActiveReports:18.0J (v18.0.0.0)
PDFエクスポートパッケージのインストール
前回作成した帳票アプリケーションにPDFエクスポート機能を追加するため、まずは開発環境にActiveReportsのPDFエクスポートパッケージをインストールします。
ソリューションエクスプローラーから、「参照」を右クリックし「Nugetパッケージの管理」を選択します。
Nugetパッケージマネージャーの表示後、「参照」タブを選択、検索テキストボックスに「ActiveReports.Export.Pdf.ja」を入力します。検索結果には次のように「MESCIUS.ActiveReports.Export.Pdf.ja」が表示されるので、選択し、インストールを行います。
続いて、ライセンスの同意ダイアログが表示されるので、[同意する]を選択しインストールを行います。
プロジェクトに「MESCIUS.ActiveReports.Export.Pdf.ja」が追加された状態になれば、インストールが完了となります。
PDF出力ボタンの追加
続いてPDFエクスポート処理の実装を行っていきます。今回追加する機能では、Viewerコンポーネントが配置されているフォーム上にボタンを追加し、ボタンを押すと現在表示されている帳票と同じ内容を、PDFファイルとして出力する機能としたいと思います。
ソリューションエクスプローラーより、Viewerコンポーネントが配置されている「Form1.cs」を開きます。
「Form1.cs」に配置されている、Viewerコンポーネントを以下のように調整し、フォームの上部にボタンを追加します。
コントロール | プロパティ | 設定値 |
---|---|---|
viewer1 | Dock | None |
Anchor | Top,Bottom,Left,Right | |
Location | 0, 34 | |
Size | 644,333 | |
buttonPDF | (Name) | “buttonPDF” |
Text | “PDF出力” | |
Location | 12, 5 | |
Size | 75, 23 |
エクスポート処理の実装
続いて、フォーム上に追加した「buttonPDF」ボタンが押された際の処理を実装していきます。VisualStudio上のデザイナに追加した「buttonPDF」をダブルクリックすると、コード編集画面が開き、Clickイベントハンドラ(buttonPDF_Clickメソッド)が作成され、クリックイベントがコード上に追加されます
作成された「buttonPDF_Clickメソッド」へ、以下のコード(強調箇所)を追加します。
private void buttonPDF_Click(object sender, EventArgs e)
{
//保存ダイアログ
SaveFileDialog sa = new SaveFileDialog();
sa.Title = "PDFファイルを保存する";
sa.FileName = @"ActiveReports.pdf";
sa.Filter = "PDF|*.pdf";
if (sa.ShowDialog() == DialogResult.Cancel)
{
return;
}
// 描画するページレポートを指定します。
System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\..\Report.rdlx");
GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);
// 出力先のディレクトリの指定(保存ダイアログから取得)
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(System.IO.Path.GetDirectoryName(sa.FileName));
// エクスポートの各種設定を行います。
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
// RenderingExtensionを設定して、レポートを描画します。
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(sa.FileName));
//ダイアログディスポーズ
sa.Dispose();
// 出力ファイルがすでに存在する場合は上書きします。
outputProvider.OverwriteOutputFile = true;
//PDFファイルを生成します。
pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting);
}
このコードでは、ボタンが押された後に、PDFファイルの保存先を指定し、指定された保存先にPDFファイルを保存するといった処理を実装しています。
PDFエクスポートの実行
作成したPDFエクスポート機能を実行し動作を確認します。[PDF出力]ボタンを押すとファイルの保存先ダイアログが表示され、ファイル名を指定し[保存]を押すと、Viewer上に表示されている帳票が、PDFファイルとして作成されました。
このように、ActiveReportsのPDFエクスポートパッケージを使用すると、作成した帳票をPDFへエクスポートする機能が簡単に実装できます。
さいごに
「これからはじめるActiveReports帳票」第2回目は、前回作成した帳票アプリケーションへPDFエクスポート機能を追加する方法についてご紹介いたしました。1回目、2回目とActiveReportsのプロジェクトテンプレートを使用したアプリケーション作成方法についてご紹介してきましたが、次回はVisualStudio標準のプロジェクトテンプレートを使用して、ActiveReports帳票アプリケーションを作成する方法についてご紹介していきたいと思います。
今回の内容について動作を確認されたい方は、是非トライアル版ダウンロードの上、お試しください。
製品の機能を手軽に体験できるデモアプリケーションも公開しておりますので、こちらもご確認ください。
また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。