LEAD Technologies, Inc

How to Use The LEADTOOLS Virtual Printer Driver

Take the following steps to create and run a program that prints using LEADTOOLS printer.
  1. Start Visual Studio .NET.
  2. Choose File->New->Project... from the menu.
  3. In the New Project dialog box, choose either "Visual C# Projects" or "Visual Basic Projects" in the Projects Type List, and choose "Windows Application " in the Templates List.
  4. Type the project name as "PRINTER DRIVER" in the Project Name field, and then choose OK. If desired, type a new location for your project or select a directory using the Browse button, and then choose OK.
  5. In the "Solution Explorer" window, right-click on the "References" folder, and select "Add Reference..." from the context menu. In the "Add Reference" dialog box, select the ".NET" tab and browse to Leadtools For .NET "<LEADTOOLS_INSTALLDIR>\Bin\DotNet\Win32 " folder and select the following DLLs:
    • Leadtools.dll
    • Leadtools.Printer.dll
  6. Switch to Form1 code view (right-click Form1 in the solution explorer then select View Code ) and add the following lines at the beginning of the file:

    [Visual Basic]
                 Imports System.Drawing.Imaging
                 Imports Leadtools
                 Imports Leadtools.Printer
                 
                
    
    [C#]
                 using System.Drawing.Imaging;
                 using Leadtools;
                 using Leadtools.Printer;
                                                
                
    
  7. Declare the following private variable:

    [Visual Basic]
                 Private _printer as Printer
                 
                
    
    [C#]
                 Printer _printer;
                 
                
    
  8. Add an event handler to the Form1 Load event and code it as follows:

    [Visual Basic]
                 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                    Try
                      Dim printerName as string="LEADTOOLS Printer"
                      Dim printerPassword as string="1234"
                      Dim documentPrinterRegPath As String = "SOFTWARE\\LEAD Technologies, Inc.\\Printer\\"
                      Dim printerInfo As New PrinterInfo()
                      printerInfo.MonitorName = printerName
                      printerInfo.PortName = printerName
                      printerInfo.DriverName = printerName
                      printerInfo.ProductName = printerName
                      printerInfo.PrinterName = printerName
                      printerInfo.Password = printerPassword
                      printerInfo.RegistryKey = documentPrinterRegPath + printerName
                      printerInfo.RootDir = "C:\LEADTOOLS 17.5\Bin\Common\PrinterDriver\"
                      printerInfo.Url = "http://www.Leadtools.com"
                      printerInfo.PrinterExe = Application.ExecutablePath
                      Printer.Install(printerInfo)
                      _printer = New Printer(printerName)
                      AddHandler _printer.EmfEvent, AddressOf _printer_EmfEvent
                      AddHandler _printer.JobEvent, AddressOf _printer_JobEvent
                    Catch ex As Exception
                       MessageBox.Show(ex.Message)
                    End Try
                 End Sub
                 
                
    
    [C#]
                 private void Form1_Load(object sender, System.EventArgs e)
                 {
                    try
                    {
                        string printerName="LEADTOOLS Printer";
                        string printerPassword="1234";
                        string documentPrinterRegPath = @"SOFTWARE\LEAD Technologies, Inc.\Printer\";
                        PrinterInfo printerInfo = new PrinterInfo();
                        printerInfo.MonitorName = printerName;
                        printerInfo.PortName = printerName;
                        printerInfo.DriverName = printerName;
                        printerInfo.ProductName = printerName;
                        printerInfo.PrinterName = printerName;
                        printerInfo.Password = printerPassword;
                        printerInfo.RegistryKey = documentPrinterRegPath + printerName;
                        printerInfo.RootDir = @"C:\LEADTOOLS 17.5\Bin\Common\PrinterDriver\";
                        printerInfo.Url = "http://www.Leadtools.com";
                        printerInfo.PrinterExe = Application.ExecutablePath;
                        Printer.Install(printerInfo);
                        _printer=new Printer(printerName);
                        _printer.EmfEvent += new EventHandler<EmfEventArgs>(_printer_EmfEvent);
                        _printer.JobEvent += new EventHandler<JobEventArgs>(_printer_JobEvent);
                    }
                    catch (Exception ex)
                    {
                       MessageBox.Show(this, ex.Message);
                    }
                 }
                 
                
    
  9. Add an event handler to the Emf event and code it as follows:

    [Visual Basic]
                   Private Sub _printer_EmfEvent(ByVal sender As Object, ByVal e As EmfEventArgs)
                      System.IO.File.WriteAllBytes("c:\LEADTOOLS_IMAGE1.emf", e.Stream.ToArray())
                      Dim metaFile As New Metafile(e.Stream)
                   End Sub
                 
                
    
    [C#]
                 void _printer_EmfEvent(object sender, EmfEventArgs e)
                 {
                   System.IO.File.WriteAllBytes(@"c:\1.emf", e.Stream.ToArray());
                   Metafile metaFile = new Metafile(e.Stream);
                 }
                 
                
    
  10. Add an event handler to the job info event and code it as follows:

    [Visual Basic]
                   Private Sub _printer_JobEvent(ByVal sender As Object, ByVal e As JobEventArgs)
                      Dim printerName As String = e.PrinterName
                      Dim jobID As Integer = e.JobID
                      If e.JobEventState = EventState.JobStart Then
                         MessageBox.Show(String.Format("Job {0} was started", jobID))
                      ElseIf e.JobEventState = EventState.JobEnd Then
                         MessageBox.Show(String.Format("Job {0} was Ended", jobID))
                      End If
                   End Sub
                 
                
    
    [C#]
                   void _printer_JobEvent(object sender, JobEventArgs e)
                   {
                      string printerName = e.PrinterName;
                      int jobID = e.JobID;
                     
                      if (e.JobEventState == EventState.JobStart)
                      {
                         MessageBox.Show(string.Format("Job {0} was started",jobID));
                      }
                      else if (e.JobEventState == EventState.JobEnd)
                      {
                         MessageBox.Show(string.Format("Job {0} was Ended",jobID));
                      }
                   }
                 
                
    
  11. Build, and Run the program to test it.

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.