.NET FrameworkのPrintDocumentについてのまとめ

今回「宅配便 送り状」の印刷で使う.NET FrameworkのPrintDocumentの使い方について調べたことのまとめ
これでとりあえず印刷はできるようになったが、ちゃんとクラスを作った方がよさそうだ。

[使い方]
まずPrintDocumentを生成する。
  Dim PrintDocument As System.Drawing.Printing.PrintDocument
  PrintDocument = New System.Drawing.Printing.PrintDocument
そのあと用紙サイズとかを設定する。
  PrintDocument.DefaultPageSettings.PaperSize = New System.Drawing.Printing.PaperSize("送り状", 1000, 450)
  'System.Drawing.Printing.PaperSize([用紙名], [用紙幅], [用紙高さ])
このときあらかじめ
[コントロールパネル]→[プリンタ]→[サーバーのプロパティ]の「新しい用紙を作成する」
でPaperSizeに指定する用紙名で指定する用紙を作成しておく

次に実際に印刷を行うメソッドを書く
  Private Sub PrintPage_送り状(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
     '印字位置の調整をしやすいように単位系をmmにする
     e.Graphics.PageUnit = GraphicsUnit.Millimeter

     'PrintDocumentに文字を描く
     e.Graphics.DrawString([印字する文字列], New Font([フォント名], [フォントサイズ(pt)]), [色], [開始位置(x)], [開始位置(y)])
  End Sub
そして印刷を実行するためのイベントハンドラを設定する
  AddHandler PrintDocument.PrintPage, AddressOf PrintPage_送り状
印刷をしたいときに
  PrintDocument.Print
で印刷が実行される。