public string ClientMachineName { get; }
A System.String that represents the name of the client machine that printed the job.
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);
}