←Select platform

RemoteData Property

Summary

Gets the remote data related to the current printed job.

Syntax

C#
VB
C++
public PrintJobData RemoteData { get; } 
  
Public ReadOnly Property RemoteData As Leadtools.Printer.PrintJobData 
public: 
property Leadtools.Printer.PrintJobData^ RemoteData { 
   Leadtools.Printer.PrintJobData^ get(); 
} 

Property Value

The remote data wrapper class.

Remarks

When printing a job from a remote machine, the data will be recieved in the server machine.

This property will return the data related to the current printe job.

This parameter will be available between JobStart and JobEnd for a given job.

This data has been sent from the client machine in the Leadtools.Printer.Client.IVirtualPrinterClient.PrintJob(leadtools.printer.client.printjobdata) method.

Example

C#
VB
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 recieved", 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 
   ''' <!--Leadtools.Printer.Printer.GetPrinterInfo--> 
      If Printer.IsLeadtoolsPrinter(printerName) Then 
   ''' <!--Leadtools.Printer.Printer.GetPrinterInfo--> 
   ''' <!--Leadtools.Printer.Printer.Install--> 
         If (Printer.IsLeadtoolsPrinter(printerName)) Then 
         printerInfo.Url = "http://www.LeadtoolsPrinterDriver.com" 
   ''' <!--Leadtools.Printer.Printer.Install--> 
   ''' <!--Leadtools.Printer.Printer.Specifications--> 
         If (Printer.IsLeadtoolsPrinter(printerName)) Then 
         printerInfo.Url = "http://www.LeadtoolsPrinterDriver.com" 
   ''' <!--Leadtools.Printer.Printer.Specifications--> 
   ''' <!--Leadtools.Printer.Printer.RemoteData--> 
   ''' <!--Leadtools.Printer.Printer.RemoteData--> 
   ''' <!--Leadtools.Printer.Printer.EnableInternetPrinting--> 
   ''' <!--Leadtools.Printer.Printer.EnableInternetPrinting--> 
 
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 recieved", 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 

Requirements

Target Platforms

See Also

Reference

Printer Class

Printer Members

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Printer Assembly