アプリケーションの実行環境によって、レポートの用紙サイズが異なってしまう

文書番号 : 33977     文書種別 : 使用方法     登録日 : 2013/05/15     最終更新日 : 2013/05/15
文書を印刷する
対象製品
ActiveReports for .NET 7.0J
詳細
セクションレポートについて、用紙サイズを(デザイン時にもコード上でも)設定していない場合、表記のような事象が発生します。

用紙サイズを特に設定していない(用紙サイズが「プリンタの既定値」に設定されている)場合、実行環境の「通常使うプリンタ(デフォルトプリンタ)」のデフォルトの用紙サイズで、レポートが作成されます。

そのため、開発環境上と実行環境上で、通常使うプリンタのデフォルトの用紙サイズ設定が異なる場合、表記のような事象が発生します。

用紙サイズが設定されておらず、実行環境にプリンタドライバがインストールされていない場合、レポートの用紙サイズはLetterサイズ(8.5×11インチ)になります。

以下の方法で、レポートの用紙サイズを設定してください。

  1. Windowsアプリケーションの場合
    製品ヘルプの以下に記載されている方法で設定してください。

    PowerTools ActiveReports for .NET 7.0J
     - ActiveReportsユーザーガイド
      - 概念
       - セクションレポートの概念
        - [レポートの設定]ダイアログ
         - 「プリンタ設定」
      - よくある質問
       - セクションレポート
        - 印刷
         - 「用紙サイズ(規定サイズ)や余白を変更する」

  2. Webアプリケーションの場合
    Webアプリケーション上でレポートを作成する場合には、仮想プリンタの設定を行った上で、用紙サイズ・方向を設定することをお勧めします。

    レポートの作成前に、PrinterクラスのPrinterNameプロパティに""(空の文字列、String.Empty値)を設定することで、仮想プリンタ機能を使用できます。(この際、デザイナ上での用紙サイズは、「プリンタの既定値」に設定し、用紙サイズ・方向はコード上で設定してください。)

    ◆サンプルコード(VB.NET)
    Dim rpt As New SectionReport1()

    ' 仮想プリンタを設定します。
    rpt.Document.Printer.PrinterName = ""

    ' 用紙サイズをA4縦に設定します。
    rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4
    rpt.PageSettings.Orientation = _
      GrapeCity.ActiveReports.Document.Section.PageOrientation.Portrait

    ' レポートを実行します。
    rpt.Run()

    ◆サンプルコード(C#)
    SectionReport1 rpt = new SectionReport1();

    // 仮想プリンタを設定します。
    rpt.Document.Printer.PrinterName = "";

    // 用紙サイズを A4縦 に設定します。
    rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
    rpt.PageSettings.Orientaion
      = DataDynamics.ActiveReports.Document.PageOrientation.Portrait;

    // レポートを実行します。
    rpt.Run();


    通常の場合、セクションレポートは、レポート作成時に実行環境上のプリンタ(プリンタドライバ)から、用紙サイズなどの情報を取得します。

    仮想プリンタの設定を行った場合、実行環境上のプリンタからの情報取得を行わず、任意のサイズでレポートを作成します。そのため、情報取得のためのオーバーヘッド発生や、指定した用紙サイズをプリンタがサポートしていない場合に発生する問題を全て回避することが可能です。

    仮想プリンタは、レポートを生成する環境と表示・印刷する環境が異なるWebアプリケーションや、レポートをPDF等の形式にエクスポートする場合に有効となる方法です。

    仮想プリンタについては、製品ヘルプの以下の内容もあわせてご覧ください。

    PowerTools ActiveReports for .NET 7.0J
     - ActiveReportsユーザーガイド
      - 概念
       - セクションレポートの概念
        - 仮想プリンタ
      - よくある質問
       - セクションレポート
        - 印刷
         - 「プリンタドライバがサポートしていない用紙サイズに出力する」
関連情報
キーワード
問題 印刷・プレビュー