/** * 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 = ":)" });; }