搞定了,还是要通过绘画的方式。
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.Graphics.DrawString("减价通知", New Font(Font.FontFamily, 20, FontStyle.Bold), Brushes.Black, 300, 50)
e.Graphics.DrawString(Date.Now, New Font(Font.FontFamily, 13, FontStyle.Bold), Brushes.Black, 450, 80)
'e.Graphics.DrawImage(_NewBitmap, 100, 100, _NewBitmap.Width, _NewBitmap.Height)
'宽: 700 间隔 :40 起始:10
Dim iRowHeight As Integer = 140
Dim ipageWidth As Integer = ListView1.Width
Dim DWidth As Integer = 10
Dim DHeight As Integer = 100
Dim iTage As Integer = 0
For Each odr As DataRow In oGoodDS.Tables(0).Rows
If iTage = 4 Then
iTage = 0
DWidth = 10
DHeight = DHeight + iRowHeight + 20
End If
e.Graphics.DrawImage(ImageList1.Images.Item(odr("JID").ToString), DWidth, DHeight, 120, 120)
e.Graphics.DrawString(ListView1.Items(odr("JID").ToString).Text, Font, Brushes.Black, DWidth, DHeight + 125)
iTage = iTage + 1
DWidth = DWidth + 160
Next
End Sub