示例#1
0
        public void PrintPdf()
        {
            var settings = new DevExpress.Pdf.PdfPrinterSettings();

            pdfViewer1.DocumentFilePath = System.Windows.Forms.Application.StartupPath + "\\Temp\\tmp.pdf";
            settings.PageOrientation    = DevExpress.Pdf.PdfPrintPageOrientation.Landscape;
            pdfViewer1.Print(settings);
        }
示例#2
0
        public Error Print(int pageHeight)
        {
            Error response = new Error();

            if (!File.Exists(FilePath))
            {
                response.HasError = true;
                response.Message  = "Error: El archivo << " + FilePath + " >> no se encuentra.";
            }


            if (!PrinterExists(PrinterName))
            {
                response.HasError = true;
                response.Message  = "La impresora << " + PrinterName + " >> no está conectada.";
            }

            var printerStatus = CheckPrinterStatus(PrinterName);

            if (printerStatus.HasError)
            {
                return(printerStatus);
            }

            try
            {
                using (var pdfViewer = new DevExpress.XtraPdfViewer.PdfViewer())
                {
                    pdfViewer.LoadDocument(FilePath);

                    PrinterSettings setings = new PrinterSettings();
                    setings.PrinterName = @PrinterName;

                    DevExpress.Pdf.PdfPrinterSettings sett = new DevExpress.Pdf.PdfPrinterSettings(setings);

                    sett.ScaleMode = DevExpress.Pdf.PdfPrintScaleMode.Fit;
                    // sett.PageOrientation = DevExpress.Pdf.PdfPrintPageOrientation.Portrait;
                    sett.Settings.DefaultPageSettings.Margins.Left   = 0;
                    sett.Settings.DefaultPageSettings.Margins.Right  = 0;
                    sett.Settings.DefaultPageSettings.Margins.Bottom = 0;
                    sett.Settings.DefaultPageSettings.Margins.Top    = 0;
                    //sett.Settings.PrintToFile = true;

                    pdfViewer.ShowPrintStatusDialog = true;
                    pdfViewer.Print(sett);
                    pdfViewer.CloseDocument();

                    response.HasError = false;
                }
            }catch (Exception e) {
                response.HasError = true;
                response.Message  = "[PrinterService] " + e.Message;
            }

            return(response);
        }
示例#3
0
        public void PrintPdf()
        {
            var pdfViewer = new DevExpress.XtraPdfViewer.PdfViewer();
            var settings  = new DevExpress.Pdf.PdfPrinterSettings();

            pdfViewer.DocumentFilePath = Application.StartupPath + "\\Temp\\tmp.pdf";
            settings.PageOrientation   = DevExpress.Pdf.PdfPrintPageOrientation.Landscape;
            pdfViewer.Print(settings);
            pdfViewer.CloseDocument();
        }
示例#4
0
        public ShippingModel GenerateInvoice(ShippingModel shipping, EFacturaKioscoDetalle detalle)
        {
            ///////////////////////////////////

            /*
             * Cuando es mensajería  No se imprimen rótulos Siempre debe llevar la bolsa
             * Cuando es contado en origen Se imprime Factura, para el usuario
             * Remesa (la remesa hay que indicarle al usuario que la meta en la bolsa)
             *
             * Cuando es contado en destino (flete contra entrega)
             * Se imprime 2 remesas , una para el usuario y la otra hay que indicarle que lo meta en la bolsa
             */

            PrinterSettings setings = new PrinterSettings();

            setings.PrinterName = "KioskoPrinterBill";

            DevExpress.Pdf.PdfPrinterSettings sett = new DevExpress.Pdf.PdfPrinterSettings(setings);

            sett.ScaleMode       = DevExpress.Pdf.PdfPrintScaleMode.Fit;
            sett.PageOrientation = DevExpress.Pdf.PdfPrintPageOrientation.Portrait;
            sett.Settings.DefaultPageSettings.Margins.Left   = 0;
            sett.Settings.DefaultPageSettings.Margins.Right  = 0;
            sett.Settings.DefaultPageSettings.Margins.Bottom = 0;
            sett.Settings.DefaultPageSettings.Margins.Top    = 0;
            PageSettings sets = sett.Settings.DefaultPageSettings;

            XtraReport   xtrareport;
            FacturaModel fact;



            xtrareport = new Factura();


            fact = new FacturaModel
            {
                NIT         = "830.051.440-7",
                RazonSocial = "Exxe Logistica S.a.s",
                Model       = shipping,
                BluDetail   = detalle,
                Fecha       = DateTime.Now.ToString("yyyy-MM-dd"),
                Res         = new ResolucionDian()
                {
                    Resolucion = 18762014168428,
                }
            };
            ///MENSAJERIA



            List <FacturaModel> ord = new List <FacturaModel>();

            ord.Add(fact);
            PdfExportOptions opts = new PdfExportOptions();



            try
            {
                /// SE DESCARGA LA GUIA:
                ///
                string path2 = @"C:\Kiosko\temp\guide\";



                if (SaveBase64PdfToLocal(path2, shipping.guide.Code, shipping.guide.PdfGuide))
                {
                    //imprimir guia;

                    using (var pdfViewer = new DevExpress.XtraPdfViewer.PdfViewer())
                    {
                        PrinterSettings settingGuide = new PrinterSettings();
                        settingGuide.PrinterName = "KioskoPrinterBill";

                        DevExpress.Pdf.PdfPrinterSettings settguide = new DevExpress.Pdf.PdfPrinterSettings(settingGuide);

                        pdfViewer.LoadDocument(path2 + shipping.guide.Code + ".pdf");
                        PageSettings setsGG = settguide.Settings.DefaultPageSettings;

                        PaperSize paperSize = new PaperSize("Print", (int)(800 / 2.94), (int)(800 / 2.94));
                        paperSize.RawKind = (int)PaperKind.Custom;

                        setsGG.PaperSize                = paperSize;
                        setsGG.Margins.Left             = 0;
                        setsGG.Margins.Right            = 0;
                        setsGG.Margins.Top              = 0;
                        setsGG.Margins.Bottom           = 0;
                        pdfViewer.ShowPrintStatusDialog = false;
                        pdfViewer.Print(settguide);
                        pdfViewer.CloseDocument();
                    }
                }

                ///SE IMPRIME FACTURA Y ROTULO;
                xtrareport.DataSource            = ord;
                xtrareport.PrinterName           = "KioskoPrinterBill";
                xtrareport.ShowPrintStatusDialog = false;
                xtrareport.PaperKind             = System.Drawing.Printing.PaperKind.Custom;
                xtrareport.CreateDocument(false);

                using (var pdfViewer = new DevExpress.XtraPdfViewer.PdfViewer())
                {
                    string path = @"C:\Kiosko\temp\invoice\" + shipping.guide.Code + ".pdf";
                    xtrareport.ExportToPdf(path);
                    pdfViewer.LoadDocument(path);
                    PaperSize paperSize = new PaperSize("Print", (int)(800 / 2.94), (int)(xtrareport.PageHeight / 2.94));
                    paperSize.RawKind = (int)PaperKind.Custom;
                    sets.PaperSize    = paperSize;
                    pdfViewer.ShowPrintStatusDialog = false;
                    pdfViewer.Print(sett);
                    pdfViewer.CloseDocument();
                }
            }
            catch (Exception E)
            {
                shipping.error.HasError = true;
                shipping.error.Message  = "[SavePDF]" + E.Message;
                return(shipping);
            }



            return(shipping);
        }
示例#5
0
        /**
         * Prints pdf guide Models.CustomerServiceModel.Guide
         *
         */
        public Error PrintGuide(Models.ShippingModel.Guide guide)
        {
            /**
             * Some customers returns the GUIDE (pdf) in URL format.
             * The idea is to keep all as base64
             * */

            log.Debug("test");

            if (string.IsNullOrEmpty(guide.PdfGuide))
            {
                guide.PdfGuide = Helpers.Utilities.UrlPdfToBase64(guide.Url);
            }

            string fileGuide = Properties.Settings.Default.GUIDE_PATH + guide.Code + ".pdf";

            //attempt to save guide locally
            if (!File.Exists(fileGuide))
            {
                if (!Helpers.Utilities.SaveBase64PdfToLocal(Properties.Settings.Default.GUIDE_PATH, guide.Code, guide.PdfGuide))
                {
                    return(new Error()
                    {
                        HasError = true,
                        Message = "Error on SaveBase64PdfToLocal"
                    });
                }
            }


            try
            {
                PrinterSettings setings = new PrinterSettings();
                setings.PrinterName = "KioskoPrinterGuide";

                DevExpress.Pdf.PdfPrinterSettings sett = new DevExpress.Pdf.PdfPrinterSettings(setings);

                sett.ScaleMode = DevExpress.Pdf.PdfPrintScaleMode.ActualSize;
                ////sett.PageOrientation = DevExpress.Pdf.PdfPrintPageOrientation.Landscape;
                sett.Settings.DefaultPageSettings.Margins.Left   = 20;
                sett.Settings.DefaultPageSettings.Margins.Right  = 0;
                sett.Settings.DefaultPageSettings.Margins.Bottom = 80;
                sett.Settings.DefaultPageSettings.Margins.Top    = 0;
                PageSettings sets = sett.Settings.DefaultPageSettings;
                sets.Margins.Top  = 0;
                sets.Margins.Left = 0;

                using (var pdfViewer = new DevExpress.XtraPdfViewer.PdfViewer())
                {
                    string path = @Properties.Settings.Default.GUIDE_PATH + guide.Code + ".pdf";

                    pdfViewer.LoadDocument(path);
                    PaperSize paperSize = new PaperSize("Print", (int)(900 / 2.94), (int)(1800 / 2.94));
                    paperSize.RawKind = (int)PaperKind.Custom;
                    sets.PaperSize    = paperSize;
                    pdfViewer.ShowPrintStatusDialog = false;
                    if (!_printerService.CheckPrinterStatus(setings.PrinterName).HasError)
                    {
                        _printerService.CheckPrinterStatus(setings.PrinterName);
                        pdfViewer.Print(sett);
                        pdfViewer.CloseDocument();
                    }
                    else
                    {
                        return(new Error()
                        {
                            HasError = true,
                            Message = _printerService.CheckPrinterStatus(setings.PrinterName).Message
                        });
                    }
                }
            }catch (Exception E)
            {
                return(new Error()
                {
                    HasError = true,
                    Message = E.Message
                });
            }
            //_printerService.SetPrinterName("KioskoPrinterGuide");
            //_printerService.SetFileName(Properties.Settings.Default.GUIDE_PATH + guide.Code + ".pdf");
            //var printResponse = _printerService.Print(150);


            return(new Error()
            {
                HasError = false,
                Message = ":)"
            });;
        }