After some research, I have done this and works for me.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Preview As New PrintPreviewDialog
Dim prn As New Printing.PrintDocument
AddHandler prn.PrintPage, AddressOf _Invoice
With Preview
.Document = prn
.WindowState = FormWindowState.Maximized
.Document.DefaultPageSettings.PaperSize = New System.Drawing.Printing.PaperSize("A4", 827, 1169)
.PrintPreviewControl.Zoom = 1
.Document = prn
.ShowDialog()
End With
End Sub
Private Sub _Invoice(ByVal sender As Object, ByVal args As Printing.PrintPageEventArgs)
args.Graphics.DrawString("INVOICE", New Font("Arial", 12, FontStyle.Bold), Brushes.Black, 20, 20)
args.HasMorePages = True
Dim prn As Printing.PrintDocument = sender
RemoveHandler prn.PrintPage, AddressOf _Invoice
AddHandler prn.PrintPage, AddressOf _DO
Exit Sub
End Sub
Private Sub _DO(ByVal sender As Object, ByVal args As Printing.PrintPageEventArgs)
args.Graphics.DrawString("D.O", New Font("Arial", 12, FontStyle.Bold), Brushes.Black, 20, 20)
End Sub