コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
        }