作成日: 2020/04/15 最終更新日: 2020/04/15
文書種別
使用方法
詳細
レポートの用紙サイズには以下2つの種類があります。
レポートの形式によって設定方法が異なりますので、以下をご確認ください。
(本文書のサンプルコードはGrapeCity.ActiveReports名前空間のインポートを前提としています。こちらの文書をご参照ください。)
- レポート生成時の用紙サイズ
- 印刷時の用紙サイズ
レポートの形式によって設定方法が異なりますので、以下をご確認ください。
(本文書のサンプルコードはGrapeCity.ActiveReports名前空間のインポートを前提としています。こちらの文書をご参照ください。)
- セクションレポートの場合
レポート生成時の用紙サイズは、デザイン時に[レポートの設定]ダイアログの[プリンタ設定]で設定できます。
ダイアログの表示方法は製品ヘルプの以下のトピックをご確認ください。
[レポートの設定]ダイアログ
コードで用紙サイズを変更する場合は、SectionReport.PageSettingsのプロパティを設定します。
※Runメソッドの実行前に設定してください。
◆サンプルコード(VB.NET)
Dim rpt As New SectionReport1
' 印刷に使用するプリンタ
rpt.Document.Printer.PrinterName = "プリンタ名"
' 標準の用紙サイズを使用する場合
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4
' プリンタドライバに登録されている「ユーザー定義サイズ」を使用する場合
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom
rpt.PageSettings.PaperName = "用紙名"
' ActiveReportsの「ユーザー定義のサイズ」機能を使用する場合
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom
rpt.PageSettings.PaperName = ""
rpt.PageSettings.PaperWidth = 10 ' インチ単位
rpt.PageSettings.PaperHeight = 10 ' インチ単位
' 用紙向き
rpt.PageSettings.Orientation = GrapeCity.ActiveReports.Document.Section.PageOrientation.Portrait
rpt.Run()
rpt.Document.Print()
◆サンプルコード(C#)
var rpt = new SectionReport1();
// 印刷に使用するプリンタ
rpt.Document.Printer.PrinterName = "プリンタ名";
// 標準の用紙サイズを使用する場合
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
// プリンタドライバに登録されている「ユーザー定義サイズ」を使用する場合
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
rpt.PageSettings.PaperName = "用紙名";
// ActiveReportsの「ユーザー定義のサイズ」機能を使用する場合
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
rpt.PageSettings.PaperName = "";
rpt.PageSettings.PaperWidth = 10; // インチ単位
rpt.PageSettings.PaperHeight = 10; // インチ単位
// 用紙向き
rpt.PageSettings.Orientation = GrapeCity.ActiveReports.Document.Section.PageOrientation.Portrait;
rpt.Run();
rpt.Document.Print();
■補足:「ユーザー定義のサイズ」について
セクションレポートの用紙サイズに「ユーザー定義のサイズ」を設定した場合、Runメソッドの実行時に"ARCustomForm"という名前の用紙サイズがプリンタドライバに登録されます。このため、アプリケーションの実行ユーザーに管理者権限(用紙サイズを登録できる権限)が必要になります。
用紙サイズを登録する必要がない場合は、仮想プリンタを使用してください。
印刷時の用紙サイズは、レポート生成時と同じ用紙サイズになります。
異なる用紙サイズに印刷する場合は、SectionReport.Document.Printerのプロパティを設定します。
※Runメソッドの実行後に設定してください。
◆サンプルコード(VB.NET)
Dim rpt As New SectionReport1
rpt.Run()
' 印刷に使用するプリンタ
rpt.Document.Printer.PrinterName = "プリンタ名"
' 標準の用紙サイズを使用する場合
rpt.Document.Printer.PaperKind = System.Drawing.Printing.PaperKind.A4
' プリンタドライバに登録されている「ユーザー定義サイズ」を使用する場合
For Each psize As System.Drawing.Printing.PaperSize In rpt.Document.Printer.PaperSizes
If psize.PaperName = "用紙名" Then
rpt.Document.Printer.PaperSize = psize
Exit For
End If
Next
' 用紙向き
rpt.Document.Printer.Landscape = False
rpt.Document.Print()
◆サンプルコード(C#)
var rpt = new SectionReport1();
rpt.Run();
// 印刷に使用するプリンタ
rpt.Document.Printer.PrinterName = "プリンタ名";
// 標準の用紙サイズを使用する場合
rpt.Document.Printer.PaperKind = System.Drawing.Printing.PaperKind.A4;
// プリンタドライバに登録されている「ユーザー定義サイズ」を使用する場合
foreach (System.Drawing.Printing.PaperSize psize in rpt.Document.Printer.PaperSizes)
{
if (psize.PaperName == "用紙名")
{
rpt.Document.Printer.PaperSize = psize;
break;
}
}
// 用紙向き
rpt.Document.Printer.Landscape = false;
rpt.Document.Print();
- ページレポート/RDLレポートの場合
レポート生成時の用紙サイズは、デザイン時に[レポート]ダイアログの[外観]で設定します。
ダイアログの表示方法は製品ヘルプの以下のトピックをご確認ください。
[レポート]ダイアログ
※ページレポート/RDLレポートの場合、レポート生成時の用紙サイズをコードで変更することはできません。
■補足:「ユーザー定義のサイズ」について
ページレポート/RDLレポートの用紙サイズに「ユーザー定義のサイズ」を設定した場合、プリンタドライバに新しい用紙サイズは登録されません。
独自の用紙サイズに印刷したい場合は、あらかじめプリンタドライバに用紙サイズを登録してください。
印刷時の用紙サイズは、レポート生成時の用紙サイズと「幅×高さ」が一致する用紙サイズになります。
異なる用紙サイズに印刷する場合は、PageDocument.Printerのプロパティを設定します。
◆サンプルコード(VB.NET)
Dim rpt As New GrapeCity.ActiveReports.PageReport(New IO.FileInfo("PageReport1.rdlx"))
Dim doc As New GrapeCity.ActiveReports.Document.PageDocument(rpt)
' 印刷に使用するプリンタ
doc.Printer.PrinterName = "プリンタ名"
' 標準の用紙サイズを使用する場合
doc.Printer.PaperKind = System.Drawing.Printing.PaperKind.A4
' プリンタドライバに登録されている「ユーザー定義サイズ」を使用する場合
For Each psize As System.Drawing.Printing.PaperSize In doc.Printer.PaperSizes
If psize.PaperName = "用紙名" Then
doc.Printer.PaperSize = psize
Exit For
End If
Next
' 用紙向き
doc.Printer.Landscape = False
doc.Print()
◆サンプルコード(C#)
var rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx"));
var doc = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
// 印刷に使用するプリンタ
doc.Printer.PrinterName = "プリンタ名";
// 標準の用紙サイズを使用する場合
doc.Printer.PaperKind = System.Drawing.Printing.PaperKind.A4;
// プリンタドライバに登録されている「ユーザー定義サイズ」を使用する場合
foreach (System.Drawing.Printing.PaperSize psize in rpt.Document.Printer.PaperSizes)
{
if (psize.PaperName == "用紙名")
{
doc.Printer.PaperSize = psize;
break;
}
}
// 用紙向き
doc.Printer.Landscape = false;
doc.Print();
関連情報
旧文書番号
85439