public PrintJobData RemoteData { get; }
The remote data wrapper class.
When printing a job from a remote machine, the data will be received in the server machine.
This property will return the data related to the current printed 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.
using Leadtools.Printer;using Leadtools;public void PrinterDriverNetworkExamples(){networkPrinter = new Printer("Test LEADTOOLS Printer");// Set network printing enablenetworkPrinter.EnableNetworkPrinting = true;//Check network printing statebool bNetworkEnabled = networkPrinter.EnableNetworkPrinting;string strData = "Network Printer Initial Data";//Set network initial dataSetNetworkData(strData);//Get network initial datastring 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 clientPrintJobData 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 datanetworkPrinter.SetNetworkInitialData(bytes);}public string GetNetworkData(){byte[] bytes;//Get initial network databytes = networkPrinter.GetNetworkInitialData();return Encoding.ASCII.GetString(bytes);}