protected void PrintData(string username, PrintTicket ticket, string printername, string jobname, byte[] data, Dictionary <string, string> pjljobattribs) { using (Ghostscript gs = new Ghostscript()) { string driver = ticket.OutputColor == OutputColor.Color ? "pxlcolor" : "pxlmono"; byte[] pcldata = gs.ProcessData(ticket, data, driver, null, null); PaginatedPrintData pcljob = ProcessPCL(pcldata, pjljobattribs, ticket); WindowsRawPrintJob job = new WindowsRawPrintJob { PagedData = pcljob, JobName = jobname, PrinterName = printername, UserName = username, RunAsUser = true }; job.Print(); } }
protected void Print(CloudPrintJob job, bool runAsUser, bool usePJL, Dictionary <string, string> pjljobattribs, Dictionary <string, string> pjlsettings) { PrintTicket ticket = job.GetPrintTicket(); PaginatedPrintData pagedjob = PostscriptHelper.FromPDF(job.GetPrintData(), ticket); if (usePJL) { pagedjob.Prologue = PJLHelper.GetPJL(pjljobattribs, pjlsettings, "POSTSCRIPT").Concat(pagedjob.Prologue).ToArray(); } WindowsRawPrintJob pj = new WindowsRawPrintJob { PagedData = pagedjob, JobName = job.JobTitle, PrinterName = job.Printer.Name, UserName = job.Username, PrintTicket = ticket, RunAsUser = runAsUser }; pj.Print(); }