作成日: 2017/12/05 最終更新日: 2017/12/05
文書種別
使用方法
詳細
C1FlexReportクラスのPrintメソッドを使用して印刷する場合、用紙サイズを明示的に設定しないと、「通常使うプリンタ(デフォルトプリンタ)」のデフォルト設定で印刷が実行されます。このため、レポートに設定された用紙サイズとは異なるサイズで印刷される場合があります。
実行環境に依存せずレポートに設定された用紙サイズで印刷したい場合は、Printメソッドの引数で用紙サイズを設定します。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
実行環境に依存せずレポートに設定された用紙サイズで印刷したい場合は、Printメソッドの引数で用紙サイズを設定します。
◆サンプルコード(VB.NET)
Dim ps As New System.Drawing.Printing.PrinterSettings
ps.PrinterName = "プリンタ名"
' プリンタがサポートしている用紙サイズを取得
For Each psize As System.Drawing.Printing.PaperSize In ps.PaperSizes
' 用紙タイプが合致したサイズを設定する
If psize.Kind = C1FlexReport1.Layout.PaperSize Then
ps.DefaultPageSettings.PaperSize = psize
Exit For
End If
Next
' 用紙向き
If C1FlexReport1.Layout.Orientation = C1.Win.FlexReport.OrientationEnum.Landscape Then
ps.DefaultPageSettings.Landscape = True
Else
ps.DefaultPageSettings.Landscape = False
End If
C1FlexReport1.Render()
C1FlexReport1.Print(ps)
ps.PrinterName = "プリンタ名"
' プリンタがサポートしている用紙サイズを取得
For Each psize As System.Drawing.Printing.PaperSize In ps.PaperSizes
' 用紙タイプが合致したサイズを設定する
If psize.Kind = C1FlexReport1.Layout.PaperSize Then
ps.DefaultPageSettings.PaperSize = psize
Exit For
End If
Next
' 用紙向き
If C1FlexReport1.Layout.Orientation = C1.Win.FlexReport.OrientationEnum.Landscape Then
ps.DefaultPageSettings.Landscape = True
Else
ps.DefaultPageSettings.Landscape = False
End If
C1FlexReport1.Render()
C1FlexReport1.Print(ps)
◆サンプルコード(C#)
var ps = new System.Drawing.Printing.PrinterSettings();
ps.PrinterName = "プリンタ名";
// プリンタがサポートしている用紙サイズを取得
foreach (System.Drawing.Printing.PaperSize psize in ps.PaperSizes)
{
// 用紙タイプが合致したサイズを設定する
if (psize.Kind == c1FlexReport1.Layout.PaperSize)
{
ps.DefaultPageSettings.PaperSize = psize;
break;
}
}
// 用紙向き
if (c1FlexReport1.Layout.Orientation == C1.Win.FlexReport.OrientationEnum.Landscape)
{
ps.DefaultPageSettings.Landscape = true;
}
else
{
ps.DefaultPageSettings.Landscape = false;
}
c1FlexReport1.Render();
c1FlexReport1.Print(ps);
ps.PrinterName = "プリンタ名";
// プリンタがサポートしている用紙サイズを取得
foreach (System.Drawing.Printing.PaperSize psize in ps.PaperSizes)
{
// 用紙タイプが合致したサイズを設定する
if (psize.Kind == c1FlexReport1.Layout.PaperSize)
{
ps.DefaultPageSettings.PaperSize = psize;
break;
}
}
// 用紙向き
if (c1FlexReport1.Layout.Orientation == C1.Win.FlexReport.OrientationEnum.Landscape)
{
ps.DefaultPageSettings.Landscape = true;
}
else
{
ps.DefaultPageSettings.Landscape = false;
}
c1FlexReport1.Render();
c1FlexReport1.Print(ps);
関連情報
旧文書番号
82459