LEADTOOLS Virtual Printer (Leadtools.Printer assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
Specifications Property
See Also 
Leadtools.Printer Namespace > Printer Class : Specifications Property



The Specifications Property is available as an add-on to the LEADTOOLS Document and Medical Imaging toolkits.

Gets or sets the printer specifications.

Syntax

Visual Basic (Declaration) 
Public Property Specifications As PrinterSpecifications
Visual Basic (Usage)Copy Code
Dim instance As Printer
Dim value As PrinterSpecifications
 
instance.Specifications = value
 
value = instance.Specifications
C# 
public PrinterSpecifications Specifications {get; set;}
C++/CLI 
public:
property PrinterSpecifications^ Specifications {
   PrinterSpecifications^ get();
   void set (    PrinterSpecifications^ value);
}

Property Value

The printer specifications.

Example

Visual BasicCopy Code
Public Sub InstallPrinter()
   Try
      Dim printerName As String = "Test LEADTOOLS Printer"
      Dim printerPassword As String = "Test Password"
      If (Printer.IsLeadtoolsPrinter(printerName)) Then
         Dim tmpPrinterInfo As New PrinterInfo()
         tmpPrinterInfo.PrinterName = printerName
         tmpPrinterInfo.DriverName = printerName
         Printer.UnInstall(tmpPrinterInfo)
      End If

      Dim documentPrinterRegPath As String = "SOFTWARE\\LEAD Technologies, Inc.\\17\\Printer\\"
      Dim printerInfo As New PrinterInfo()
      printerInfo.DriverName = printerName
      printerInfo.ProductName = printerName
      printerInfo.PrinterName = printerName
      printerInfo.Password = printerPassword
      printerInfo.RegistryKey = documentPrinterRegPath + printerName
      printerInfo.RootDir = "C:\\Program Files\\LEAD Technologies\\LEADTOOLS 17\\Bin\\Common\\PrinterDriver"
      printerInfo.Url = "http://www.LeadtoolsPrinterDriver.com"
      printerInfo.PrinterExe = Application.ExecutablePath
      printerInfo.AboutString = "LEADTOOLS Printer"
      printerInfo.AboutIcon = Path.Combine(LEAD_VARS.ImagesDir, "\\RasterPro.ico")

      Printer.Install(printerInfo)

      Dim strMsg As String = String.Format("Installion {0} Completed Successfully", printerName)
      MessageBox.Show(strMsg, "LEADTOOLS Printer Demo", MessageBoxButtons.OK, MessageBoxIcon.Information)
   Catch ex As PrinterDriverException
      MessageBox.Show(String.Format("Other error: Message:{0}", ex.Message))
   End Try
End Sub

Private Sub printerTest_EmfEvent(ByVal sender As Object, ByVal e As EmfEventArgs) Handles printerTest.EmfEvent
   System.IO.File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "LEADTOOLS_IMAGE1.emf"), e.Stream.ToArray())
   Dim metaFile As New Metafile(e.Stream)

   Dim emfImage As Image = metaFile.GetThumbnailImage(metaFile.Width, metaFile.Height, Nothing, IntPtr.Zero)
   emfImage.Save(Path.Combine(LEAD_VARS.ImagesDir, "LEADTOOLS_IMAGE2.emf"))
End Sub

Private Sub printerTest_JobEvent(ByVal sender As Object, ByVal e As JobEventArgs) Handles printerTest.JobEvent
   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 with printer {1}", jobID, printerName))
   ElseIf (e.JobEventState = EventState.JobEnd) Then
      MessageBox.Show(String.Format("Job {0} was ended with printer {1}", jobID, printerName))
   Else
      printerTest.CancelPrintedJob(jobID)
   End If
End Sub

Dim WithEvents printerTest As Printer

Public Sub PrinterDriverExamples()
   '' Unlock Printer Driver support
   '' Note that this is a sample key, which will not work in your toolkit
   RasterSupport.Unlock(RasterSupportType.PrintDriver, "TestKey")

   printerTest = New Printer("Test LEADTOOLS Printer")
   InstallPrinter()

   If (printerTest.IsPrinterLocked()) Then
      printerTest.UnLock("Test Password")
   Else
      printerTest.Lock("Test Password")
   End If

   Dim iPAPER_USER As Integer = 256
   Dim myPrinterSpecifications As New PrinterSpecifications()
   myPrinterSpecifications.PaperID = iPAPER_USER + 200
   myPrinterSpecifications.PaperSizeName = "Custom Paper Name"
   myPrinterSpecifications.PaperHeight = 11
   myPrinterSpecifications.PaperWidth = 8
   myPrinterSpecifications.DimensionsInInches = True
   myPrinterSpecifications.PortraitOrient = True
   myPrinterSpecifications.MarginsPrinter = "Margins Printer Name"
   myPrinterSpecifications.PrintQuality = 300
   myPrinterSpecifications.YResolution = 300

   printerTest.Specifications = myPrinterSpecifications
End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void InstallPrinter()
   {
      try
      {
         string printerName = "Test LEADTOOLS Printer";
         string printerPassword = "Test Password";
         if (Printer.IsLeadtoolsPrinter(printerName))
         {
            PrinterInfo tmpPrinterInfo = new PrinterInfo();
            tmpPrinterInfo.PrinterName = printerName;
            tmpPrinterInfo.DriverName = printerName;
            Printer.UnInstall(tmpPrinterInfo);
         }

         string documentPrinterRegPath = "SOFTWARE\\LEAD Technologies, Inc.\\17\\Printer\\";
         PrinterInfo printerInfo = new PrinterInfo();
         printerInfo.DriverName = printerName;
         printerInfo.ProductName = printerName;
         printerInfo.PrinterName = printerName;
         printerInfo.Password = printerPassword;
         printerInfo.RegistryKey = documentPrinterRegPath + printerName;
         printerInfo.RootDir = @"C:\Program Files\LEAD Technologies\LEADTOOLS 17\Bin\Common\PrinterDriver";
         printerInfo.Url = "http://www.Leadtools.com";
         printerInfo.PrinterExe = Application.ExecutablePath;
         printerInfo.AboutString = "LEADTOOLS Printer";
         printerInfo.AboutIcon = @"C:\RasterPro.ico";

         Printer.Install(printerInfo);

         string strMsg = string.Format("Installion {0} Completed Successfully", printerName);
         MessageBox.Show(strMsg, "LEADTOOLS Printer Demo", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
      catch (PrinterDriverException ex)
      {
         MessageBox.Show(string.Format("Other error: Message:{0}", ex.Message));
      }
   }

   void printer_EmfEvent(object sender, EmfEventArgs e)
   {
      System.IO.File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir,@"LEADTOOLS_IMAGE1.emf"), e.Stream.ToArray());
      Metafile metaFile = new Metafile(e.Stream);

      Image emfImage = metaFile.GetThumbnailImage(metaFile.Width, metaFile.Height, null, IntPtr.Zero);
      emfImage.Save(Path.Combine(LEAD_VARS.ImagesDir,@"LEADTOOLS_IMAGE2.emf"));
   }

   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 with printer {1}", jobID, printerName));
      }
      else if (e.JobEventState == EventState.JobEnd)
      {
         MessageBox.Show(string.Format("Job {0} was ended with printer {1}", jobID, printerName));
      }
      else
      {
         printer.CancelPrintedJob(jobID);
      }
   }

   Printer printer;

   public void PrinterDriverExamples()
   {
      /* Unlock Printer Driver support.
         Note that this is a sample key, which will not work in your toolkit. */
      RasterSupport.Unlock(RasterSupportType.PrintDriver, "TestKey");

      InstallPrinter();

      printer = new Printer("Test LEADTOOLS Printer");

      if (printer.IsPrinterLocked())
      {
         printer.UnLock("Test Password");
      }
      else
      {
         printer.Lock("Test Password");
      }

      int iPAPER_USER = 256;
      PrinterSpecifications myPrinterSpecifications = new PrinterSpecifications();
      myPrinterSpecifications.PaperID = iPAPER_USER + 200;
      myPrinterSpecifications.PaperSizeName = "Custom Paper Name";
      myPrinterSpecifications.PaperHeight = 11;
      myPrinterSpecifications.PaperWidth = 8;
      myPrinterSpecifications.DimensionsInInches = true;
      myPrinterSpecifications.PortraitOrient = true;
      myPrinterSpecifications.MarginsPrinter = "Margins Printer Name";
      myPrinterSpecifications.PrintQuality = 300;
      myPrinterSpecifications.YResolution = 300;

      printer.Specifications = myPrinterSpecifications;

      printer.EmfEvent += new EventHandler<EmfEventArgs>(printer_EmfEvent);
      printer.JobEvent += new EventHandler<JobEventArgs>(printer_JobEvent);
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Printer requires a Printer module license and unlock key. It is included as part of LEADTOOLS Document Imaging Enterprise. For more information, refer to: Imaging Pro/Document/Medical Features