Kemudian timbul pertanyaan:
Mungkinkah mencetak/print tanpa aplikasi tambahan? seperti aplikasi2 reporting yang disebutkan diatas?
Apakah ada aplikasi reporting gratis bagi pengguna Visual Studio Community? Atau fasilitas printing bawaan dari Visual Studio nya?
Ternyata ada temans... kita bisa pakai komponen bawaan yang namanya PrintDocument.
Mari kita lihat di bagian jendela Tools.
Oke, langsung aja ya kita kenalan dengan gimana cara kerjanya. Buat project window form baru. Trus kita tambahin 2 komponen pada form yaitu button dan PrintDocument. Seperti gambar di bawah:
Kemudian kita akan coba print "Hello World!" dengan cetak wana biru. Karena emang ga lengkap klo belajar koding tanpa kata sakti ini.
Jika komponen PrintDocument1 kita double click, otomatis event terbentuk adalah PrintPage.
Kita tambahkan teks untuk dicetak.
Private Sub PrintDocument1_PrintPage(sender As Object, _
e As Printing.PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
e.Graphics.DrawString("Hello World!", Me.Font, Brushes.Blue, 100, 100)
End Sub
Penjelasan kode:
e.Graphics.DrawString | berfungsi untuk mencetak teks string |
"Hello World!" | adalah nilai string yang akan dicetak |
Me.Font | ini adalah font yang digunakan untuk mencetak, sementara saya ambil dari font punya-nya form. Saya jelaskan lebih lanjut di artikel selanjutnya |
Brushes.Blue | merupakan warna teks yang akan dicetak |
100, 100 | yang ini adalah point x, y dimana x adalah posisi jarak dari kiri dan y adalah posisi jarak dari kanan. |
Kemudian kita akan trigger proses printing pada saat button1 di click.
Private Sub Button1_Click(sender As Object, e As EventArgs) _
Handles Button1.Click
PrintDocument1.Print()
End Sub
Lalu... mari kita coba run, siapkan printer kalian kawan. Karena ini akan langsung mengirim perintah cetak ke printer.
Klo rani pakai pdf printer jadi proses print disimulasikan ke dalam bentuk pdf. Klik Button1.
Dan kira-kira hasil cetak nya akan begini:
Untuk memperjelas tentang posisi x,y point kita lihat penjelasannya pada gambar di bawah:
Kode lengkap nya sebagai berikut:
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 Printing.PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
e.Graphics.DrawString("Hello World!", Me.Font, Brushes.Blue, 100, 100)
End Sub
End Class
Saya ga janji ini bakalan mudah atau gampang. Tapi klo udah terbiasa ya asik-asik aja sih.
So, buat kalian yang penasaran bagaimana PrintDocument bisa bekerja sebagai fasilitas reporting, tetep pantengin blog ini.
Insya Allah Rani update terus buat jelasin step by step reporting pakai Komponen PrintDocument ini.
Lanjut kesini yah!
0 Comments