The PrinterSpecifications Class is available as an add-on to the LEADTOOLS Document and Medical Imaging toolkits.
The
PrinterSpecifications class provides information about the print quality, paper size, paper orientation, and paper margins.
Object Model
Syntax
Visual Basic (Declaration) | |
---|
Public Class PrinterSpecifications |
C# | |
---|
public class PrinterSpecifications |
C++/CLI | |
---|
public ref class PrinterSpecifications |
Example
Visual Basic | Copy 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";
} |
Inheritance Hierarchy
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