专利名称:一种保存和重现打印场景的方法和系统的制作方法
技术领域:
本发明涉及打印效果技术领域,特别是指 一种保存和重现打印场 景的方法和系统。
背景技术:
在现在的应用系统中打印是非常普遍的功能,由于软件产品本身 的缺陷和用户的设置错误,经常出现各种问题,例如很多时候有打 印出的表格并不符合客户的预期效果的情况出现。而有些问题单靠 用户描述很难定位解决,直观的看到问题现象有利于问题准确的沟 通和有效的解决。
为了看到问题现象,目前常采用现场解决方式和重建环境方式。 现场解决方式需要软件公司派驻支持人员到用户现场,这无疑增加 支持成本。重建环境方式需要用户上传数据库,可能一个格式定义 错误的问题,用户需要上传整个库,庞大的企业数据上传费时,其 中大部分数据和问题本身并不相关,并且存在用户数据不便泄漏问 题。
中国专利CN200610009476.7公开了 一种视窗才喿作系统中保存和 恢复打印设备的方法。其根据应用程序的打印处理确定打印设备的 打印设置数据结构,并获取所述的打印设置数据结构的内存地址, 然后通过保存所述内存地址内的数据来实现存储和恢复。该发明保 存的是手工设置的打印设备的打印安排信息,例如选取的局域网内 哪台打印机,而并不能完整的重现打印场景。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现保存和重现打印
场景的方法和系统,使得支持端可以根据客户端保存的信息完整的 重现用户端的打印场景。
为解决上述技术问题,本发明提供了一种保存和重现打印场景的 方法和系统。
其中保存和重现打印场景的系统,包括用户端和支持端 其中用户端包括
样式数据源101,用于提供打印所使用的样式数据;
数据源102,用于提供打印所使用的业务数据,其提供的业务数 据对应于样式数据;
保存模块105,用于根据样式数据源101提供的样式数据和数据 源102提供的业务数据生成诊断文件;和
发送模块106,用于向支持端发送保存模块105生成的诊断文件;
支持端包括
接收模块501,用于接收用户端发送的诊断文件;
读取模块502,用于读取接收模块501接收的诊断文件中的样式 数据和业务数据;
支持端对应关系模块503,用于生成读取模块502读取的样式数 据和业务数据的对应关系;和
支持端成效模块504,用于根据将读取模块502读取的样式数据 和支持端对应关系模块503生成的对应关系生成效果数据。
由上可以看出,在用户端保存了打印所需的所有信息,即样式数 据和业务数据,从而支持端可以根据用户端发过来的诊断文件重现 打印场景。
优选的是,所述用户端还包括
用户端对应关系模块103,用于将样式数据源IOI提供的样式数 据和数据源102提供的业务数据生成对应关系;
用户端成效模块104,用于根据样式数据源101提供的样式数据 和用户端对应关系模块103生成的对应关系生成效果数据;
所述保存模块105还用于将用户端成效模块104生成的效果数据
添加到诊断文件中;
所述支持端的读取模块502还用于从所述诊断文件中读取效果 数据。
由上可以看出,在用户端还保存下了打印的效果,从而支持端可 以根据用户端发送的效果数据和在支持端生成的效果数据进行比 较。支持端的技术支持人员可以更直观的看到问题所在。
本发明还提供了 一种保存和重现打印场景的系统,包括用户端和 支持端,其中
用户端包括
样式数据源101,用于提供打印所使用的样式数据,所述样式数 据包括数据源变量;
打印数据源702,用于根据数据源变量返回对应业务数据的值;
用户端对应关系模块103,用于生成样式数据源101提供的样式 数据和打印数据源702提供的业务数据的对应关系;
保存模块705,用于根据样式数据源101提供的样式数据、用户 端对应关系模块103生成的对应关系生成诊断文件;和
发送模块106,用于向支持端发送保存模块705生成的诊断文件
支持端包括,
接收模块501,用于接收用户端发送的诊断文件;
读取模块802,用于读取接收模块501接收的诊断文件中的样式 数据和对应关系;
支持端成效模块503,用于根据读取模块502读取的样式数据和 对应关系生成效果数据。
由上可以看出,用户端保存了由样式数据和业务数据生成效果数 据的中间结构,即对应关系,这样在支持端就可以直接利用对应关 系和样式数据重现打印场景,从而省略了生成对应关系的步骤。
优选的是,所述用户端还包括,
用户端成效模块104,用于根据样式数据源101提供的样式数据 和用户端对应关系模块103生成的对应关系生成效果数据;
所述保存模块705还用于将用户端成效模块104生成的效果数据
添加到i貪断文件中;
所述支持端的读取模块802还用于从所述诊断文件中读取效果 数据。
由上可以看出,在用户端还保存下了打印的效果,从而支持端可 以根据用户端发送的效果数据和在支持端生成的效果数据进行比 较。支持端的技术支持人员可以更直观的看到问题所在。
本发明提供的一种保存和重现打印场景的方法,包括保存和重现
步骤,其中,
保存步骤包括
A、 用户端根据打印时所使用的样式数据和业务数据生成诊断文 件,并发送给支持端;
重现步骤包括
B、 支持端接收用户端发送的诊断文件,读取诊断文件中的样式 数据和业务数据;
C、 根据所读取的样式数据和业务数据生成该样式数据和业务数 据的对应关系;
D、 根据所生成的对应关系生成效果数据。
由上可以看出,通过保存步骤完成了打印所需所有信息,即样式 数据和业务数据,通过重现步骤根据用户端发过来的诊断文件重现 打印场景。
优选的是,所述步骤A还包括,用户端生成效果数据储存到所 述诊断文件中;
所述步骤D还包括,支持端读取诊断文件中的效果数据。
由上可以看出,在保存步骤中还保存了打印的效果,从而在重现 步骤中就可以根据保存的效果数据和生成的效果数据进行比较。技 术支持人员可以更直观的看到问题所在。
本发明还提供了 一种保存和重现打印场景的方法,包括保存和重 现步骤,其中,
保存步骤包括
K、用户端根据打印时所使用的样式数据和样式数据与业务数据 的对应关系生成诊断文件,并发送给支持端; 重现步骤包括
L、支持端接收用户端发送诊断文件,读取诊断文件中的样式数 据和样式数据与业务数据的对应关系;
M 、根据所读取的样式数据和对应关系生成效果数据。
由上可以看出,保存步骤保存的是由样式数据和业务数据生成效 果数据的中间结构,即对应关系。这样重现步骤就可以直接利用中 间结构生成效果数据,从而省略了中间结构的生成步骤。
优选的是,所述步骤K还包括,用户端生成效果数据保存到所 述诊断文件中;
所述步骤L还包括,支持端读取诊断文件中的效果数据。
由上可以看出,在保存步骤中还保存了打印的效果,从而在重现 步骤中就可以根据保存的效果数据和生成的效果数据进行比较。技 术支持人员可以更直观的看到问题所在。
优选的是,所述业务数据包括字符串数据和图像数据;所述样式 数据是通过模板方式定义和提供的。
由上可以看出,打印所需输入的业务数据就是字符串数据和图像 数据,例如数字或者照片。而对业务数据的格式进行了规定以后, 便于提供标准数据接口 ,同时还可以检测出业务数据的部分异常情 况。样式数据是可以重复使用的,这样通过模板方式定义和提供就 可以提供复用率。而且也减少出错率。
优选的是,所述诊断文件是釆用持久化的技术生成的;
所迷读取诊断文件是采用反持久化技术,直接将诊断文件反持久 化生成内存结构。
由上可以看出,采用持久化技术将出现打印问题时的内存数据直 接保存为诊断文件,可以在支持端用反持久化技术完整的重现出当 时出现打印问题时用户端真实的内存场景。
优选的是,所述样式数据包括至少一个数据源变量,所述样式数 据与业务数据的对应关系是数据源变量和业务数据的对应关系。
由上可以看出,用数据源变量可以方便的将动态的业务数据和常 态的样式数据对应。
图1为保存和重现打印场景的系统第一实施例中的用户端结构
示意图2为样式数据包含内容示意图3为欲打印的表格的样式数据模板示意图4为业务数据包含内容示意图5为保存和重现打印场景的系统第一实施例中的支持端结构 示意图6为保存和重现打印场景的方法第 一 实施例流程图; 图7为保存和重现打印场景的系统第二实施例中的用户端结构 示意图8为保存和重现打印场景的系统第二实施例中的支持端结构 示意图9为保存和重现打印场景的方法第二实施例流程图。
具体实施例方式
本发明保存和重现打印场景的系统包括用户端和支持端两部分, 用户端可以保存打印所需的所有信息并传输给支持端,支持端可以 根据保存的信息重现打印场景。下面结合附图对本发明保存和重现 打印场景的系统进行详细描述。
如图1所示为保存和重现打印场景的系统第一实施例中的用户 端的结构示意图,用户端包括以下模块
样式数据源101,用于提供样式数据。
其中,样式数据对打印样式进行了定义,包括定义需要打印哪些 数据项,数据的位置,字体、背景、线条、纸张、装订线、横向纵
向等。如图2所示为样式数据所包含内容的示意图。在本实施例中, 样式数据源101是通过模板方式定义和提供样式数据的。对应的样 式数据在内存的对象称为模板对象。保存模块105保存的样式数据 即为模板对象。如图3所示为一个欲打印的表格的样式数据模板示 意图。图3中带有下划线的"姓名"为一个数据源变量,是用来代 替真实的业务数据的。数据源变量可以是字符串也可以是其它的变
量形式。
数据源102,用于提供业务数据。
业务数据是要打印的具体的数据,由数据源102提供。如图4 所示为业务数据包括的内容示意图例举了要打印工资条所需的业务 数据,如工资、客商档案、人员档案等。
在本实施例中,在处理过程中记录每一个数据源变量的值,所有 业务数据的值在打印时可以用String (字符串)或者Image (图像) 对象表示,釆用Map<String, Object[]〉结构来记录打印的业务数据, 称为业务数据对象,保存模块保存的业务数据即为业务数据对象。
用户端对应关系模块103,用于生成样式数据和业务数据的对应 关系。
为了将数据源102中的业务数据填充到样式数据源101中的样式 数据中以进行预览和打印,需要先将业务数据和样式数据对应。在 本实施例中是根据数据源变量读取数据源102中的业务数据,从而 将数据源变量和业务数据对应。 一 个数据源变量对应 一组业务数据。 图1中样式数据中的varl即为一个数据源变量,valuel即为与varl 对应的业务数据。对应关系在内存中对应的是中间结构对象。如图3 所示样式数据中的下划线的内容均为数据源变量,与数据源102中 相应的业务^t据相对应。
用户端成效模块104,用于根据样式数据和所述对应关系生成效 果数据。
在用户端成效模块104中,根据对应关系将业务数据填充到样式 数据,就可以得到效果数据。效果数据可送到外部的显示设备中显
示打印效果。例如用打印机打印或者绘制到屏幕预览。其在内存中
的对象称为效果对象。保存模块105保存的效果数据即为此效果对 象。
保存模块105,用于根据样式数据、业务数据和效果数据生成诊 断文件。
保存模块105将模板对象、业务数据对象和效果对象保存生成诊 断文件。本实施例采用的是已有的持久化技术,例如Java的标准序 列化技术或者XML技术。将内存数据经过持久化处理后可以得到的 可任意转移的诊断文件。
发送模块106,用于发送诊断文件到支持端。
如图5为保存和重现打印场景的系统第一实施例中的支持端结 构示意图,所示支持端包括以下模块 ,
接收模块501,用于从用户端接收诊断文件。
读取模块502,用于读取诊断文件中的样式数据、业务数据和效 果数据。
读取模块502就是从接收到的诊断文件读取其中的数据。本实施 例采用的是已有的反持久化技术,例如Java的标准序列化技术或者 XML技术。将数据经反持久化处理后得到内存结构,包括模板对象、 业务数据对象和效果对象。
支持端对应关系模块503,用于生成样式数据和业务数据的对应 关系。其具体实现与用户端对应关系模块103相同,此处不再赘述。
支持端成效模块504,用于根据样式数据和所述对应关系生成效 果数据。其具体实现与用户端成效模块104相同,此处不再赘述。
需要说明的是,上述实施例中,支持端通过其支持端成效模块 504生成效果数据外,还接收用户端发送过来的效果数据,这是为了 可以将其生成的效果数据与用户端发送过来的效果数据由显示设备 505均进行显示,以便于对比分析场景重现是否完全与用户端一致, 以用来确定支持端设备实现重现的程序运行是否正常。因此,也可 以不传输用户端所生成的效果数据。下面结合图1、图2和图6对第
一实施例的保存和重现打印场景的方法进行说明,其包括保存和重 现两个步骤。
参见图1和图6,保存步骤包括
步骤601:用户端的保存模块105根据样式数据、业务数据和效 果数据生成诊断文件。
其中保存的样式数据可以用样式数据源101的模板对象也可以 用用户端对应关系模块103的模板对象。保存的业务数据可以用数 据源102的业务数据对象也可以用用户端对应关系模块103中的业 务数据对象。保存的效果数据可以用用户端成效模块104的效果对 象。
步骤602:用户端的发送模块106发送诊断文件到支持端。 再参见图6和图2,重现步骤包括
步骤603:支持端的接收模块501从用户端接收诊断文件。
步骤604:支持端的读取模块502读取诊断文件中的样式数据、 业务数据和效果数据。
步骤605:支持端对应关系模块503根据步骤604读取的样式数 据和业务#:据生成对应关系。
步骤606:支持端成效模块504根据步骤604读取的样式数据和 步骤605生成的对应关系生成效果数据。
由上可以看出,用户端出现打印问题时,用户端保存了和打印直 接相关的样式数据、业务数据和效果数据的内存结构。而支持端根 据诊断文件,通过完整真实的再现出现打印问题时的内存环境,重 现了打印场景。
如图7所示为保存和重现打印场景的系统第二实施例中的用户 端结构示意图,其包括以下模块
样式数据源101,用于提供样式数据,所述样式数据包括数据源 变量。
打印数据源702,用于根据数据源变量返回对应业务数据的值。
下面是本实施例中打印数据源取数和返回的示意实现过程 If(var=="员工姓名")
Return new String["张三",,,李四,,,,,王五,,]; If(var=="员工性别")
Return new String["男","男",,,女"]; If(var=="员工年龄")
Return new String["20,,,,,30,,,,,40,,]; 其中"员工姓名"即为样式数据中一个数据源变量的名称,而"张 三","李四","王五"为于其对应的业务数据。而对应关系则包括
所有数据源变量和与数据源变量对应的业务数据。具体的取值条件 或规则由调用系统外部的业务程序提供。而数据源变量既可以从样 式数据源中直接获取,也可以从其它模块,例如对应关系模块中获 取。
用户端对应关系模块103,用于生成样式数据和业务数据的对应 关系。
用户端成效模块104,用于根据样式数据和所述对应关系生成效 果数据。
保存模块705,用于根据样式数据、对应关系和效果数据生成诊 断文件。
发送模块106,用于发送诊断文件到支持端。
如图8所示为第二实施例中的支持端结构示意图,包括以下才莫
块
接收模块501,用于从用户端接收诊断文件。 读取模块802,用于读取诊断文件中的样式数据、对应关系和效 果数据。
支持端成效模块104,用于根据样式数据和所述对应关系生成效 果数据。
下面结合图7、图8和图9对第二实施例的保存和重现打印场景 的方法进行说明,其包括保存和重现两个步骤。
其中参见图7和图8保存步骤包括
步骤901:用户端的保存模块705根据样式数据、对应关系和效 果数据生成诊断文件;
其中保存的样式数据可以用样式数据源101的模板对象也可以 用用户端对应关系模块103的模板对象。保存的对应关系可以用用 户端对应关系模块103的中间结构对象。保存的效果数据可以用用 户端成效模块104的效果对象。
步骤902:用户端的发送模块106发送诊断文件到支持端。
其中参见图8和图9重现步骤包括
步骤903:支持端的接收模块801从用户端接收诊断文件。
步骤904:支持端的读取模块802从诊断文件中读取样式数据、 对应关系和效果数据。
步骤905:支持端成效模块803根据步骤904中读取的样式数据 和对应关系生成效果数据。
由上可以看出,在用户端出现打印问题时,用户端保存下了打印 过程中的内存环境,包括模板对象、中间结构对象和效果对象。而 在支持端根据诊断文件,通过完整真实的再现出现打印问题时打印 过程中的内存环境,重现了打印场景。
在实际的产品制作过程中,为了增加用户端和支持端模块的通用 性(即,可以同时具有用户端和支持端的功能),还可以在支持端 增加诊断数据源模块、样式数据源、打印数据源和用户端对应关系 模块。其中诊断数据源模块用于分解读取模块(502、 802 )读取的 对应关系,并为打印数据源和样式数据源提供相应数据,所述诊断 数据源用于提供打印所需业务数据。这样可以将打印数据源、样式 数据源、对应关系模块和成效模块集成为通用的打印模块,从而提 高功能模块的通用性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明, 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进 等,均应包含在本发明的保护范围之内。
权利要求
1. 一种保存和重现打印场景的系统,其特征在于,包括用户端和支持端,其中用户端包括样式数据源(101),用于提供打印所使用的样式数据;数据源(102),用于提供打印所使用的业务数据,其提供的业务数据对应于样式数据;保存模块(105),用于根据样式数据源(101)提供的样式数据和数据源(102)提供的业务数据生成诊断文件;和发送模块(106),用于向支持端发送保存模块(105)生成的诊断文件;支持端包括接收模块(501),用于接收用户端发送的诊断文件;读取模块(502),用于读取接收模块(501)接收的诊断文件中的样式数据和业务数据;支持端对应关系模块(503),用于生成读取模块(502)读取的样式数据和业务数据的对应关系;和支持端成效模块(504),用于根据将读取模块(502)读取的样式数据和支持端对应关系模块(503)生成的对应关系生成效果数据。
2. 如权利要求1所述系统,其特征在于,所述用户端还包括 用户端对应关系模块(103),用于将样式数据源(IOI)提供的样式数据和数据源(102)提供的业务数据生成对应关系;用户端成效模块(104),用于根据样式数据源(IOI)提供的样式数据和用户端对应关系模块(103 )生成的对应关系生成效果数据; 所述保存模块(105)还用于将用户端成效模块(104)生成的效果数据添加到诊断文件中;所述支持端的读取模块(502 )还用于从所述诊断文件中读取效果数据。
3. —种保存和重现打印场景的系统,其特征在于包括用户端和 支持端,其中用户端包括样式数据源(101),用于提供打印所使用的样式数据,所述样 式数据包括数据源变量;打印数据源(702 ),用于根据数据源变量返回对应业务数据的值;用户端对应关系模块(103),用于生成样式数据源(101 )提供 的样式数据和打印数据源(702 )提供的业务数据的对应关系;保存模块(705 ),用于根据样式数据源(101 )提供的样式数据、 用户端对应关系模块(103)生成的对应关系生成诊断文件;和发送模块(106),用于向支持端发送保存模块(705 )生成的诊 断文件支持端包括,接收模块(501),用于接收用户端发送的诊断文件; 读取模块(802 ),用于读取接收模块(501 )接收的诊断文件中的样式数据和对应关系;支持端成效模块(503 ),用于根据读取模块(502 )读取的样式数据和对应关系生成效果数据。
4. 如权利要求3所述系统,其特征在于, 所述用户端还包括,用户端成效模块(104 ),用于根据样式数据源(101 )提供的样 式数据和用户端对应关系模块(103 )生成的对应关系生成效果数据;所述保存模块(705 )还用于将用户端成效模块(104)生成的效 果数据添加到诊断文件中;所述支持端的读取模块(802 )还用于从所述诊断文件中读取效 果数据。
5. —种保存和重现打印场景的方法,其特扭在于,包括保存和 重现步骤,其中,保存步骤包括A 、用户端根据打印时所使用的样式数据和业务数据生成诊断文 件,并发送给支持端; 重现步骤包括B、 支持端接收用户端发送的诊断文件,读取诊断文件中的样式 数据和业务数据;C、 根据所读取的样式数据和业务数据生成该样式数据和业务数 据的对应关系;D、 根据所生成的对应关系生成效果数据。
6. 如权利要求5所述方法,其特征在于,所述步骤A还包括,用户端生成效果数据储存到所述诊断文件中;所述步骤D还包括,支持端读取诊断文件中的效果数据。
7. —种保存和重现打印场景的方法,其特征在于,包括保存和 重现步骤,其中,保存步骤包括K、用户端根据打印时所使用的样式数据和样式数据与业务数据 的对应关系生成诊断文件,并发送给支持端; 重现步骤包括L、支持端接收用户端发送诊断文件,读取诊断文件中的样式数 据和样式数据与业务数据的对应关系;M、根据所读取的样式数据和对应关系生成效果数据。
8. 如权利要求7所述方法,其特征在于,所述步骤K还包括,用户端生成效果数据保存到所述诊断文件中;所述步骤L还包括,支持端读取诊断文件中的效果数据。
9. 如权利要求5或7所述方法,其特征在于,所述业务数据包 括字符串数据和图像数据;所述样式数据是通过模板方式定义和提供的。
10. 如权利要求5或7所述方法,其特征在于, 所述诊断文件是采用持久化的技术生成的; 所述读取诊断文件是采用反持久化技术,直接将诊断文件反持久化生成内存结构。
11. 如权利要求5或7所述方法,其特征在于,所述样式数据包 括至少 一个数据源变量,所述样式数据与业务数据的对应关系是数 据源变量和业务数据的对应关系。
全文摘要
本发明公开了一种保存和重现打印场景的系统,包括用户端和支持端,其中用户端包括样式数据源,用于提供打印所使用的样式数据;数据源,用于提供打印所使用的业务数据,其提供的业务数据对应于样式数据;保存模块,用于根据样式数据和业务数据生成诊断文件;和发送模块,用于向支持端发送诊断文件;支持端包括接收模块,用于接收用户端发送的诊断文件;读取模块,用于读取诊断文件中的样式数据和业务数据;支持端对应关系模块,用于生成对应关系;和支持端成效模块,用于根据样式数据和对应关系生成效果数据。还相应提供了保存和重现打印场景的方法。本发明可在用户端保存打印所需所有信息,而支持端根据保存的信息重现打印场景。
文档编号G06F3/12GK101387947SQ20081022596
公开日2009年3月18日 申请日期2008年11月7日 优先权日2008年11月7日
发明者奇 薄 申请人:用友软件股份有限公司