DevExpress Winform 通用控件打印方法(允许可自定义边距)
Posted xiaoxihebei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevExpress Winform 通用控件打印方法(允许可自定义边距)相关的知识,希望对你有一定的参考价值。
DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有支持打印功能的控件) ,同时允许用户自定义报表标题,报表纸张类型(A4,A3...),报表边距
/// <summary>
/// 打印功能
/// </summary>
/// <param name="panel">打印控件</param>
/// <param name="title">标题</param>
/// <param name="pageSize">纸张类型</param>
/// <param name="margins">边距</param>
protected
virtual
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();
//进行预览
}
以上是关于DevExpress Winform 通用控件打印方法(允许可自定义边距)的主要内容,如果未能解决你的问题,请参考以下文章
在DevExpress程序中使用条形码二维码控件,以及进行报表打印处理
如何实现C#winform的多语言(devexpress控件)
我用的vs2012。现在想下一个devexpress控件,主要是要winform部分的,最好还有相