LEADTOOLS For .NET Class Library Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.28
Printing Using LEADTOOLS Printer
ScanTutorials Take the following steps to create and run a program that print 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.Forms.DocumentWriters.dll
    • Leadtools.Codecs.dll
    • Leadtools.WinForms.CommonDialogs.File.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 Leadtools
                 Imports Leadtools.Printer
                 Imports Leadtools.Codecs
                 import Leadtools.Forms.DocumentWriters
                 Imports Leadtools.WinForms
                 
    
    [C#]
                 using Leadtools;
                 using Leadtools.Printer;
                 using Leadtools.Codecs;
                 using Leadtools.Forms.DocumentWriters;
                 using Leadtools.WinForms.CommonDialogs.File;
                 
    
  7. Declare the following private variable:

    [Visual Basic]

                 Private WithEvents _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.DriverName = printerName
                      printerInfo.ProductName = printerName
                      printerInfo.PrinterName = printerName
                      printerInfo.Password = printerPassword
                      printerInfo.RegistryKey = documentPrinterRegPath + printerName
                      printerInfo.RootDir = "<LEADTOOLS_INSTALLDIR>\Bin\Common\PrinterDriver\"
                      printerInfo.Url = "http://www.Leadtools.com"
                      printerInfo.PrinterExe = Application.ExecutablePath
                      Printer.Install(printerInfo)
                    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.DriverName = printerName;
                        printerInfo.ProductName = printerName;
                        printerInfo.PrinterName = printerName;
                        printerInfo.Password = printerPassword;
                        printerInfo.RegistryKey = documentPrinterRegPath + printerName;
                        printerInfo.RootDir = @"<LEADTOOLS_INSTALLDIR>\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 printerTest_EmfEvent(ByVal sender As Object, ByVal e As EmfEventArgs) Handles printerTest.EmfEvent
                   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][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.