private void readPageSetting(DIYReport.ReportModel.RptReport dataReport, DevExpress.XtraPrinting.Link printLink) { string sessionName = getSessionName(dataReport); System.Drawing.Printing.Margins margins = printLink.Margins; margins.Left = int.Parse(IniFile.ReadString(sessionName, "LeftMargin", margins.Left.ToString(), DIY_REPORT_CFG_FILE)); margins.Top = int.Parse(IniFile.ReadString(sessionName, "TopMargin", margins.Top.ToString(), DIY_REPORT_CFG_FILE)); margins.Right = int.Parse(IniFile.ReadString(sessionName, "RightMargin", margins.Right.ToString(), DIY_REPORT_CFG_FILE)); margins.Bottom = int.Parse(IniFile.ReadString(sessionName, "BottomMargin", margins.Bottom.ToString(), DIY_REPORT_CFG_FILE)); }
/// <summary> /// 文档预览... /// </summary> public void PrintPreview(DIYReport.ReportModel.RptReport dataReport) { string sessionName = getSessionName(dataReport);; SetPrintPageInfo(dataReport); string pagerName = IniFile.ReadString(sessionName, "PaperName", printingSystem.PageSettings.PaperName, DIY_REPORT_CFG_FILE); if (pagerName == null || pagerName.Length == 0) { pagerName = printingSystem.PageSettings.PaperName; } DevExpress.XtraPrinting.Link link = CreateLinkDoc(pagerName, dataReport); readPageSetting(dataReport, link); try{ //System.Windows.Forms.MessageBox.Show("当前PageName" + pagerName); string kindName = IniFile.ReadString(sessionName, "PaperKind", printingSystem.PageSettings.PaperKind.ToString(), DIY_REPORT_CFG_FILE); System.Drawing.Printing.PaperKind pKind = (System.Drawing.Printing.PaperKind)Enum.Parse(typeof(System.Drawing.Printing.PaperKind), kindName, true); link.PrintingSystem.PageSettings.PaperKind = pKind; } catch {} link.Landscape = printingSystem.PageSettings.Landscape; link.PaperKind = link.PrintingSystem.PageSettings.PaperKind; //link.PrintingSystem.PageSettings.PaperName = pagerName; link.ShowPreviewDialog(); // link.ShowRibbonPreview(DevExpress.LookAndFeel.UserLookAndFeel.Default); savePageSetting(dataReport, link.Margins, link.PrintingSystem.PageSettings.PaperName, link.PaperKind.ToString()); //System.Windows.Forms.MessageBox.Show(printingSystem.PageSettings.LeftMargin.ToString()); // if(_DrawObj!=null) // _DrawObj.Dispose(); //也可以用下面的方法来实现。 // DevExpress.XtraPrinting.Preview.PrintPreviewForm frm = new DevExpress.XtraPrinting.Preview.PrintPreviewForm(); // frm.PrintingSystem = this.PrintingSystem; // // link.CreateDocument(); // frm.ShowDialog(); }
/// <summary> /// 打印.. /// </summary> public void Print(DIYReport.ReportModel.RptReport dataReport) { string sessionName = getSessionName(dataReport);; SetPrintPageInfo(dataReport); string pagerName = IniFile.ReadString(sessionName, "PaperName", printingSystem.PageSettings.PaperName, DIY_REPORT_CFG_FILE); if (pagerName == null || pagerName.Length == 0) { pagerName = printingSystem.PageSettings.PaperName; } DevExpress.XtraPrinting.Link link = CreateLinkDoc(pagerName, dataReport); readPageSetting(dataReport, link); try { //System.Windows.Forms.MessageBox.Show("当前PageName" + pagerName); string kindName = IniFile.ReadString(sessionName, "PaperKind", printingSystem.PageSettings.PaperKind.ToString(), DIY_REPORT_CFG_FILE); System.Drawing.Printing.PaperKind pKind = (System.Drawing.Printing.PaperKind)Enum.Parse(typeof(System.Drawing.Printing.PaperKind), kindName, true); link.PrintingSystem.PageSettings.PaperKind = pKind; } catch { } link.Landscape = printingSystem.PageSettings.Landscape; link.PaperKind = link.PrintingSystem.PageSettings.PaperKind; var existsPrinter = DIYReport.Common.EnumPrintersHelperEx.CheckExistsPrinter(dataReport.PrintName); if (existsPrinter) { link.Print(dataReport.PrintName); } else { link.PrintDlg(); } // if(_DrawObj!=null) // _DrawObj.Dispose(); }