Klo kita membuat aplikasi transaksi yang langsung mengirim data ke printer (print slip) seperti pada aplikasi kasir (POS), aplikasi akan langsung melakukan perintah print/cetak ke default printer sehingga tidak perlu memilih printer lagi saat mencetak slip.
Sebenarnya setting default printer mudah saja dengan masu ke control panel, Device and Printer seperti contoh gambar di bawah ini (window 8). Kita tinggal pilih printer mana yang ingin menjadi default, klik kanan kemudian pilih Set as default printer. Tetapi aplikasi akan lebih user friendly jika default printer dapat langsung di setting dalam aplikasi tersebut.
Karenanya dalam kesempatan kali ini Rani mau buat sebuah contoh code untuk setting printer default dengan code VB.NET.
UI
Code:
Imports System.Drawing.Printing
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim strInstalledPrinters As String
Dim prntDoc As New PrintDocument
'cek apakah ada printer terinstall
If PrinterSettings.InstalledPrinters.Count = 0 Then
MsgBox("No printer installed")
Exit Sub
End If
'tampilkan printer terinstall di list combobox
For Each strInstalledPrinters In PrinterSettings.InstalledPrinters
ComboBox1.Items.Add(strInstalledPrinters)
Next strInstalledPrinters
'tampilkan default printer saat ini di text combobox
ComboBox1.Text = prntDoc.PrinterSettings.PrinterName
Button1.Text = "Set Default Printer"
End Sub
'Fungsi untuk mengatur printer sebagai default
Function SetDefaulPrinter(ByVal strPrinterName As String) As Boolean
Dim strCurrPrinter As String
Dim WsNetwork As Object
Dim prntDoc As New PrintDocument
strCurrPrinter = prntDoc.PrinterSettings.PrinterName
WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")
Try
WsNetwork.SetDefaultPrinter(strPrinterName)
prntDoc.PrinterSettings.PrinterName = strPrinterName
'set default jika nama printer valid (terinstall)
If prntDoc.PrinterSettings.IsValid Then
Return True
Else
WsNetwork.SetDefaultPrinter(strCurrPrinter)
Return False
End If
Catch ex As Exception
WsNetwork.SetDefaultPrinter(strCurrPrinter)
Return False
Finally
WsNetwork = Nothing
prntDoc = Nothing
End Try
End Function
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
If SetDefaulPrinter(ComboBox1.Text) = True Then
MsgBox("Printer default menjadi " & ComboBox1.Text)
Else
MsgBox("Nama Printer " & ComboBox1.Text & " tidak valid!")
End If
End Sub
End Class
Runtime:
List printeryang tersedia (terinstall) akan tampil di list combobox.
Pilih salah satu item list kemudian klik tombo "Set Default Printer"
Kita lihat hasil nya di device and printer, default printer akan berubah sesuai pilihan.
Tonton juga videonya yah!
1 Comments
Semoga diberi kelimpahan rezeki & kesehatan oleh Tuhan YME.