Di artikel itu sebenernya direct print nya masih yang simple print plain teks saja tanpa format detail.
Klo ada waktu Insya Allah Rani tambahkan buat direct printing dengan format dan gambar.
Untuk mencetak gambar, mungkin artikel ini bisa membantu memahami lebih awal bagaimana cara print image.
Dan buat kalian yang masih belum kenal apa itu PrintDocument, baca juga artikel ini ya!
Formula Dasar:
Bagaimana cara kerja nya? Berikut ini beberapa contoh untuk menjelaskannya. Contoh program pertama image / gambar akan diambil dari file yang disimpan di c:\logo.png.
Mari kita buat UI nya terlebih dahulun. Rani tambahkan sebuah button dan PrintDocument ke dalam form seperti berikut:
Code:
Imports System.Drawing.Printing
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PrintDocument1.Print()
End Sub
Private Sub PrintDocument1_PrintPage(sender As Object, e As PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
Dim newImage As Image = Image.FromFile("c:\logo.png")
e.Graphics.DrawImage(newImage, 50, 50)
End Sub
End Class
Coba Run dan klik tombol untuk mulai mencetak.
Hasilnya: (saya pakai pdf printer)
Kalau gambar diambil dari PictureBox gimana caranya? Ok kita coba tambahkan sebuah PictureBox dan set image property-nya.
Kemudian kode yang perlu diubah hanya image object nya saja yang mengambil dari property picturebox, seperti berikut:
Private Sub PrintDocument1_PrintPage(sender As Object, e As PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
e.Graphics.DrawImage(PictureBox1.Image, 50, 50)
End Sub
Hasilnya sama, karena saya menggunakan gambar yang sama:
Secara default sintaks akan mencetak ukuran gambar sebenarnya, tapi kita juga bisa mengaturnya secara manual dengan sintaks di bawah ini.
Kita coba mengatur lebar (width) = 100 dan tinggi (height) = 50.
Private Sub PrintDocument1_PrintPage(sender As Object, e As PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
e.Graphics.DrawImage(PictureBox1.Image, 50, 50, 100, 50)
End Sub
Handles PrintDocument1.PrintPage
e.Graphics.DrawImage(PictureBox1.Image, 50, 50, 100, 50)
End Sub
Hasil print akan seperti gambar di bawah.
Lebih lengkap bahasan tentang printing dengan PrintDocument ada di artikel di bawah ini ya.
0 Comments