票据打印方法和系统的制作方法

文档序号:6489258阅读:418来源:国知局
票据打印方法和系统的制作方法
【专利摘要】本发明涉及一种票据打印方法和系统。根据该方法:获得一可扩展标记语言格式的打印模板,该打印模板包括唯一的根元素和可由该根元素引用的多个子元素,该多个子元素包括文本子元素和数据项子元素;该根元素包含第一属性,用于描述该票据的汇总信息应当关联的一汇总表,该文本子元素为票据上呈现的固定格式信息,该数据项子元素用于从该数据表索引数据;其中该数据表与该打印模板是分离的。解析该根元素和各个子元素,并根据元素的属性从汇总表和明细数据表中查询数据,构造输出至打印缓冲区的打印信息。在遍历完所有子元素后,将该打印缓冲区中的打印信息流发往打印机。
【专利说明】票据打印方法和系统
【技术领域】
[0001]本发明涉及打印设备,尤其是涉及一种票据打印系统及其方法。
【背景技术】
[0002]服务性机构在交易过程中,通常会向客户提供各种式样的票据,作为交易的凭证等。不同服务性行业或者不同的市场主体,针对自身需求以及不同的交易数据信息,向外提供的票据格式不同。由于目前的打印系统不能适用于各类场景,针对不同场景或者更改打印机型号的时候,需要定制软件,这将导致软件维护成本大大增加、提高软件管理复杂度。
[0003]本发明旨在统一打印软件,降低软件开发维护成本,有效解决各类应用系统打印票据格式多变的难题。

【发明内容】

[0004]本发明所要解决的技术问题是提供一种票据打印方法和系统。
[0005]本发明为解决上述技术问题而采用的技术方案是本发明提出一种票据打印方法,包括以下步骤:
[0006]获得一可扩展标记语言格式的打印模板,该打印模板包括唯一的根元素和可由该根元素引用的多个子元素,该多个子元素包括文本子元素和数据项子元素;该根元素包含第一属性,用于描述该票据的汇总信息应当关联的一汇总表,该文本子元素为票据上呈现的固定格式信息,该数据项子元素用于从该数据表索引数据;其中该数据表与该打印模板是分离的;
[0007]初始化打印缓冲区,解析该打印文档的根元素,获得该根元素的该第一属性以根据该第一属性查询该汇总表;
[0008]解析该打印模板的各个子元素,包括:
[0009]当该子元素是文本子元素时,将该文本子元素直接保存至打印缓冲区;以及
[0010]当该子元素是数据项子元素时,查询该汇总表以获得数据,并据此构造用于输出至该打印缓冲区的打印信息;
[0011]如果该根元素的所有子元素已经遍历完,将该打印缓冲区中的打印信息流发往打印机。
[0012]在本发明的一实施例中,该汇总表是保存于一数据库,且根据该第一属性查询该汇总表的步骤包括,根据该第一属性构造一数据库查询语句,以查询该数据库中的汇总表。
[0013]在本发明的一实施例中,该多个子元素还包括循环子元素,该循环子元素引用一个或多个需要循环处理的子元素,所述一个或多个需要循环处理的子元素至少包括数据项子元素,且该循环子元素包含第二属性,用于描述该票据的明细信息应当关联的一明细表。
[0014]在本发明的一实施例中,上述一个或多个需要循环处理的子元素还包括文本子元素。
[0015]在本发明的一实施例中,在解析该打印模板的多个子元素时,当该子元素是循环子元素时,获取该循环子元素的该第二属性以根据该第二属性查询该明细表,并将该循环子元素作为根节点依次遍历其下所有子节点以组织用于输出至该打印缓冲区的打印信息。
[0016]在本发明的一实施例中,该明细表与该打印模板是分离的。
[0017]在本发明的一实施例中,该明细表是保存于一数据库,且根据该第二属性查询该明细表的步骤包括,根据该第二属性构造一数据库查询语句,以查询该数据库中的明细表。
[0018]在本发明的一实施例中,上述的子元素还包括打印控制子元素,该打印控制子元素包含用于实施以下操作的打印命令:更改打印字体大小、行列间距、控制换行走纸。
[0019]在本发明的一实施例中,在解析该打印模板的各个子元素时,当该子元素是打印控制子元素时,获取该打印控制子元素的属性,并输出至该打印缓冲区。
[0020]在本发明的一实施例中,该打印控制子元素标记该打印命令为16进制数值。
[0021]在本发明的一实施例中,该数据项子元素包含用于索引该汇总表或该明细表中对应数据的字段名。
[0022]在本发明的一实施例中,该数据项子元素包含格式属性和/或对齐属性。
[0023]在本发明的一实施例中,上述方法还包括预存该打印模板于一打印系统中。
[0024]在本发明的一实施例中,上述方法还包括接收对该打印模板的编辑。
[0025]本发明还提出一种票据打印系统,包括:
[0026]用于获得一可扩展标记语言格式的打印模板的装置,该打印模板包括唯一的根元素和可由该根元素引用的多个子元素,该多个子元素包括文本子元素和数据项子元素;该根元素包含第一属性,用于描述该票据的汇总信息应当关联的一汇总表,该文本子元素为在票据上呈现的固定格式信息,该数据项子元素用于从该汇总表索引数据;其中该汇总表与该打印模板是分离的;
[0027]用于初始化打印缓冲区,解析该打印模板的根元素,获得该根元素的该第一属性以根据该第一属性查询该汇总表的装置;
[0028]用于解析该打印模板的各个子元素的装置,其中:当该子元素是文本子元素时,将该文本子元素直接保存至该打印缓冲区;以及当该子元素是数据项子元素时,查询该汇总表以获得数据,并据此构造用于输出至该打印缓冲区的打印信息。
[0029]本发明由于采用以上技术方案,使之与现有技术相比,具有如下显著优点:单一的XML模板文件,既标识了打印格式,又包含了交易数据项,使用非常方便,程序处理高效。由于模板直观,所见即所得,因此本发明把定制复杂打印格式的过程,简化成了文本文件的编辑。其次,本发明标准化了打印软件,可适用于各类文本信息的打印,避免了各类应用系统开发过程中,因不同行业、不同客户导致的软件定制,节省了软件开发维护成本。
【专利附图】

【附图说明】
[0030]为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的【具体实施方式】作详细说明,其中:
[0031]图1为以批发市场的交易票据为优选样例展示的遵循本发明实施例的打印格式协议的票据模板样例。
[0032]图2A、2B为对应于图1的汇总、明细数据表样例。
[0033]图3为图1所示样例模板结合图2所示的数据表,解析后生成的票据样例。[0034]图4展示了本发明一实施例的软件模块框架图。
[0035]图5展示了根据本发明一实施例的打印模板文件的解析及打印流程。
【具体实施方式】
[0036]本发明所提出的票据打印方法,充分利用了 XML标记的可扩展性,定义了一种适合票据打印的格式协议。利用格式协议,可以创建适合各类应用要求的打印模板。解析打印模板,关联查找数据库,即可获得待输出的打印流。由此,只需利用一个打印软件即可满足各类应用的需求。
[0037]可扩展标记语言(Extensible Markup Language, XML)是一种基于文本的标记语言,用途极为广泛。本发明的实施例充分利用了 XML标记的可扩展性,自定义了适合文本打印的格式协议。
[0038]数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。SQL(Structured Query Language)结构化查询语言,是一种国际化数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。本发明的实施例直接将XML文件与数据表(视图)关联,获取打印实体数据信息,从而可规避不同行业、不同客户的数据差异,使得打印软件统一,适用面广。
[0039]一般待打印的业务信息,可以分成两大类,汇总信息及明细信息。例如,一笔交易,只有一个卖方、一个买方、一个汇总金额。但一笔交易可以包含多个商品的买卖,如一次性购置三种商品:苹果、梨、葡萄,且三种商品的单价、成交金额不同。买卖方信息、总金额、交易日期时间、收银员等可以作为汇总信息归类;苹果、梨、葡萄的单价及各自的成交金额可作为明细信息归类。为索引方便,汇总信息与明细信息可以用两张不同的数据表(或视图),即汇总表和明细表表示。然而可以理解的是,本发明并不以此为限。
[0040]在本发明实施例中,定义一个自由灵活的打印格式协议,以组织汇总信息及明细信息。组织这些汇总信息和明细信息的数据表与体现该打印格式协议的文档是分离的。通常这些数据表保存在数据库中。该打印格式协议可以从数据库中查询关联的数据表,以获得用于填充到打印文档中的汇总信息或明细信息。一个汇总信息可与汇总表中的一条数据关联。一个明细信息可以对应明细表中的多条数据。
[0041]根据一实施例,打印格式协议为树形结构,包括唯一的根元素和可由根元素引用的多个子元素。根元素可包含属性,用于描述汇总信息应当关联的数据表。子元素可包括根据打印需求而定义的各种元素。典型的子元素类型包括文本子元素、数据项子元素、循环子元素、以及打印控制子元素等。
[0042]文本子元素为在票据上呈现的固定格式信息,比如标题、备注文字、空格、制表符、换行等。文本子元素中的所有字符,将原封不动地输出至打印流,从而保证格式的清晰直观。
[0043]数据项子元素用于从该汇总表或该明细表索引数据,并在票据上呈现。数据项子元素将包含用于索引数据表中对应数据的字段名。在一实施例中,可以使用与数据表一致的字段名来标识具体数据项。另外,数据项子元素还可包含格式、对齐等属性以标识数据项的打印格式。
[0044]循环子元素用于引用一个或多个需要循环处理的子元素,例如数据项子元素、文本子元素、打印控制子元素等。循环子元素可包括一属性,用于描述票据的明细信息应当关联的明细表。循环子元素将循环查询每条数据,直到所有数据均被处理。循环子元素典型地包含一个或多个数据项子元素。这些数据项子元素中的一个或多个可能分别对应数据表中的多条数据。
[0045]另外,打印格式协议还可包括打印控制子元素,其定义打印机的特殊控制格式,t匕如更改字体大小、行列间距、走纸等。打印控制子元素可直接被根元素引用,也可被循环子元素引用。
[0046]在本发明的实施例中,允许开发者和使用者依据以上的打印格式协议制作合适的打印模板。例如,开发者可在打印系统中预存一个或多个打印模板供使用者选择。使用者也可以按需求自行编辑和保存打印模板。
[0047]模板的解析可从模板的根元素开始,按顺序及层次关系依次解析各子元素,结果输出至打印缓冲区。模板元素的解析需严格遵循打印格式协议的要求。
[0048]下面描述基于XML协议的打印格式协议的范例。在此将格式化打印协议命名为XDTP:X表示模板样式采用XML文件格式,D为database的缩写,T表示模板template, P表示打印。
[0049]图1为以批发市场的交易票据为优选样例,遵循本发明打印格式协议的票据模板样例。如图1所示,标记101表示模板中的文本(text)子元素,其呈现票据中的固定样式内容。text子元素中的文字、空格、换行等可用于表示模板固定格式,模板解析器原封不动地将text子元素内容输出至打印流。样例中的题头“朝阳农贸批发大市场”、横线、双横线及“品名单价重量金额”等均为text子元素,通常text子元素在整个模板中的占比最大。
[0050]一般待打印的业务信息,可以分成两大类,汇总信息及明细信息。例如,一笔交易,只有一个卖方、一个买方、一个汇总金额。但一笔交易可以包含多个商品的买卖,如一次性购置三种商品:苹果、梨、葡萄,且三种商品的单价、成交金额不同。买卖方信息、总金额、交易日期时间、收银员等可以作为汇总信息归类;苹果、梨、葡萄的单价及各自的成交金额可作为明细信息归类。汇总信息与明细信息用两张不同的数据表(或视图)表示。图2A、2B为对应于图1的汇总、明细数据表样例。
[0051]模板根元素的定义如下:
[0052]〈XDTP Table=” ” SqlSuffix=” …” >...</XDTP>
[0053]标记102表示样例模板中的根元素,模板文档有且仅有一个根元素XDTP。Table属性用于描述汇总信息应当关联的数据表(或视图),它是必要属性。SqlSuffix在通用sql查询语句后面附加后缀。比如 Table=” Trade”, SqlSuffix=” order by BillNo asc”,那么完整的 Sql 查询语句为:select*from Trade order by BillNo asc。SqlSuffix 为可选属性,查询结果对应一条记录。若数据表(或视图)不只一条记录,那么可以通过where条件限制查找结果,条件可以作为外部的一个入参。
[0054]根为第一层,在根元素内部的第二层元素,如数据项子元素,可以表示汇总表内部的字段,如〈BillNo/〉直接表示图2A所示交易汇总表中的BillNo字段。在根元素内部出现的第二层元素, 包括text子元素,通常只输出一遍。
[0055]如图2B所示,明细信息会包含多项同类数据,例如产品名称(ProductName)、单价(Price)等,因此使用循环子元素来组织明细信息。[0056]举例来说,循环子元素的定义如下:
[0057]〈For Table=” ” SqlSuffix=”〈/For〉
[0058]标记103表示了样例中以循环子元素组织的明细信息,For意指循环处理,对于同一笔交易,明细表有多少条记录,那么循环输出多少次。Table与SqlSuffix的属性含义与根元素相同。For元素内部出现的数据项子元素,可一律表示明细表中的同名字段。在模板内部允许出现多个For元素,但不允许For嵌套。
[0059]数据项子元素的定义如下:
[0060]〈Field Fmt=”...”Align=”...”Bar=”...,,/>
[0061]标记104展示了样例各数据项字段的定义,Field为数据表字段,实际用字段名替代。Fmt属性表示输出长度定义格式,为可选属性。例如,Fmt=” 10”表示数据项以普通字符串方式显示,且长度为10个有效字符,不够用空格补足,超出部分则截尾;Fmt=”10.2”,表示数据项为数值,且有两位小数。若一个数据项子元素未定义Fmt属性,则表示按普通字符串方式显示,有多少字符就输出多少。Align属性表示数据对齐方式,有两种值left、right,表示左对齐、右对齐,默认为左对齐,后补空格。若一个元素包含Align属性,则必须有Fmt属性。Fmt及Align属性经常用于表格对齐,不会因为数据大小差异而导致上下文错位,从而达到美化打印的效果。
[0062]对于数值型字段,如果需要以条形码方式展现,可添加条码(Bar)属性,其值为打印机支持的条码类型,比如C0DE128c。
[0063]在本范例中,使用Hex元素来控制打印格式,其定义如下:
[0064]〈Hex Value="...,,/>
[0065]标记105表示特殊16进制打印命令的定义。因XML为文本文档,不能直观地表示不可见字符,而打印机能识别的打印命令通常由不可见字符组成。例如P0S2000打印机,向其发送字符命令0xlB32,表示设置行间距为1/6英寸。但OxlB不能直接用可见字符表达,需要转义,所以设计了通用Hex元素。Value属性表示16进制数值,针对上面的例子,Value=" 1B32"。Hex元素丰富了打印模板协议,提供了万能通用的方法。Hex元素实际用途极为广泛,可更改打印字体大小、行列间距,控制换行走纸等。
[0066]图1所示样例中,为了将标题市场名称放大,所以使用了特殊打印标记〈Hex Value=" 1C210C " />,对于P0S2000打印机,” 1C210C "表示更改汉字大小,按增大I倍的方式显示。当输出标题完毕,需要恢复字体,所以后接了一个标记〈HexValue=" 1C2100" />,表示恢复汉字,按默认大小显示。
[0067]位于模板最后的标记105的4个Oa用于走纸换行,后接一个常用P0S2000打印机的打印命令” 1B40”,该命令用于清除打印缓冲区,及恢复各打印命令至默认值。
[0068]本发明上述范例虽然给出了一组明确的标记定义,但仅用于举例以使本领域技术人员理解。在实际实施时,本领域技术人员可依据实际票据需求,更改标记的含义或扩展新的标记。
[0069图4展示了根据本发明一实施例的软件模块框架图,说明打印控制模块在整个软件系统中的工作流程。参照图4所示,首先,使用者(或开发人员)利用文本编辑工具,根据应用票据实际需求,创建合适的票据模板,并通过模板上传模块401将模板保存至系统的模板库402。[0070]业务模块403供使用者(如收银员)进行实际业务操作,以向数据库404写入交易信息。在数据库中可以图2A、2B所示的表格保存交易信息。
[0071]当打印控制模块405收到业务的打印请求,从模板库402中选择匹配的模板,解析模板,并结合数据库404中的信息,生成票据信息流,最后发往打印机406,完成整个打印过程。
[0072]图5示出本发明一实施例的对模板XML文档的解析及打印流程。参照图5所示,流程如下:
[0073]首先如步骤501,获得一可扩展标记语言格式的打印模板。这一打印模板可由打印控制模块405从模板库402中选择得到。
[0074]此打印模板包括唯一的根元素和可由该根元素引用的多个子元素,该多个子元素至少包括文本子元素、数据项子元素、循环子元素和打印控制子元素。根元素可包含第一属性,用于描述该票据的汇总信息应当关联的一汇总表。该文本子元素用于在票据上呈现固定格式信息。该循环子元素引用一个或多个需要循环处理的子元素,且该循环子元素包含第二属性,用于描述该票据的明细信息应当关联的一明细表。该数据项子元素用于从该汇总表或该明细表索引数据。该汇总表及该明细表与该打印模板是分离的。打印控制子元素其定义打印机的特殊控制格式,比如更改字体大小、行列间距、走纸,这通过打印命令实现。可以理解,以上子元素并非都必须包含在打印模板中,根据需要,部分子元素可以省略。
[0075]打印模板的范例可参照图1所示。汇总表及明细表的范例可分别参照图2A、图2B所示。
[0076]在步骤502,初始化打印缓冲区,解析该打印文档的根元素。解析将获得该根元素的该第一属性,如图1中的Table属性,以根据该第一属性查询该汇总表。
[0077]汇总表保存于数据库中,因此从根元素的属性中还获得Sql查询语句的条件,构造相应的Sql查询语句,查询数据表,获得查询结果,结果集有且仅有一条数据记录。
[0078]XML文档为树形结构,元素间具有确定的层次关系。在步骤503-513,解析该打印文档的各个子元素。具体地说,在步骤503遍历根元素的所有子元素。步骤504判断子元素查找是否成功,如果查找失败,转至步骤514,否则解析该子元素。
[0079]由于文本(text)子元素在模板文档中的占比大,所以步骤505,先判断子元素是否为文本子元素,如果是,那么执行步骤506,解析器获取文本内容,将文本信息原封不动地输出至打印缓冲区。如果否,那么转至步骤507。
[0080]步骤507判断当前子元素是否为循环子元素,如果是,那么执行步骤508,解析循环子元素的根节点,获取节点属性,属性包括明细表名以及Sql查询条件,构造Sql查询语句,查询明细表,结果集对应多条明细记录。
[0081]由于XML文档为树形结构,因此后续执行循环子元素(如For)的子树的解析,将循环子元素作为当前根节点,依次遍历其下所有子元素,组织打印信息输出至打印缓冲区。循环子元素下的子元素多样化,可以包含文本子元素和数据项子元素等,解析过程类似于文档根节点。明细数据表包含多少条记录,那么循环子元素的子树的解析就执行多少遍。所有明细记录均处理完,表示循环子元素已经解析完毕,那么转至模板根元素的下一个子元素。
[0082]步骤509判断当前子元素是否为打印控制子元素(如Hex子元素),如果是,那么执行步骤510,获取打印控制子元素的属性,将文本字符串转成打印命令并输出至打印缓冲区。Hex子元素的打印命令为16进制数值。否则,转至步骤511。
[0083]由于特殊标记已处理过,剩下的为自定义数据项元素。步骤511解析当前子元素,获取元素名称,并依次匹配汇总表查询结果集的字段。如果匹配成功,那么执行步骤512。如果结果集中的所有字段均匹配不成功,那么表示打印模板出现未知标记,转至步骤513,进行错误处理,登记异常,关闭文档解析器,返回打印失败。
[0084]步骤512展示了数据项元素的处理过程。先获取数据子项元素的属性,包括Fmt格式属性(若有的话,下同)、Align对齐属性、Bar条码属性,后查询汇总表结果集,获取相应数据字段的值,按属性的定义对字段值进行改造,若未定义属性,那么按普通字符串进行处理,最后将结果输出至打印缓冲区。
[0085]步骤514表示文档根元素的所有子元素已经访问完毕,模板解析过程执行完毕,将打印缓冲区中的打印信息流送至打印机,从而完成整个打印过程。
[0086]图3为实际生成的票据样例,请结合图1-图3观察打印效果。其中,样例模板中的〈BuyerName/〉为不带格式的字段标记,对应Trade交易汇总表中的BuyerName字段,表示买方姓名,实际解析后,被字符串“张三”替换。模板中的〈Weight Fmt=" 7.2" />为循环子元素For的子元素,带格式定义,总长度7位,两位小数,对应Detail表中的Weight字段,表示净重,实际解析后,被数值字符串"18.86"、" 23.08"替换。
[0087]本发明上述实施例的明显优势在于:单一的XML模板文件,既标识了打印格式,又包含了交易数据项,使用非常方便,程序处理高效。由于模板直观,所见即所得,因此本发明的实施例把定制复杂打印格式的过程,简化成了文本文件的编辑。其次,本发明标准化了打印软件,可适用于各类文本信息的打印,避免了各类应用系统开发过程中,因不同行业、不同客户导致的软件定制,节省了软件开发维护成本。
[0088]本发明的范例虽然是在批发市场应用,但也同样适合超市、银行等需要打印交易票据的行业。如果票据只有汇总信息,无明细的划分,那么本发明同样适用。对于某些嵌入式系统,未安装数据库,或安装数据库但用于其它用途的,本发明同样适用,软件只要处理好自定义标记元素与数据内容的对应关系即可。
[0089]虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
【权利要求】
1.一种票据打印方法,包括以下步骤: 获得一可扩展标记语言格式的打印模板,该打印模板包括唯一的根元素和可由该根元素引用的多个子元素,该多个子元素包括文本子元素和数据项子元素;该根元素包含第一属性,用于描述该票据的汇总信息应当关联的一汇总表,该文本子元素为票据上呈现的固定格式信息,该数据项子元素用于从该数据表索引数据;其中该数据表与该打印模板是分离的; 初始化打印缓冲区,解析该打印文档的根元素,获得该根元素的该第一属性以根据该第一属性查询该汇总表; 解析该打印模板的各个子元素,包括: 当该子元素是文本子元素时,将该文本子元素直接保存至打印缓冲区;以及 当该子元素是数据项子元素时,查询该汇总表以获得数据,并据此构造用于输出至该打印缓冲区的打印信息; 如果该根元素的所有子元素已经遍历完,将该打印缓冲区中的打印信息流发往打印机。
2.如权利要求1所述的方法,其特征在于,该汇总表是保存于一数据库,且根据该第一属性查询该汇总表的步骤包括,根据该第一属性构造一数据库查询语句,以查询该数据库中的汇总表。
3.如权利要求1所述的方法,其特征在于,该多个子元素还包括循环子元素,该循环子元素引用一个或多个需要循环处理的子元素,所述一个或多个需要循环处理的子元素包括数据项子元素,且该循环子元素包含第二属性,用于描述该票据的明细信息应当关联的一明细表。
4.如权利要求3所述的方法,其特征在于,所述一个或多个需要循环处理的子元素还包括文本子元素。
5.如权利要求3所述的方法,其特征在于,在解析该打印模板的多个子元素时,当该子元素是循环子元素时,获取该循环子元素的该第二属性以根据该第二属性查询该明细表,并将该循环子元素作为根节点依次遍历其下所有子节点以组织用于输出至该打印缓冲区的打印信息。
6.如权利要求3所述的方法,其特征在于,该明细表与该打印模板是分离的。
7.如权利要求3所述的方法,其特征在于,该明细表是保存于一数据库,且根据该第二属性查询该明细表的步骤包括,根据该第二属性构造一数据库查询语句,以查询该数据库中的明细表。
8.如权利要求1所述的方法,其特征在于,该多个子元素还包括打印控制子元素,该打印控制子元素包含用于实施以下操作的打印命令:更改打印字体大小、行列间距、控制换行走纸。
9.如权利要求1所述的方法,其特征在于,所述一个或多个需要循环处理的子元素还包括打印控制子元素,该打印控制子元素包含用于实施以下操作的打印命令:更改打印字体大小、行列间距、控制换行走纸。
10.如权利要求8或9所述的方法,其特征在于,在解析该打印模板的各个子元素时,当该子元素是打印控制子元素时,获取该打印控制子元素的属性,并输出至该打印缓冲区。
11.如权利要求8或9所述的方法,其特征在于,该打印控制子元素标记该打印命令为16进制数值。
12.如权利要求3所述的方法,其特征在于,该数据项子元素包含用于索引该汇总表或该明细表中对应数据的字段名。
13.如权利要求1所述的方法,其特征在于,该数据项子元素包含格式属性和/或对齐属性。
14.如权利要求1所述的方法,其特征在于,还包括预存该打印模板于一打印系统中。
15.如权利要求1所述的方法,其特征在于,还包括接收对该打印模板的编辑。
16.一种票据打印系统,包括: 用于获得一可扩展标记语言格式的打印模板的装置,该打印模板包括唯一的根元素和可由该根元素引用的多个子元素,该多个子元素包括文本子元素和数据项子元素;该根元素包含第一属性,用于描述该票据的汇总信息应当关联的一汇总表,该文本子元素为在票据上呈现的固定格式信息,该数据项子元素用于从该汇总表索引数据;其中该汇总表与该打印模板是分离的; 用于初始化打印缓冲区,解析该打印模板的根元素,获得该根元素的该第一属性以根据该第一属性查询该汇总表的装置; 用于解析该打印模板的各个子元素的装置,其中:当该子元素是文本子元素时,将该文本子元素直接保存至该打印缓冲区;以及当该子元素是数据项子元素时,查询该汇总表以获得数据,并据此构造用于输出`至该打印缓冲区的打印信息。
【文档编号】G06F3/12GK103679515SQ201210363585
【公开日】2014年3月26日 申请日期:2012年9月26日 优先权日:2012年9月26日
【发明者】赵斌, 王斌, 钱旭英, 王琪 申请人:梅特勒-托利多(常州)测量技术有限公司, 梅特勒-托利多(常州)精密仪器有限公司, 梅特勒-托利多(常州)称重设备系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1