RemoteData Property
Summary
Gets the remote data related to the current printed job.
Syntax
Property Value
The remote data wrapper class.
Example
using Leadtools.Printer;
using Leadtools;
public void PrinterDriverNetworkExamples()
{
networkPrinter = new Printer("Test LEADTOOLS Printer");
// Set network printing enable
networkPrinter.EnableNetworkPrinting = true;
//Check network printing state
bool bNetworkEnabled = networkPrinter.EnableNetworkPrinting;
string strData = "Network Printer Initial Data";
//Set network initial data
SetNetworkData(strData);
//Get network initial data
string strRet = GetNetworkData();
if (strRet != strData)
return;
networkPrinter.JobEvent += new EventHandler<JobEventArgs>(printer_NetworkJobEvent);
}
void printer_NetworkJobEvent(object sender, JobEventArgs e)
{
string printerName = e.PrinterName;
int jobID = e.JobID;
if (e.JobEventState == EventState.JobStart)
{
//get the remote data sent from client
PrintJobData jobData = networkPrinter.RemoteData;
MessageBox.Show(string.Format("Job {0} was started with printer {1} from remote client", jobData.PrintJobName, jobData.VirtualPrinterName));
}
else if (e.JobEventState == EventState.JobEnd)
{
string[] arrFonts = networkPrinter.GetEmbeddedFonts("C:\\path to save file", e.JobID);
if (arrFonts != null && arrFonts.Length > 0)
{
MessageBox.Show(string.Format("{0} fonts received", arrFonts.Length));
}
MessageBox.Show(string.Format("Job {0} was ended with printer {1}", jobID, printerName));
}
else
{
networkPrinter.CancelPrintedJob(jobID);
}
}
Printer networkPrinter;
public void SetNetworkData(string strData)
{
byte[] bytes = Encoding.ASCII.GetBytes(strData);
//Set initial network data
networkPrinter.SetNetworkInitialData(bytes);
}
public string GetNetworkData()
{
byte[] bytes;
//Get initial network data
bytes = networkPrinter.GetNetworkInitialData();
return Encoding.ASCII.GetString(bytes);
}
Imports Leadtools.Support.Examples
Imports Leadtools.Printer
Imports Leadtools
Private Sub printer_NetworkJobEvent(ByVal sender As Object, ByVal e As JobEventArgs) Handles networkPrinter.JobEvent
Dim printerName As String = e.PrinterName
Dim jobID As Integer = e.JobID
If e.JobEventState = EventState.JobStart Then
'get the remote data sent from client
Dim jobData As PrintJobData = networkPrinter.RemoteData
MessageBox.Show(String.Format("Job {0} was started with printer {1} from remote client", jobData.PrintJobName, jobData.VirtualPrinterName))
ElseIf e.JobEventState = EventState.JobEnd Then
Dim arrFonts As String() = networkPrinter.GetEmbeddedFonts("C:\path to save file", e.JobID)
If Not arrFonts Is Nothing AndAlso arrFonts.Length > 0 Then
MessageBox.Show(String.Format("{0} fonts received", arrFonts.Length))
End If
MessageBox.Show(String.Format("Job {0} was ended with printer {1}", jobID, printerName))
Else
networkPrinter.CancelPrintedJob(jobID)
End If
End Sub
Private WithEvents networkPrinter As Printer
Public Sub SetNetworkData(ByVal strData As String)
Dim bytes As Byte() = Encoding.ASCII.GetBytes(strData)
'Set initial network data
networkPrinter.SetNetworkInitialData(bytes)
End Sub
Public Function GetNetworkData() As String
Dim bytes As Byte()
'Get initial network data
bytes = networkPrinter.GetNetworkInitialData()
Return Encoding.ASCII.GetString(bytes)
End Function
Public Sub PrinterDriverNetworkExamples()
networkPrinter = New Printer("Test LEADTOOLS Printer")
' Set network printing enable
networkPrinter.EnableNetworkPrinting = True
'Check network printing state
Dim bNetworkEnabled As Boolean = networkPrinter.EnableNetworkPrinting
Dim strData As String = "Network Printer Initial Data"
'Set network initial data
SetNetworkData(strData)
'Get network initial data
Dim strRet As String = GetNetworkData()
If strRet <> strData Then
Return
End If
End Sub