public byte[] GetNetworkInitialData()
Initial raw data for this given printer.
The initial printer raw data will be set by the server application using SetNetworkInitialData method, the client application should use this function to get the initialization data.
The user should accept this data on the client side and process the data accordingly.
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);
}