Attribute VB_Name = "Module1" ' /////////////////////////////////////////////////////////////////////////////// ' ' Common Driver Interface ' ' Copyright AMYUNI Technologies, 1998-2005, All Rights Reserved ' ' Permission to use this work for any purpose must be expressly obtained ' from: AMYUNI Technologies - http://www.amyuni.com ' '///////////////////////////////////////////////////////////////////////////////// ' the following events can be sent by the driver ' these are predefined by Windows DDK Public Const DOCUMENTEVENT_STARTDOCPRE = 5& ' before StartDoc is handled Public Const DOCUMENTEVENT_STARTDOCPOST = 13& ' after StartDoc is handled Public Const DOCUMENTEVENT_STARTPAGE = 6& ' StartPage handled Public Const DOCUMENTEVENT_ENDPAGE = 7& ' EndPage handled Public Const DOCUMENTEVENT_ENDDOCPRE = 8& ' before EndDoc is handled Public Const DOCUMENTEVENT_ENDDOCPOST = 12& ' after EndDoc is handled Public Const DOCUMENTEVENT_ENABLEDPRE = 15& ' before checking if printer is enabled ' private escapes Public Const ESCAPE_SETBOOKMARK = 250 ' set bookmark on current drawing operation Public Const ESCAPE_SETHYPERLINK = 252 ' set hyperlink on current drawing operation ' the following can be returned from the event handling function Public Const DOCUMENTEVENT_SUCCESS = 1& Public Const DOCUMENTEVENT_UNSUPPORTED = 0& Public Const DOCUMENTEVENT_FAILURE = -1& ' options for SetFileNameOptions Public Const NoPrompt = &H1& ' do not prompt for file name Public Const UseFileName = &H2& ' use file name set by SetDefaultFileName else use document name Public Const Concatenate = &H4& ' concatenate files, do not override Public Const DisableCompression = &H8& ' disable page content compression Public Const EmbedFonts = &H10& ' embed fonts used in the input document Public Const BroadcastMessages = &H20& ' broadcast PDF events Public Const PrintWatermark = &H40& ' add watermark to each page Public Const MultilingualSupport = &H80& ' activate multi-lingual support Public Const EncryptDocument = &H100& ' encrypt resulting document Public Const FullEmbed = &H200& ' embed full font Public Const UseTcpIpServer = &H400& ' send to a tcp/ip server Public Const SendByEmail = &H800& ' send by email Public Const LinearizeForWeb = &H8000& ' web optimisation (Linearization) Public Const PostProcessing = &H10000 ' post process file using specified application Public Const JPegLevelLow = &H20000 ' Low JPeg compression Public Const JPegLevelMedium = &H40000 ' Medium JPeg compression Public Const JPegLevelHigh = &H60000 ' High JPeg compression Public Const Colors2GrayScale = &H80000 ' convert colors to gray scale Public Const ConvertHyperlinks = &H100000 ' automatic hyperlink conversion Public Const EmbedStandardFonts = &H200000 ' embed standard fonts such as Arial, Times, ... Public Const EmbedLicensedFonts = &H400000 ' embed fonts requiring a license Public Const Color256Compression = &H800000 ' activate 256 color compression Public Const EmbedSimulatedFonts = &H1000000 ' embed bold and italic simulated fonts Public Const SendToCreator = &H2000000 ' page by page option Public Const HTMLExport = &H4000000 ' export in html format Public Const RTFExport = &H8000000 ' export in rtf format Public Const JPEGExport = &H10000000 ' export in jpeg format Public Const CCITTCompression = &H20000000 ' activate CCITT compression Public Const EncryptDocument128 = &H40000000 ' encrypt resulting document by 128 bits enc Public Const AutoCompression = &H80000000 ' activate automatic image compression ' ********** Printer Initialization and Activation ********** ' init PDF driver Declare Function PDFDriverInit Lib "CDIntf250" (ByVal Printer As String) As Long ' init HTML driver Declare Function HTMLDriverInit Lib "CDIntf250" (ByVal Printer As String) As Long ' init RTF driver Declare Function RTFDriverInit Lib "CDIntf250" (ByVal Printer As String) As Long ' init any driver Declare Function DriverInit Lib "CDIntf250" (ByVal Printer As String) As Long ' end driver Declare Sub DriverEnd Lib "CDIntf250" (ByVal hPrinter As Long) ' set default printer Declare Function SetDefaultPrinter Lib "CDIntf250" (ByVal hPrinter As Long) As Long ' retore default printer Declare Function RestoreDefaultPrinter Lib "CDIntf250" (ByVal hPrinter As Long) As Long ' set the permanent license key for the product Declare Function SetLicenseKey Lib "CDIntf250" Alias "SetLicenseKeyA" (ByVal szCompany As String, ByVal szLicKey As String) As Long ' Developer version: enable printer before every print job Public Declare Function EnablePrinter Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szCompany As String, ByVal szCode As String) As Long ' get/set printer attributes Declare Function SetPrinterAttributes Lib "CDIntf250" (ByVal hPrinter As Long, ByVal dwAttributes As Long) As Long Declare Function GetPrinterAttributes Lib "CDIntf250" (ByVal hPrinter As Long) As Long ' supported languages Public Const SPL_DEFAULT = 0& ' Default Public Const SPL_ENGLISH = 1& ' English Public Const SPL_FRENCH = 2& ' French Public Const SPL_GERMAN = 3& ' German ' get/set language for user interface Declare Function GetPrinterLanguage Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetPrinterLanguage Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nNewValue As Long) As Long ' ********** Printer Configuration ********** Declare Function SetDefaultDirectory Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szDir As String) As Long Declare Function SetDefaultFileName Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szFile As String) As Long Declare Function SetFileNameOptions Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nOptions As Long) As Long ' get/set various printer options Declare Function GetPaperSize Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetPaperSize Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nPaperSize As Long) As Long Declare Function GetPaperWidth Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetPaperWidth Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nPaperWidth As Long) As Long Declare Function GetPaperLength Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetPaperLength Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nPaperHeight As Long) As Long Declare Function GetOrientation Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetOrientation Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nOrientation As Long) As Long Declare Function GetResolution Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetResolution Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nResolution As Long) As Long Declare Function GetJPEGCompression Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetJPEGCompression Lib "CDIntf250" (ByVal hPrinter As Long, ByVal bCompression As Long) As Long Declare Function GetJPegLevel Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetJPegLevel Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nLevel As Long) As Long Declare Function GetFontEmbedding Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetFontEmbedding Lib "CDIntf250" (ByVal hPrinter As Long, ByVal bEmbedding As Long) As Long Declare Function GetHorizontalMargin Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetHorizontalMargin Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nMargin As Long) As Long Declare Function GetVerticalMargin Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetVerticalMargin Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nMargin As Long) As Long Declare Function SetPrinterParamStr Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szParam As String, ByVal szValue As String) As Long Declare Function GetPrinterParamStr Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szParam As String, ByRef szValue As String, ByVal nLen As Long) As Long Declare Function SetPrinterParamInt Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szParam As String, ByVal nValue As Long) As Long Declare Function GetPrinterParamInt Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szParam As String) As Long ' set default configuration for all applications Declare Function SetDefaultConfig Lib "CDIntf250" (ByVal hPrinter As Long) As Long ' This version does not broadcast messages Declare Function SetDefaultConfigEx Lib "CDIntf250" (ByVal hPrinter As Long) As Long ' set watermark parameters Declare Function SetWatermark Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szWatermark As String, ByVal szFont As String, ByVal fontSize As Integer, ByVal Orientation As Integer, ByVal color As Long, ByVal xPos As Long, ByVal yPos As Long, ByVal bForeground As Long) As Long ' create a device context for this printer Declare Function CDICreateDC Lib "CDIntf250" (ByVal hPrinter As Long) As Long ' ********** Email functions ********** ' MAPI email parameters Declare Function SetEmailFieldFrom Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szEmailFieldFrom As String) As Long Declare Function SetEmailFieldTo Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szEmailFieldTo As String) As Long Declare Function SetEmailFieldCC Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szEmailFieldCC As String) As Long Declare Function SetEmailFieldBCC Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szEmailFieldBCC As String) As Long Declare Function SetEmailSubject Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szEmailSubject As String) As Long Declare Function SetEmailMessage Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szEmailMessage As String) As Long Declare Function SetEmailPrompt Lib "CDIntf250" (ByVal hPrinter As Long, ByVal bEmailPrompt As Long) As Long ' EMail Options Public Const SMO_PROMPT_PROFILE = 1& ' not used anymore Public Const SMO_PROMPT_RECIPIENT = 2& ' prompt before sending MAPI emails Public Const SMO_SMTP_MAIL = 4& ' send by SMTP and not MAPI Declare Function GetEmailOptions Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetEmailOptions Lib "CDIntf250" (ByVal hPrinter As Long, ByVal nEmailOptions As Long) As Long ' SMTP email parameters Declare Function SetSmtpServer Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szSmtpServer As String) As Long Declare Function SetSmtpPort Lib "CDIntf250" (ByVal hPrinter As Long, ByVal lSmtpPort As Long) As Long ' Send an email with file attachments using MAPI Declare Function SendMail Lib "CDIntf250" (ByVal szTo As String, ByVal szCC As String, ByVal szBCC As String, ByVal szSubject As String, ByVal szMessage As String, ByVal szFilenames As String, ByVal lOptions As Long) As Long ' Send an email with file attachments using smtp Declare Function SendSmtpMail Lib "CDIntf250" (ByVal szHostname As String, ByVal lPort As Long, ByVal szFrom As String, ByVal szTo As String, ByVal szCC As String, ByVal szBCC As String, ByVal szSubject As String, ByVal szMessage As String, ByVal szFilenames As String) As Long ' ********** Print Job Locking Functions ********** Declare Function VBLock Lib "CDIntf250" Alias "Lock" (ByVal hPrinter As Long, ByVal szLockName As String) As Long Declare Function VBUnlock Lib "CDIntf250" Alias "Unlock" (ByVal hPrinter As Long, ByVal szLockName As String, ByVal dwTimeout As Long) As Long Declare Function SetDocFileProps Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szDocTitle As String, ByVal lOptions As Long, ByVal szFileDir As String, ByVal szFileName As String) As Long ' ********** PDF File Processing ********** Declare Function ConcatenateFiles Lib "CDIntf250" (ByVal file1 As String, ByVal file2 As String, ByVal file3 As String) As Long Declare Function MergeFiles Lib "CDIntf250" (ByVal file1 As String, ByVal file2 As String, ByVal file3 As String, ByVal Options As Long) As Long ' encrypt PDF document Declare Function EncryptPDFDocument Lib "CDIntf250" (ByVal FileName As String, ByVal Owner As String, ByVal User As String, ByVal Permissions As Long) As Long ' linearize PDF document Declare Function LinearizePDFDocument Lib "CDIntf250" (ByVal FileName As String) As Long ' Print PDF document Declare Function PrintPDFDocument Lib "CDIntf250" (ByVal FileName As String, ByVal PrinterName As String, ByVal StartPage As Long, ByVal EndPage As Long, ByVal Copies As Long) As Long ' convert a PDF file to an RTF file Public Const RTFOPTION_ADVANCED = 0& ' use frames to position objects Public Const RTFOPTION_FULL = 1& ' Text, Graphics and images with no frames Public Const RTFOPTION_RTFTEXT = 2& ' Formatted Text only Public Const RTFOPTION_TEXT = 3& ' Simple text, non-formatted Public Const RTFOPTION_NOTABS = &H10000 ' replace tabs with spaces Declare Function PDF2RTF Lib "CDIntf250" (ByVal InputFile As String, ByVal Password As String, ByVal OutputFile As String, ByVal Options As Long, ByVal OptimizeLevel As Long) As Long ' convert a PDF file to an HTML file Public Const HTMLOPTION_LAYERS = 1& ' single HTML using layers Public Const HTMLOPTION_SINGLE_PAGE = 2& ' single HTML not using layers Public Const HTMLOPTION_MULTIPLE_PAGES = 3& ' multiple HTML documents Declare Function PDF2HTML Lib "CDIntf250" (ByVal InputFile As String, ByVal Password As String, ByVal OutputFile As String, ByVal Options As Long, ByVal OptimizeLevel As Long) As Long ' ********** General Functions ********** Declare Function SetBookmark Lib "CDIntf250" (ByVal hDC As Long, ByVal lParent As Long, ByVal szTitle As String) As Long Declare Function SetHyperLink Lib "CDIntf250" (ByVal hDC As Long, ByVal szURL As String) As Long Declare Function CaptureEvents Lib "CDIntf250" (ByVal hPrinter As Long, ByVal bCapture As Long) As Long ' error message associated with error code Declare Sub GetLastErrorMsg Lib "CDIntf250" (ByRef Msg As String, ByVal MaxMsg As Long) Declare Sub GetDocumentTitle Lib "CDIntf250" (ByRef Msg As String, ByVal MaxMsg As Long) ' set the destination window for notification messages Declare Function SendMessagesTo Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szWndClass As String) As Long ' convert several files in batch mode Declare Function BatchConvertEx Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szFileName As String) As Long Declare Function SetTargetPrinterName Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szTargetPrinterName As String) As Long Declare Function SetPageProcessor Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szPageProcDll As String) As Long ' ********** TCP/IP functions ********** Declare Function SetServerAddress Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szServerAddress As String) As Long Declare Function SetServerPort Lib "CDIntf250" (ByVal hPrinter As Long, ByVal lServerPort As Long) As Long Declare Function SetServerUsername Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szServerUsername As String) As Long ' ********** Reserved (Undocumented) ********** Declare Function GetCompression Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetCompression Lib "CDIntf250" (ByVal hPrinter As Long, ByVal bCompression As Long) As Long Declare Function KeepPreProcessed Lib "CDIntf250" (ByVal hPrinter As Long, ByVal fKeep As Long) As Long Declare Function GetDevmodeFlags Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function SetDevmodeFlags Lib "CDIntf250" (ByVal hPrinter As Long, ByVal dwFlags As Long) As Long Declare Function TestLock Lib "CDIntf250" (ByVal hPrinter As Long, ByVal szLockName As String) As Long Declare Function GLock Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function GUnlock Lib "CDIntf250" (ByVal hPrinter As Long) As Long Declare Function EMFDriverInit Lib "CDIntf250" (ByVal Printer As String) As LongDownload Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.