アプリケーションの実行環境によって、レポートの用紙サイズが異なってしまう
対象製品
ActiveReports for .NET 7.0J
詳細
セクションレポートについて、用紙サイズを(デザイン時にもコード上でも)設定していない場合、表記のような事象が発生します。
用紙サイズを特に設定していない(用紙サイズが「プリンタの既定値」に設定されている)場合、実行環境の「通常使うプリンタ(デフォルトプリンタ)」のデフォルトの用紙サイズで、レポートが作成されます。
そのため、開発環境上と実行環境上で、通常使うプリンタのデフォルトの用紙サイズ設定が異なる場合、表記のような事象が発生します。
以下の方法で、レポートの用紙サイズを設定してください。
用紙サイズを特に設定していない(用紙サイズが「プリンタの既定値」に設定されている)場合、実行環境の「通常使うプリンタ(デフォルトプリンタ)」のデフォルトの用紙サイズで、レポートが作成されます。
そのため、開発環境上と実行環境上で、通常使うプリンタのデフォルトの用紙サイズ設定が異なる場合、表記のような事象が発生します。
※ | 用紙サイズが設定されておらず、実行環境にプリンタドライバがインストールされていない場合、レポートの用紙サイズはLetterサイズ(8.5×11インチ)になります。 |
以下の方法で、レポートの用紙サイズを設定してください。
- Windowsアプリケーションの場合
製品ヘルプの以下に記載されている方法で設定してください。
PowerTools ActiveReports for .NET 7.0J
- ActiveReportsユーザーガイド
- 概念
- セクションレポートの概念
- [レポートの設定]ダイアログ
- 「プリンタ設定」
- よくある質問
- セクションレポート
- 印刷
- 「用紙サイズ(規定サイズ)や余白を変更する」 - 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ユーザーガイド
- 概念
- セクションレポートの概念
- 仮想プリンタ
- よくある質問
- セクションレポート
- 印刷
- 「プリンタドライバがサポートしていない用紙サイズに出力する」
関連情報
- セクションレポートの実行時、プリンタが用紙サイズをサポートしていないというエラーが発生します
- 「System error number:**」というエラーが発生します
- Flashビューワから印刷する時、プリンタのデフォルトの用紙サイズで印刷される
- セクションレポートにおいて、用紙サイズや余白をコード上で動的に設定する方法は?
キーワード
問題 印刷・プレビュー