C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

A4用紙で横向きに印刷すると複数枚だと余分に印刷されます

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■89719 / inTopicNo.1)  A4用紙で横向きに印刷すると複数枚だと余分に印刷されます
  
□投稿者/ ASIA (1回)-(2018/12/18(Tue) 12:02:40)

分類:[C#] 

PageSettingsで下記のように実装してみました。

System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings();
pg.PaperSize = new System.Drawing.Printing.PaperSize("A4", 1169, 827); // 11.69 in x 8.27 in
pg.PaperSize.RawKind = (int)System.Drawing.Printing.PaperKindう
pg.Margins = new System.Drawing.Printing.Margins(5, 5, 5, 5);

1枚のときは、横向きで印刷したいのですが1枚ならうまくいきますが、複数枚だと余分に印刷されます
大きさを変えたり、印刷のポジションを変更しても駄目でした

宜しくお願いします
引用返信 編集キー/
■89722 / inTopicNo.2)  Re[1]: A4用紙で横向きに印刷すると複数枚だと余分に印刷されます
□投稿者/ 魔界の仮面弁士 (1998回)-(2018/12/18(Tue) 13:14:44)
No89719 (ASIA さん) に返信
> PageSettingsで下記のように実装してみました。
> System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings();

ここで生成した PageSettings インタンスを
印刷対象の設定プロパティに渡す処理は
どのタイミングで呼び出していますか?


1. PrintPreviewDialog や PrintPreviewControl の表示前もしくは
  PrintDocument クラスの Print メソッドを呼び出す直前に
  PrintDocument クラスの DefaultPageSettings プロパティに割り当て
 
2. PrintDocument クラスの BeginPrint イベントが発生したときに、
  PrintDocument クラスの DefaultPageSettings プロパティに割り当て
 
3. PrintDocument クラスの QueryPageSettings イベントが発生したときに、
  イベント引数 e の PageSettings プロパティに割り当て
引用返信 編集キー/
■89723 / inTopicNo.3)  Re[2]: A4用紙で横向きに印刷すると複数枚だと余分に印刷されます
□投稿者/ ASIA (2回)-(2018/12/18(Tue) 13:55:58)
No89722 (魔界の仮面弁士 さん) に返信
> ■No89719 (ASIA さん) に返信
>>PageSettingsで下記のように実装してみました。
>>System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings();
>
> ここで生成した PageSettings インタンスを
> 印刷対象の設定プロパティに渡す処理は
> どのタイミングで呼び出していますか?
>
>
> 1. PrintPreviewDialog や PrintPreviewControl の表示前もしくは
>   PrintDocument クラスの Print メソッドを呼び出す直前に
>   PrintDocument クラスの DefaultPageSettings プロパティに割り当て
>  
> 2. PrintDocument クラスの BeginPrint イベントが発生したときに、
>   PrintDocument クラスの DefaultPageSettings プロパティに割り当て
>  
> 3. PrintDocument クラスの QueryPageSettings イベントが発生したときに、
>   イベント引数 e の PageSettings プロパティに割り当て


プログラムは下記のようになっています
Microsoft.Reporting.WinForms.ReportViewer reportViewer = new Microsoft.Reporting.WinForms.ReportViewer();
reportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;

// Preview 無しのために追加。
reportViewer.RenderingComplete += delegate(object sender, RenderingCompleteEventArgs e)
{

reportViewer.ResetPageSettings();
System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings();

pg.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169); // 8.27 in x 11.69 in
pg.PaperSize.RawKind = (int)System.Drawing.Printing.PaperKind.A4;
pg.Landscape = true;
pg.Margins = new System.Drawing.Printing.Margins(5, 5, 5, 5);


reportViewer.SetPageSettings(pg);
};


解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ