public override void Print(CloudPrintJob job)
        {
            PrintTicket printTicket = job.GetPrintTicket();

            byte[] printData = job.GetPrintData();
            Print(job.Username, job.GetPrintData(), job.Printer.Name, job.JobTitle, job.GetPrintTicket());
        }
        public override void Print(CloudPrintJob job)
        {
            using (Ghostscript gs = new Ghostscript())
            {
                PrintTicket printTicket = job.GetPrintTicket();
                byte[] printData = job.GetPrintData();
                List<string> args = new List<string>();

                args.Add("-dAutoRotatePages=/None");

                if (printTicket.OutputColor != OutputColor.Color)
                {
                    args.Add("-sColorConversionStrategy=Gray");
                    args.Add("-dProcessColorModel=/DeviceGray");
                }

                byte[] printdata = gs.ProcessData(printTicket, printData, "pdfwrite", args.ToArray(), null);

                WindowsRawPrintJob pj = new WindowsRawPrintJob
                {
                    JobName = job.JobTitle,
                    UserName = job.Username,
                    PrinterName = job.Printer.Name,
                    PrintData = printdata,
                    RunAsUser = true
                };

                pj.Print();
            }
        }
Пример #3
0
        public override void Print(CloudPrintJob job)
        {
            using (Ghostscript gs = new Ghostscript())
            {
                PrintTicket   printTicket = job.GetPrintTicket();
                byte[]        printData   = job.GetPrintData();
                List <string> args        = new List <string>();

                args.Add("-dAutoRotatePages=/None");

                if (printTicket.OutputColor != OutputColor.Color)
                {
                    args.Add("-sColorConversionStrategy=Gray");
                    args.Add("-dProcessColorModel=/DeviceGray");
                }

                byte[] printdata = gs.ProcessData(printTicket, printData, "pdfwrite", args.ToArray(), null);

                WindowsRawPrintJob pj = new WindowsRawPrintJob
                {
                    JobName     = job.JobTitle,
                    UserName    = job.Username,
                    PrinterName = job.Printer.Name,
                    PrintData   = printdata,
                    RunAsUser   = true
                };

                pj.Print();
            }
        }
 public override void Print(CloudPrintJob job)
 {
     PrintTicket printTicket = job.GetPrintTicket();
     byte[] printData = job.GetPrintData();
     string printerDriver = Config.GhostscriptPrinterDrivers[job.Printer.Name];
     PrintData(job.Username, printTicket, job.Printer.Name, job.JobTitle, printData, printerDriver);
 }
Пример #5
0
        public override void Print(CloudPrintJob job)
        {
            PrintTicket printTicket = job.GetPrintTicket();

            byte[] printData     = job.GetPrintData();
            string printerDriver = Config.GhostscriptPrinterDrivers[job.Printer.Name];

            PrintData(job.Username, printTicket, job.Printer.Name, job.JobTitle, printData, printerDriver);
        }
        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();
        }
        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();
        }
 public override void Print(CloudPrintJob job)
 {
     PrintTicket printTicket = job.GetPrintTicket();
     byte[] printData = job.GetPrintData();
     PrintData(job.Username, printTicket, job.Printer.Name, job.JobTitle, printData, null);
 }