DevExpress Winform 通用控件打印方法(允许可自定义边距、纸张大小)

您所在的位置:网站首页 winform报表打印 DevExpress Winform 通用控件打印方法(允许可自定义边距、纸张大小)

DevExpress Winform 通用控件打印方法(允许可自定义边距、纸张大小)

2024-06-04 03:00| 来源: 网络整理| 查看: 265

DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有支持打印功能的控件,即只要控件类型有实现Iprinttable接口) ,同时允许用户自定义报表标题,报表纸张类型(A4,A3...),报表边距  

/// /// 打印功能 /// /// 打印控件 /// 标题 /// 纸张类型 /// 边距 public static void Print(IPrintable panel, string title = null, PaperKind pageSize = PaperKind.A4, System.Drawing.Printing.Margins margins = null) { PrintingSystem ps = new PrintingSystem(); CompositeLink link = new CompositeLink(ps); PrintableComponentLink printableLink = new PrintableComponentLink() { Component = panel }; ps.Links.Add(link); link.Links.Add(printableLink); link.Landscape = true;//横向 link.PaperKind = pageSize;//设置纸张大小 if (margins == null) margins = new System.Drawing.Printing.Margins(10, 10, 50, 50); link.Margins = margins; //判断是否有标题,有则设置 if (!string.IsNullOrEmpty(title)) { PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter; phf.Header.Content.Clear(); phf.Header.Content.AddRange(new string[] { "", title, "" }); phf.Header.Font = new System.Drawing.Font("宋体", 14, System.Drawing.FontStyle.Bold); phf.Header.LineAlignment = BrickAlignment.Center; phf.Footer.Content.AddRange(new string[] { "", String.Format("打印时间: {0:g}", DateTime.Now), "" }); } link.CreateDocument(); //建立文档 ps.PreviewRibbonFormEx.Show();//进行预览 }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3