Windowsフォームアプリケーションから印刷する時の印刷設定をコード上であらかじめ設定する方法は?
対象製品
ActiveReports for .NET 7.0J
詳細
Windowsフォームアプリケーションにおいて、Viewerコントロールの[印刷]ボタンやPrintメソッドを使用して印刷する時の印刷設定をコード上であらかじめ設定したい場合は、PageSettingsクラスやPrinterクラスのプロパティを使用します。
なお、具体的な設定方法は、レポートの形式によって異なります。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
なお、具体的な設定方法は、レポートの形式によって異なります。
セクションレポートの場合
◆サンプルコード(VB.NET)
Dim rpt As New SectionReport1
' 出力先プリンタを指定します。
rpt.Document.Printer.PrinterName = "(PrinterName)"
' 印刷部数を指定します。
rpt.Document.Printer.PrinterSettings.Copies = 5
' 両面印刷に設定します。
rpt.PageSettings.Duplex = Printing.Duplex.Vertical
rpt.Document.Printer.PrinterSettings.Duplex = Printing.Duplex.Vertical
' カラー印刷に設定します。
rpt.Document.Printer.DefaultPageSettings.Color = True
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.Color = True
' 給紙トレイを設定します。
For Each ps As System.Drawing.Printing.PaperSource In rpt.Document.Printer.PrinterSettings.PaperSources
'「手差し」に設定します。
If ps.Kind = Printing.PaperSourceKind.Manual Then
rpt.PageSettings.DefaultPaperSource = False
rpt.PageSettings.PaperSource = ps.Kind
rpt.Document.Printer.DefaultPageSettings.PaperSource = ps
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps
Exit For
End If
Next
' レポートをプレビュー表示します。
Me.Viewer1.LoadDocument(rpt)
' 出力先プリンタを指定します。
rpt.Document.Printer.PrinterName = "(PrinterName)"
' 印刷部数を指定します。
rpt.Document.Printer.PrinterSettings.Copies = 5
' 両面印刷に設定します。
rpt.PageSettings.Duplex = Printing.Duplex.Vertical
rpt.Document.Printer.PrinterSettings.Duplex = Printing.Duplex.Vertical
' カラー印刷に設定します。
rpt.Document.Printer.DefaultPageSettings.Color = True
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.Color = True
' 給紙トレイを設定します。
For Each ps As System.Drawing.Printing.PaperSource In rpt.Document.Printer.PrinterSettings.PaperSources
'「手差し」に設定します。
If ps.Kind = Printing.PaperSourceKind.Manual Then
rpt.PageSettings.DefaultPaperSource = False
rpt.PageSettings.PaperSource = ps.Kind
rpt.Document.Printer.DefaultPageSettings.PaperSource = ps
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps
Exit For
End If
Next
' レポートをプレビュー表示します。
Me.Viewer1.LoadDocument(rpt)
◆サンプルコード(C#)
SectionReport1 rpt = new SectionReport1();
// 出力先プリンタを指定します。
rpt.Document.Printer.PrinterName = "(PrinterName)";
// 印刷部数を指定します。
rpt.Document.Printer.PrinterSettings.Copies = 5;
// 両面印刷に設定します。
rpt.PageSettings.Duplex = System.Drawing.Printing.Duplex.Vertical;
rpt.Document.Printer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Vertical;
// カラー印刷に設定します。
rpt.Document.Printer.DefaultPageSettings.Color = true;
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.Color = true;
// 給紙トレイを設定します。
foreach (System.Drawing.Printing.PaperSource ps in rpt.Document.Printer.PrinterSettings.PaperSources)
{
//「手差し」に設定します。
if (ps.Kind == System.Drawing.Printing.PaperSourceKind.Manual)
{
rpt.PageSettings.DefaultPaperSource = false;
rpt.PageSettings.PaperSource = ps.Kind;
rpt.Document.Printer.DefaultPageSettings.PaperSource = ps;
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps;
break;
}
}
// レポートをプレビュー表示します。
this.viewer1.LoadDocument(rpt);
// 出力先プリンタを指定します。
rpt.Document.Printer.PrinterName = "(PrinterName)";
// 印刷部数を指定します。
rpt.Document.Printer.PrinterSettings.Copies = 5;
// 両面印刷に設定します。
rpt.PageSettings.Duplex = System.Drawing.Printing.Duplex.Vertical;
rpt.Document.Printer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Vertical;
// カラー印刷に設定します。
rpt.Document.Printer.DefaultPageSettings.Color = true;
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.Color = true;
// 給紙トレイを設定します。
foreach (System.Drawing.Printing.PaperSource ps in rpt.Document.Printer.PrinterSettings.PaperSources)
{
//「手差し」に設定します。
if (ps.Kind == System.Drawing.Printing.PaperSourceKind.Manual)
{
rpt.PageSettings.DefaultPaperSource = false;
rpt.PageSettings.PaperSource = ps.Kind;
rpt.Document.Printer.DefaultPageSettings.PaperSource = ps;
rpt.Document.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps;
break;
}
}
// レポートをプレビュー表示します。
this.viewer1.LoadDocument(rpt);
ページレポートの場合
◆サンプルコード(VB.NET)
' ページレポートファイル(.rdlx)をロードします。
Dim file_name As String = "PageReport1.rdlx"
Dim rpt As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(file_name))
Dim pageDocument As New GrapeCity.ActiveReports.Document.PageDocument(rpt)
' 出力先プリンタを指定します。
pageDocument.Printer.PrinterName = "(PrinterName)"
' 印刷部数を指定します。
pageDocument.Printer.PrinterSettings.Copies = 5
' 両面印刷に設定します。
pageDocument.Printer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Vertical
' カラー印刷に設定します。
pageDocument.Printer.DefaultPageSettings.Color = True
pageDocument.Printer.PrinterSettings.DefaultPageSettings.Color = True
' 給紙トレイを設定します。
For Each ps As System.Drawing.Printing.PaperSource In pageDocument.Printer.PrinterSettings.PaperSources
'「手差し」に設定します。
If ps.Kind = Printing.PaperSourceKind.Manual Then
pageDocument.Printer.DefaultPageSettings.PaperSource = ps
pageDocument.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps
Exit For
End If
Next
' レポートをプレビュー表示します。
Me.Viewer1.LoadDocument(pageDocument)
Dim file_name As String = "PageReport1.rdlx"
Dim rpt As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(file_name))
Dim pageDocument As New GrapeCity.ActiveReports.Document.PageDocument(rpt)
' 出力先プリンタを指定します。
pageDocument.Printer.PrinterName = "(PrinterName)"
' 印刷部数を指定します。
pageDocument.Printer.PrinterSettings.Copies = 5
' 両面印刷に設定します。
pageDocument.Printer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Vertical
' カラー印刷に設定します。
pageDocument.Printer.DefaultPageSettings.Color = True
pageDocument.Printer.PrinterSettings.DefaultPageSettings.Color = True
' 給紙トレイを設定します。
For Each ps As System.Drawing.Printing.PaperSource In pageDocument.Printer.PrinterSettings.PaperSources
'「手差し」に設定します。
If ps.Kind = Printing.PaperSourceKind.Manual Then
pageDocument.Printer.DefaultPageSettings.PaperSource = ps
pageDocument.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps
Exit For
End If
Next
' レポートをプレビュー表示します。
Me.Viewer1.LoadDocument(pageDocument)
◆サンプルコード(C#)
// ページレポートファイル(.rdlx)をロードします。
string file_name = "PageReport1.rdlx";
GrapeCity.ActiveReports.PageReport rpt
= new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
// 出力先プリンタを指定します。
pageDocument.Printer.PrinterName = "(PrinterName)";
// 印刷部数を指定します。
pageDocument.Printer.PrinterSettings.Copies = 5;
// 両面印刷に設定します。
pageDocument.Printer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Vertical;
// カラー印刷に設定します。
pageDocument.Printer.DefaultPageSettings.Color = true;
pageDocument.Printer.PrinterSettings.DefaultPageSettings.Color = true;
// 給紙トレイを設定します。
foreach (System.Drawing.Printing.PaperSource ps in pageDocument.Printer.PrinterSettings.PaperSources)
{
//「手差し」に設定します。
if (ps.Kind == System.Drawing.Printing.PaperSourceKind.Manual)
{
pageDocument.Printer.DefaultPageSettings.PaperSource = ps;
pageDocument.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps;
break;
}
}
// レポートをプレビュー表示します。
this.viewer1.LoadDocument(pageDocument);
string file_name = "PageReport1.rdlx";
GrapeCity.ActiveReports.PageReport rpt
= new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
// 出力先プリンタを指定します。
pageDocument.Printer.PrinterName = "(PrinterName)";
// 印刷部数を指定します。
pageDocument.Printer.PrinterSettings.Copies = 5;
// 両面印刷に設定します。
pageDocument.Printer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Vertical;
// カラー印刷に設定します。
pageDocument.Printer.DefaultPageSettings.Color = true;
pageDocument.Printer.PrinterSettings.DefaultPageSettings.Color = true;
// 給紙トレイを設定します。
foreach (System.Drawing.Printing.PaperSource ps in pageDocument.Printer.PrinterSettings.PaperSources)
{
//「手差し」に設定します。
if (ps.Kind == System.Drawing.Printing.PaperSourceKind.Manual)
{
pageDocument.Printer.DefaultPageSettings.PaperSource = ps;
pageDocument.Printer.PrinterSettings.DefaultPageSettings.PaperSource = ps;
break;
}
}
// レポートをプレビュー表示します。
this.viewer1.LoadDocument(pageDocument);
関連情報
キーワード
HowTo 印刷・プレビュー