これからはじめるActiveReports帳票~帳票プロジェクト作成編(2)

.NET帳票コンポーネント「ActiveReports for .NET(アクティブレポート)」の使い方を解説する、「これからはじめるActiveReports帳票」。第2回目は、前回作成した帳票アプリケーションへPDFエクスポート機能を追加する方法について解説いたします。

開発環境

ActiveReports for .NETの開発環境にはOSに「Windows」、統合開発環境(IDE)に「Visual Studio」が必要となります。事前に、ActiveReportsの必要システムに記載されている、開発環境をご準備ください。

今回の開発環境では、以下を使用します。

  • OS:Windows 11(22H2)
  • IDE:Visual Studio 2022(Version 17.5.3)
  • ActiveReports:16.0J SP2(v16.2.1.0)

PDFエクスポートパッケージのインストール

前回作成した帳票アプリケーションにPDFエクスポート機能を追加するため、まずは開発環境にActiveReportsのPDFエクスポートパッケージをインストールします。

ソリューションエクスプローラーから、「参照」を右クリックし「Nugetパッケージの管理」を選択します。

パッケージのインストール1

Nugetパッケージパッケージマネージャーの表示後、「参照」タブを選択、検索テキストボックスに「ActiveReports.Export.Pdf.ja」を入力します。検索結果には次のように「GrapeCity.ActiveReports.Export.Pdf.ja」が表示されるので、選択し、インストールを行います。

パッケージのインストール2

続いて、ライセンスの同意ダイアログが表示されるので、[同意する]を選択しインストールを行います。

パッケージのインストール3

プロジェクトの参照に「GrapeCity.ActiveReports.Export.Pdf.ja」が追加された状態になれば、インストールが完了となります。

パッケージのインストール4

PDF出力ボタンの追加

続いてPDFエクスポート処理の実装を行っていきます。今回追加する機能では、Viewerコンポーネントが配置されているフォーム上にボタンを追加し、ボタンを押すと現在表示されている帳票と同じ内容を、PDFファイルとして出力する機能としたいと思います。

ソリューションエクスプローラーより、Viewerコンポーネントが配置されている「Form1.cs」を開きます。

フォームの編集1

「Form1.cs」に配置されている、Viewerコンポーネントを以下のように調整し、フォームの上部にボタンを追加します。

フォームの編集2
コントロールプロパティ設定値
viewer1DockNone
AnchorTop,Bottom,Left,Right
Location0, 34
Size644,333
buttonPDF(Name)“buttonPDF”
Text“PDF出力”
Location12, 5
Size75, 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( @"..\..\PageReport1.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帳票アプリケーションを作成する方法についてご紹介していきたいと思います。

今回の内容について動作を確認されたい方は、是非トライアル版ダウンロードの上、お試しください。

製品の機能を手軽に体験できるデモアプリケーションも公開しておりますので、こちらもご確認ください。

また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /