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

文書番号 : 27286     文書種別 : 使用方法     最終更新日 : 2012/12/17
文書を印刷する
対象製品
ActiveReports for .NET 6.0J Professional
詳細
用紙サイズを特に設定していない(用紙サイズが「デフォルトプリンタ」に設定されている)場合、実行環境の「通常使うプリンタ」上で設定されている規定サイズで、レポートが作成されます。
そのため、開発環境上と実行環境上とで、作成されるレポートの用紙サイズが異なってしまう可能性があります。

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

以下の方法で、レポートの用紙サイズを設定してください。
  1. Windowsアプリケーションの場合
    製品ヘルプの以下に記載されている方法で設定してください。

    ActiveReports for .NETユーザーガイド
     - よくある質問
      - 印刷
       - 用紙サイズ(規定サイズ)や余白を変更する

  2. Webアプリケーションの場合
    Webアプリケーション上でレポートを作成する場合には、仮想プリンタの設定を行った上で、用紙サイズ・方向を設定することをお勧めします。
    レポートの作成前に、PrinterクラスのPrinterNameプロパティに""を設定することで、仮想プリンタ機能を使用できます(この際、デザイナ上での用紙サイズは、「プリンタの既定値」に指定してください)。

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

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

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

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

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

     rpt.Run()

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

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

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

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


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

    ActiveReports for .NETユーザーガイド
     - ActiveReports for .NETの概要
      - アーキテクチャと概念
       - 仮想プリンタ
関連情報
キーワード
問題 印刷・プレビュー

この文書は、以前は次のFAQ IDで公開されていました : 11963