タイトル | : ReportDocumentを使用して連続用紙の印刷 |
記事No | : 11065 |
投稿日 | : 2013/03/02(Sat) 00:12 |
投稿者 | : かっちゃん |
いつもお世話になり大変助かっております。 VB2010の印刷についてお願いいたします
VB2010からReportDocument(名前:PrtDocument.)を使っての連続帳票を印刷しております 連続帳票は10インチで6枚のラベルがセットになっております。 印刷はできているのですが、終了すると改ページ(10インチ分)してしまいます。 データが1枚しかなくても改ページしてしまうので、改ページせずに、印刷したところで 用紙を止めたいのですが、どのようなロジックにしたらよろしいでしょうか プリンターはエプソンのVP-700で用紙設定は10 X 10にしてあります
KakuteiDt:データセット Hinmei No AAA 11111 BBB 22222 CCC 33333 | | | |
Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrint.Click PrtDocument.Print() End Sub
Private Sub PrtDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrtDocument.PrintPage Dim f As New Font("MS明朝", 10.5, FontStyle.Bold) ' フォント Dim LineHeight As Single = f.GetHeight(e.Graphics) '1行の高さ Dim X As Integer = e.MarginBounds.Left '文字列の描画を開始する縦位置 Dim Y As Integer = e.MarginBounds.Top '文字列の描画を開始する横位置 Dim dtRow As DataRow() = KakuteiDt.Select() X = 60 Y = 0
For Each row As DataRow In dtRow ' 印刷 e.Graphics.DrawString(row.Item("Hinmei").ToString, f, Brushes.Black, X, Y) e.Graphics.DrawString(row.Item("No").ToString, f, Brushes.Black, X, Y) Y += LineHeight '縦位置を1行分次に進ませる。 Y += LineHeight Y += LineHeight Y += LineHeight Y += LineHeight Y += LineHeight Y += LineHeight Y += LineHeight Y += LineHeight Y = Y - 2 '縦位置微調整 Next e.HasMorePages = False End Sub
よろしくお願いいたします。
|