一、打印功能说明:

打印功能,我们有多种实现方式,可以根据需要自行选择,我简单的总结下两种方法。

(1)、使用微软.net框架自带的PrintDocument,这种方式是直接借助Graphics,自行调整位置和行间距等,一行行一页页绘画打印页面,虽然可控制性强,但是操作比较麻烦,而且细节和页面美化上,实现更是繁琐复杂。

(2)、使用DevExpress框架,这里面也有很多种打印方法,这段时间我主要使用的是GridControll+PrintingSystem方法来实现打印,总结了以下,希望能对其他人有些帮助。

二、打印功能详细说明:
(1)、DevExpress中有很多控件已经自身实现了打
印接口( IPrintable,
IBasePrintable等),即:此组件为了方便,提前对很多控件实现了打印功能。例如:GridControl,这个控件是我们用到的最多的数据
表格控件,常用来进行数据绑定和显示,操作和显示性都很好,对打印功能来说,基本能满足一般要求,但是需要对打印的文档进行详细细节的操作,可能无法满
足,所以加上PrintingSystem,打印控制便会更灵活。

(2)、详细代码实现:
   public void Printing()
        {
           
            //相当于打印操作的控制器,起控制作用
            PrintingSystem print = new PrintingSystem();
            //相当于打印操作的实践者,真正完成打印功能操作
            DevExpress.XtraPrinting.PrintableComponentLink link = null;
            link = new DevExpress.XtraPrinting.PrintableComponentLink(print);
            //借助GridControl控件提供打印格式和内容(根据需要提供)
            link.Component = gridControlPrint;
            //设置页眉和页脚
            PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter;
            //设置页脚位置
            phf.Footer.LineAlignment = BrickAlignment.Center;
            phf.Header.Content.Clear();
            //设置页眉内容
            string headText = "页眉内容信息";
            phf.Header.Content.Add(headText);
            //设置页眉字体
            phf.Header.Font = new System.Drawing.Font("宋体", 12, System.Drawing.FontStyle.Regular);
            //设置页眉内容位置
            phf.Header.LineAlignment = BrickAlignment.Far;
            print.Links.Add(link);
            //设置内容页页脚信息(一般为页码信息)
            link.CreateMarginalFooterArea += new CreateAreaEventHandler(link_CreateMarginalFooterArea);
            //设置内容页页眉信息(一般为页标题信息)
            link.CreateMarginalHeaderArea += new CreateAreaEventHandler(link_CreateMarginalHeaderArea);
            //创建打印文档,此步完成文档的绘画生成
            link.CreateDocument(print);
            //设置文档的名称,即:输出的打印文件的名称。
            print.Document.Name = _docName;
            //设置是否显示打印提示框,即:打印了几页,当前是第几页等···
            print.ShowPrintStatusDialog = false;
            //开始调用打印驱动设备,进行打印!
            print.Print();
        }

void link_CreateMarginalHeaderArea(object sender, CreateAreaEventArgs e)
        {
          
            //页信息块,可以设置页相关信息,一般设置:打印的页码信息
            //PageInfoBrick vPageInfoBrick1 =e.Graph.DrawPageInfo(PageInfo.NumberOfTotal, "第{0}页,共{1}页", Color.Black,
            //   new RectangleF(0, 0, 100, 21), BorderSide.None);
            //vPageInfoBrick1.LineAlignment = BrickAlignment.Center;
            //vPageInfoBrick1.Alignment = BrickAlignment.Center;
            //vPageInfoBrick1.AutoWidth = true;
            //vPageInfoBrick1.Font = new System.Drawing.Font("宋体", 16, FontStyle.Bold);
           
            //纯文本信息块,设置一些文字性说明信息,一般设置:简单的说明信息
            TextBrick text = e.Graph.DrawString("纯文字信息块", Color.Black, new RectangleF(10, 10, 100, 40), BorderSide.None);

}

void link_CreateMarginalFooterArea(object sender, CreateAreaEventArgs e)
        {
            PageInfoBrick vPageInfoBrick1 = e.Graph.DrawPageInfo(PageInfo.NumberOfTotal, "第{0}页,共{1}页", Color.Black,
               new RectangleF(0, 0, 100, 21), BorderSide.None);
            vPageInfoBrick1.LineAlignment = BrickAlignment.Center;
            vPageInfoBrick1.Alignment = BrickAlignment.Center;
            vPageInfoBrick1.AutoWidth = true;
            vPageInfoBrick1.Font = new System.Drawing.Font("宋体", 11f, FontStyle.Bold);
           
        }

说明:1、完成数据填装,为gridControlPrint填装数据表格和数据。

2、创建PrintingSystem打印控制器和PrintableComponentLink打印功能块,为PrintableComponentLink指定打印关联容器gridControlPrint

3、在PrintableComponentLink添加文档页眉和页脚处理事件,进行相应的自定义的动态调整。

4、最后执行创建文档和打印操作。

DevExpress打印功能 z的更多相关文章

  1. DevExpress打印功能介绍 z

    一.打印功能说明: 打印功能,我们有多种实现方式,可以根据需要自行选择,我简单的总结下两种方法. (1).使用微软.net框架自带的PrintDocument,这种方式是直接借助Graphics,自行 ...

  2. 完美演绎DevExpress XtraPrinting Library 的打印功能

    完美演绎DevExpress XtraPrinting Library 的打印功能 2010-05-14 17:40:49|  分类: 默认分类|字号 订阅     设计报告不仅费时间,而且还乏味!但 ...

  3. NET快速信息化系统开发框架 V3.2 -> “用户管理”主界面使用多表头展示、增加打印功能

    RDIFrameowrk.NET 用户管理是使用非常频繁的模块,由于需要展示的字段比较多,以前的展示方式显得不是太规范,现3.2版本用户管理主界面进行了全新的设计,数据列表展示使用了Dev家族全新的G ...

  4. Atitit.收银系统pos 以及打印功能的行业标准

    Atitit.收银系统pos 以及打印功能的行业标准 1. ESC指令序列 Escape指令序列不同于ESC/POS指令 1 2. 打印标准OPOS POSPrinter 与 CashDrawer 驱 ...

  5. jQuery:实现网页的打印功能

    实现的打印功能大致跟浏览器的 Ctrl+P 效果一样 一.直接上代码 <!DOCTYPE html> <head> <meta charset="utf-8&q ...

  6. C#程序调用CodeSoft预先设计好的标签模块实现打印功能

    if (this.tbSetLabel.Text.Trim() == "") { MessageBox.Show("请先 Enter 选择标签模板文件!", & ...

  7. web页面实现指定区域打印功能

    web页面实现指定区域打印功能 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 详细如下: <style media=print type="t ...

  8. vc 实现打印功能

    Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这 ...

  9. 开源的javascript实现页面打印功能,兼容所有的浏览器(情况属实)

    这篇文章完全是属于技术文章,也是记录一下自己在项目当中遇到的坑爹问题啊,因为是B/S的程序,所以打印功能还是必须要有的,对于打印我选择了一个js插件,发现非常的简单和方便,所以这里拿出来和大家分享一下 ...

随机推荐

  1. UML 类图基础知识记录

    UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 依赖(Dependency): 关联(Association): 聚合(Aggregation): 合成(Composition): 泛化 ...

  2. Python内部类型

      Python使用对象模型来存储数据 . 身份:每个对象都有一个唯一的身份标识自己,任何对象的身份否可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址 . 类型:对象的类型决定了该对 ...

  3. share point 读取 List数据

    SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite oSite = new SPSite(siteUrl)) { forea ...

  4. urllib2

    import urllib2response = urllib2.urlopen("http://www.baidu.com")print response.read() urlo ...

  5. 伪类选择器:root的妙用

    css3的元素旋转功能非常强大,也非常吸引人,但是很多时候因为浏览器使用率的问题,我们必需要想办法兼容一些低版本的浏览器,特别是ie这朵奇葩. 想要实现元素旋转本来很简单的一个属性就能实现,那就是tr ...

  6. python读取excel的行数

    基于python3.x下 需要包 from openpyxl import load_workbook 代码如下: from openpyxl import load_workbook wb = lo ...

  7. linux设置系统日期时间

    设置当前日期: date -s 08/06/2015 设置当前时间:date -s 10:03:00 写入BIOS: clock -w 显示当前日期时间: date

  8. 如何在Dynamics CRM 2011 的窗体表单上加载报表

    1.代码 function onloadReport() { if (crmForm.FormType != 1 && crmForm.FormType != 5) { $(" ...

  9. Rsync企业实战之自动异地备份(转)

    认真的测试过网上的大多数文章和版本,真正能一次性测试通过的文章太少了,需要反复的推敲,反复的查阅资料,才能真正的测试成功,所以,在此背景下,总结了Rsync,加上自己的理解分享出来: 1. 原理篇 R ...

  10. 在网页标题栏上和收藏夹显示网站logo

    第一步,准备一个图标制作软件. 首先您必须了解所谓的图标(Icon)是一种特殊的图形文件格式,它是以.ico 作为扩展名.普通的图像设计软件无法使用这种格式,所以您需要到下载一个ico图标工具,本站常 ...