本发明专利技术公开了一种打印绘制图形化文件的通用方法及动态链接库,是将打印内容作为一个模版来绘制,该模版的内容有许多属性,将这个模版保存于一个文件中,在打印绘制图形化文件时,用打印绘制工具生成打印模版文件,通过动态链接库的接口函数读取打印模版文件至一个新的打印页对象;读取打印模版文件后,对需打印输出的图形化文件中的动态变化数据进行赋值后;将整个页对象付之打印输出;方法将数据与格式分离,使各种打印的格式与它所涉及的源程序无关,当打印的格式发生变化时,无须编译源程序,任何人都可维护;使用者可图形化的绘制所需打印票据、报表,打印模版任何语言都可调用,移植性强,动态数据传送方便,代码量少;与打印机类型无关。(*该技术在2022年保护过期,可自由使用*)
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机通用打印绘制图形化文件的方法,适用于微软公司的Windows系列操作系统。它由两部份组成,即通用打印绘制方法及打印接口动态链接库(Dynamic Link Lib,即DLL)组成,通用打印绘制工具是一个可独立运行的应用软件,提供了图形化的界面,以绘制打印模版,而打印接口动态链结库提供使用其的应用程序调用,以打印其通用打印绘制工具绘制的打印模版格式的内容,并传递其动态变化的打印内容,输出至打印机的通用接口。
技术介绍
随着计算机管理在各行各业越来越广泛的应用,许多行业都需要为本行业定制计算机管理系统,即MIS系统,而MIS系统的难点在于其需求的变化性及行业的特殊性,这为MIS系统开发供应商带来了极大的困难,而MIS系统必然涉及到大量的票据打印以及大量的报表打印,例如医院管理系统(HIS),它一般会有门诊收费收据、挂号单、住院出院发票、住院病人每日费用条、药方领药单、注射单、药库进货单、调拨单等等,报表更是无数,如167报表、E14报表等等, 长期以来,MIS系统开发供应商可以说在开发MIS系统时,花费在打印开发的时间是非常大的,而且用户的需求不断的变化,于是开发商不断的修改程序,以满足用户的要求,这也是造成MIS系统开发举步唯艰的原因之一。以上是针对MIS系统而言,因为MIS系统是最客户化的系统。对于现有的开发工具而言,一般提供了报表工具,如Visual Basic的Repository,Delphi的QuickReport等,但这些报表工具对票据打印不适合,一是难以绘制,二是修改格式需重新编译程序,可移制性差,三是程序调用复杂,四是使用麻烦,即使对于报表,第二点、第三点、第四点问题也存在。不论是用C语言、BASIC语言、PASCAL等编程工具在编制各种票据打印时,均要写大量代码,其最关键的是当打印的格式发生变化时,需重新编译程序,而且相互间移制很困难,这为维护及升级带来了极大的困难,也耗费了开发人员大量的时间,并且特别是当别人去接手该应用程序时,更是带来了困难。
技术实现思路
本专利技术要解决的技术问题在于,针对在Windows操作系统下(包括windows95/98/2000及windowsNT)下用各种语言编制应用程序时打印的复杂性和维护困难性及移制性,提供一种通用打印绘制图形化文件的方法,当打印的格式发生变化时,无须编译源程序,任何人(不一定是程序员)都可维护;使使用者可图形化的绘制所需打印票据、报表,所见所打,绘制的打印模板存为文件格式,任何语言都可调用,移植性强。任何windows编程语言(如C++、Delphi、Visual Ba等程序调用方便灵活,动态数据传送方便,代码量少,与打印机类型无关,只要打印机正确安装,支持对多打印机,可输出至所需打印机。本专利技术采用如下技术方案解决上述技术问题构造一种打印绘制图形化文件的通用方法,是将线、文字及表格等打印内容作为一个模版来绘制,该模版的内容有许多属性,如页高度、宽度等,将这个模版保存于一个文件中,提供一个可读取这种打印模版文件的动态链接库,采用如下步骤打印绘制任一种图形化格式的文件1、用打印绘制工具生成打印模版文件,该文件为一个文本格式的文件;2、通过动态链接库的接口函数读取打印模版文件至一个新的打印页对象;3、读取打印模版文件后,对需打印输出的图形化文件中的动态变化数据进行赋值;在对动态变化数据进行赋值后,4、将整个页对象付之打印输出。在上述打印绘制图形化文件的通用方法中,所述步骤1中进一步包括如下步骤产生一个新的打印模版对象,所述对象是整个绘制的组成单位,分为基本对象,包括线对象、字串对象、表单对象,复合对象,由基本对象组成,复合对象主要是页对象;为打印绘制工具接受使用者的键盘和鼠标输入,打印绘制工具中设有基本对象线、字串、表格的按钮供使用者使用;判断使用者是否单击了线、字串、表格的按钮,并进行了相应的辅助操作以产生一个新的对象,如果是产生一个新的对象,进入下一步,否则等待键盘和鼠标输入;打印模版页对象把其所有的基本对象当作一个链表来管理,当新的对象产生时,自动把该对象加入页对象的链表中;通过激活链表的对象,给基本对象的属性赋值,基本对象的属性主要有<1>线(Line)有起点及终点的线段,它属打印模版的外观格式对象,可组成许多图形,无动态属性,绘制成什么样,即打印成什么样。属性a、宽度 b、类型,如短虚线、虚线等<2>字串(String)最常用的对象,它即可静态显示也可动态传递数据,实际上由它和线对象便可满足票据打印页面的需要;属性a、字体 b、是否有动态,如果有其动态ID的值 c、是否动态打印时隐藏<3>表格(grid)此表格可以编辑其单元格的内容,原则上可由线对象和字串对象组成;属性a、字体 b、是否有动态,如果有其动态ID的值c、格子隐藏 d、列数 e、行数 f、格式是否固定,即其行数是否可变化,g、如果是非固定格式,其是否影响坐标下面对象的移动h、如果是非固定格式,其是否影响页的移动I、是否隐藏格线J、是否隐藏边框页对象也有属性,其属性主要为a、页高b、页宽判断是否已不添加对象至模版中,保存打印模版;保存此打印模版,其保存的方法为首先保存标识头WXADRAW001,然后保存页对象属性,遍历模版对象链表,保存每一个基本对象的属性,存为一个文本文件。在上述通用打印绘制图形化文件的方法中,所述步骤2中进一步包括如下步骤 申请一个新的页对象,然后以读的方式打开打印模版文件;读取文件的第一行;判断该行是否为标识1头WXADRAW001,如果不是说明其打印模版文件格式不正确;在读取标识头为WXADRAW001的情况下,继续读下一行;根据读取行内容进行处理,然后继续进行读取步骤,当读到End时表示读到结束,以下为打印模版文件的格式生成后缀为wxt的文本文件,符合该格式要求的文件可以被RrprintEn.dll的调用,而该类文件也可以再次被Winterface打开修改,也可以直接用文本编辑器,如MicroSoft的记事本、UltraEdit等修改,但必须符合接口文件的格式要求;除第一行外,每行由一个行头标识构成,是XXX,其后(指该行)可能有内容或无内容,列如STRINGOBJ表明一个字串对象,其后无内容,但如果是Point,表明坐标其后有内容,每行头后的内容之间的分隔符为Tab既ASCII码9;以下表格格式的表示方法为类型+序号I整数、N小数、S文本(可以是汉字,也可是英文,或两者混合)、C汉字文本、E英文文本、B真假只有True或False,坐标单位为twip,为1/20像点,1/1440Inch 1/567 MM;<1>页存为文件有一个文件头WXADRAW001,它是文件的第一行,文件结尾有一个END。在上述通用打印绘制图形化文件的方法中,所述步骤3中进一步包括如下步骤针对对象的动态赋值分两种情况,一种是字串对象,另一种是表格对象才有动态;对于字串动态赋值情况,在页对象读取打印模版文件后,它把所有的基本对象组成一个链表,因此需遍历链表;如已经读到链表尾端,表示本次赋值已结束;在还没有读到尾端本文档来自技高网...
【技术保护点】
一种打印绘制图形化文件的通用方法,其特征在于,是将线、文字及表格等打印内容作为一个模版来绘制,该模版的内容有许多属性,如页高度、宽度等,将这个模版保存于一个文件中,提供一个可读取这种打印模版文件的动态链接库,采用如下步骤打印绘制任一种图形化格式的文件;1)用打印绘制工具生成打印模版文件,该文件为一个文本格式的文件;2)通过动态链接库的接口函数读取打印模版文件至一个新的打印页对象;3)读取打印模版文件后,对需打印输出的图形化文件中的动态变化数 据进行赋值;4)在对动态变化数据进行赋值后,将整个页对象付之打印输出。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:吴晓安,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。