|   | 
 
|  
 .NET TIPS 
複数の部数を印刷するには?[C#、VB]
デジタルアドバンテージ 一色 政彦 
2007/07/26 | 
  | 
 
 
  | 
 「TIPS:Windowsアプリケーションで印刷を行うには?」や「TIPS:複数ページの印刷を行うには?」では、Windowsアプリケーションなどで印刷を行う方法を紹介した。ただし、これらの印刷方法では1部数しか印刷されない仕様となっていた。それでは、1回の印刷処理で、複数の部数を印刷するにはどうすればよいのか。
複数部数の印刷処理
 複数ページを印刷するには、PrintDocumentコンポーネント(System.Drawing.Printing名前空間)のPrinterSettings.Copiesプロパティ*1に、希望の部数を(short型/Short型の値で)設定すればよい。
| *1 PrinterSettings.Copiesプロパティは、厳密には、PrinterSettingsプロパティで取得したPrinterSettingsクラス(System.Drawing.Printing名前空間)のオブジェクトのCopiesプロパティである。 | 
 次のサンプル・コードでは、実際にPrintDocumentコンポーネント(以下の例では「printDocument1」)のPrinterSettings.Copiesプロパティに、希望の部数(以下の例では「3」)を設定している。
private void button1_Click(object sender, System.EventArgs e) 
{ 
  // 印刷部数を指定する 
  printDocument1.PrinterSettings.Copies = 3; 
 
  // 印刷処理を実行 
  printDocument1.Print(); 
} 
 
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
{ 
  // 印刷ページの描画を行う 
  e.Graphics.DrawString("サンプル印刷", 
    new Font("MS 明朝", 32), Brushes.Black, 
    e.MarginBounds.Left, e.MarginBounds.Top, 
    new StringFormat()); 
}
  | 
 
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
  ' 印刷部数を指定する 
  printDocument1.PrinterSettings.Copies = 3 
 
  ' 印刷処理を実行 
  PrintDocument1.Print() 
End Sub 
 
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage 
  ' 印刷ページの描画を行う 
  e.Graphics.DrawString("サンプル印刷", _ 
    New Font("MS 明朝", 32), Brushes.Black, _ 
    e.MarginBounds.Left, e.MarginBounds.Top, _ 
    New StringFormat) 
End Sub
  | 
 
  | 
| 複数ページを印刷するサンプル・プログラム(上:C#、下:VB) | 
 サンプル・プログラムの内容についてはコード中のコメントを読めばご理解いただけると思うので、詳しい説明は割愛する。なお前掲のTIPSとほぼ同じような実装内容となっている。
 上記のコードを実行すると、ドキュメントを3部数、印刷する。
 
|  
 | 
 
generated by  
 | 
 
 
 | 
 
 
	
		Insider.NET 記事ランキング
		
		
			本日
			月間