欢迎来到天天文库
浏览记录
ID:28729543
大小:277.00 KB
页数:10页
时间:2018-12-13
《打印实现机制及使用方法.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、打印实现机制及使用方法1本项目使用的打印实现机制本系统的证照文书打印要求较高,不仅需要精确控制打印的效果,同时还需要完成打印模板的自定义(提供“所见即所得”的方式由最终用户来根据需求设计打印的格式)和客户端的打印机设置及页面设置。1.1实现机制在权衡了各种Web应用打印方案之后,本系统将通过XML强大的自定义功能来自定义出我们需要的打印格式控制标签,在服务器端进行动态编码后通过WEB服务器传到客户端,然后在客户端进行格式解析,根据服务器端定义的打印格式从客户端直接控制打印机打印出我们需要的报表。如图:1.1.1实现原理实现的原理就是要方
2、便的解析出定义好的XML格式标记,解读出文件中标记的参数定义,最后将这些信息还原成打印机输出的图形格式。为了能表达出复杂的报表样式,我们需要定义一些标记,在这些标记中附加上具体的样式信息,作用类似HTML的标签,而我们的解析程序就相当于IE浏览器,所不同的是IE将图形输出到屏幕,而我们是将图形输出到打印机,由于打印机相对于显示屏的特殊性(例如分页),因此我们不能直接采用网页浏览器的标签解析功能来打印,需要自己来做一个满足需要的"打印浏览器"。1.1.1框架选择客户端打印控件的实现可以采用ActiveX控件、JavaApplet、.NET
3、framework的WinForm来实现。考虑以下优势,推荐采用WinForm来实现:l有很强大的打印控制功能。与操作系统兼容性高,同时具有.NETframework提供了强有力的支持。Javaapplet在这方面支持不太好,并且需要在客户端进行一定的设置。l和IE兼容性高。同为Microsoft公司产品。Javaapplet在碰到一些特殊字体等情况下会出现问题。l它不需要进行客户端注册。相对于ActiveX的一个大优点。l比ActiveX安全性高。在.NETCommonLanguageRuntime的控制之下运行。l编写方便。Java
4、applet受限制较多,会增加开发难度;而ActiveX开发周期较长且有版本问题。l直接支持XML技术。1.1.2安装及使用:客户端安装.NET运行时环境;在页面中嵌入调用:5、eport.xml">其中参数SourceXml定义了XML的位置,可以使用类似http://192.168.0.2/nzdj/print.jsp?type=1&id=2的格式。而print.jsp根据参数获取打印模板XML,同时获取数据库数据对此XML修改并输出一个新的XML。1.1.1工作流程:通过在网页内嵌入打印控件,同时通过定义好的格式文件和数据库记录生成活动XML数据文件,打印控件读取此文件及其中的页面设置,在屏幕上分页打印其定义的格式及内容,用户可以进行御览、修改打印设置并最终打印。系统初始将按照总局提供格6、式完成打印格式文件的定义,用户在使用中可以进行自定义并保存方便以后使用。定义打印格式的同样调用打印控件来进行“所见即所得”的设置。1.2格式定义为了能控制打印的格式,我们定义了下列的格式标签,其中在命名上参考了HTML的命名办法,所以基本上熟悉HTML的都能明白标签的具体含义。如果有新的需求,也可以定义更多更精确的格式标签。在本系统的打印中,我们主要定义了文字、翻页、表格以及图片的控制标签,同时为了实现简单的报表格式(如饼图、柱状图等)扩展了线条、扇形、矩形等结构。而更复杂的效果可以先由其他系统转化为图形,然后在这里调用。以下的例子展示7、了其基本结构:1.2.1文本:(text)l使用场景:常用于单行文本的打印l示例:企业名称预先核准通知书lAttribute含义Attribute含义取值类型Fontsize字体大小整数4-72B是否加粗Booean(trueorfalse)I是否斜体Booean(trueorfalse)U是否有下划线Booean(trueorfalse)Fon8、tname字体名称String(系统字体名称)Fontcolor颜色String(系统颜色)X起始横坐标整数Y起始横坐标整数1.1.1多行文本:(mulitext)l使用场景:常用于固定内容且使用默认行间距
5、eport.xml">其中参数SourceXml定义了XML的位置,可以使用类似http://192.168.0.2/nzdj/print.jsp?type=1&id=2的格式。而print.jsp根据参数获取打印模板XML,同时获取数据库数据对此XML修改并输出一个新的XML。1.1.1工作流程:通过在网页内嵌入打印控件,同时通过定义好的格式文件和数据库记录生成活动XML数据文件,打印控件读取此文件及其中的页面设置,在屏幕上分页打印其定义的格式及内容,用户可以进行御览、修改打印设置并最终打印。系统初始将按照总局提供格
6、式完成打印格式文件的定义,用户在使用中可以进行自定义并保存方便以后使用。定义打印格式的同样调用打印控件来进行“所见即所得”的设置。1.2格式定义为了能控制打印的格式,我们定义了下列的格式标签,其中在命名上参考了HTML的命名办法,所以基本上熟悉HTML的都能明白标签的具体含义。如果有新的需求,也可以定义更多更精确的格式标签。在本系统的打印中,我们主要定义了文字、翻页、表格以及图片的控制标签,同时为了实现简单的报表格式(如饼图、柱状图等)扩展了线条、扇形、矩形等结构。而更复杂的效果可以先由其他系统转化为图形,然后在这里调用。以下的例子展示
7、了其基本结构:1.2.1文本:(text)l使用场景:常用于单行文本的打印l示例:企业名称预先核准通知书lAttribute含义Attribute含义取值类型Fontsize字体大小整数4-72B是否加粗Booean(trueorfalse)I是否斜体Booean(trueorfalse)U是否有下划线Booean(trueorfalse)Fon
8、tname字体名称String(系统字体名称)Fontcolor颜色String(系统颜色)X起始横坐标整数Y起始横坐标整数1.1.1多行文本:(mulitext)l使用场景:常用于固定内容且使用默认行间距
此文档下载收益归作者所有