AddPrinter (IEPrint) Example for Visual Basic
Private Sub AddPrinter_Click()
Const DMPAPER_USER = 1
Const TEST_PRINTER_NAME = "Test Printer Name"
Dim PrinterSpecifications As New EpnPrinterSpecifications
Dim MultiSaveOptions As New EpnMultiSaveOptions
Dim MailMessageInfo As New EpnMailMessageInfo
Dim BatchPrinterInfo As New EpnBatchPrinterInfo
Dim PrintersList As New EpnPrinterList
Dim ePrint As New ePrint
Dim nRet As Integer
If ePrint.IsSupportLocked (SUPPORT_OEM) Then
ePrint.UnlockSupport SUPPORT_OEM, OEM_KEY
End If
ePrint.AddPrinter TEST_PRINTER_NAME, PRINTER_TASK
If (nRet = 0) Then
'Prepare Printer Specifications
'Custom Papers IDs starts from "DMPAPER_USER + 200"
PrinterSpecifications.PaperID = DMPAPER_USER + 200
PrinterSpecifications.PaperSizeName = "Custom Paper Name"
PrinterSpecifications.PaperHeight = 11
PrinterSpecifications.PaperWidth = 8
PrinterSpecifications.DimensionsInInches = True
PrinterSpecifications.PortraitOrient = True
PrinterSpecifications.MarginsPrinter = "Margins Printer Name"
PrinterSpecifications.PrintQuality = 300
PrinterSpecifications.YResolution = 300
' Set OEM Printer Specifications
ePrint.SetPrinterSpecifications TEST_PRINTER_NAME, PrinterSpecifications
'Prepare Save Options
MultiSaveOptions.UseSave = True
MultiSaveOptions.SaveElementsCount = 1
MultiSaveOptions.PrinterSaveOptions (0).SaveOptions.FileName = "c:\Untitled.cmp"
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.Format = FILE_CMP
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.DocumentType = FT_SAVE_TYPE_RASTER
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.RasterOptions.BitsPerPixel = 24
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.RasterOptions.QFactor = 100
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.RasterOptions.StampBits = 24
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.RasterOptions.StampWidth = 128
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.RasterOptions.StampHeight = 128
MultiSaveOptions.PrinterSaveOptions(0).SaveOptions.RasterOptions.MultiPageFile = False
'Set OEM Printer Save Options
ePrint.SetPrinterSaveOptions TEST_PRINTER_NAME, MultiSaveOptions
'Prepare Mail Message
MailMessageInfo.UseMail = True
MailMessageInfo.To = "someone@somedomain.com"
MailMessageInfo.Cc = "another@anotherdomain.com"
MailMessageInfo.Bcc = "someonespecial@anotherdomain.com"
MailMessageInfo.Subject = "Attached Images"
MailMessageInfo.Body = "Hello, the images are attached."
'Index of the save options index to be used for the e-mailed files.
'Index of the PrinterSaveOptions property in the EpnMultiSaveOptions
'passed to the SetPrinterSaveOptions.
MailMessageInfo.EmailSaveOptionsIndex = 0
'Set Printer Mail Message
ePrint.SetPrinterMailMessageInfo TEST_PRINTER_NAME, MailMessageInfo
'Prepare Printers List
' This will add the Default Printer to the Printers List
BatchPrinterInfo.PrinterName = Printer.DeviceName
ePrint.GetDefaultEnhancedOptions BatchPrinterInfo.EnhancedOptions
BatchPrinterInfo.Flags = VALID_ENHANCED_OPTIONS
PrintersList.AddPrinter BatchPrinterInfo
'Set Printer Batch Printers List
ePrint.SetPrinterBatchPrintersList TEST_PRINTER_NAME, PrintersList
' Set Printer Conflict Solve
Dim RenamingOptions As New EpnRenamingOptions
ePrint.GetDefaultRenamingOptions RenamingOptions
ePrint.SetPrinterConflictSolving TEST_PRINTER_NAME, SAVE_APPEND_FAVOR_RENAME, RenamingOptions
'Set E-Mail Configurations
Dim MailConfigurationSettings As New EpnMailConfigurationSettings
MailConfigurationSettings.IsMAPI = True
MailConfigurationSettings.UseDefaultMapiProfile = True
MailConfigurationSettings.Flags = 0
ePrint.SetPrinterEmailConfiguration TEST_PRINTER_NAME, MailConfigurationSettings
End If
End Sub