打印机驱动器的印刷功能的追加方法.pdf

上传人:1*** 文档编号:1639805 上传时间:2018-06-30 格式:PDF 页数:31 大小:2.89MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410608423.1

申请日:

2014.11.03

公开号:

CN104636090A

公开日:

2015.05.20

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 3/12申请日:20141103|||公开

IPC分类号:

G06F3/12

主分类号:

G06F3/12

申请人:

柯尼卡美能达株式会社

发明人:

原田义之

地址:

日本东京都

优先权:

2013-230873 2013.11.07 JP

专利代理机构:

北京市柳沈律师事务所11105

代理人:

胡金珑; 薛仑

PDF下载: PDF下载
内容摘要

一种打印机驱动器的印刷功能的追加方法,该打印机驱动器在对印刷装置指示印刷的计算机装置中进行动作,所述追加方法执行以下步骤:第1步骤,生成记述了与印刷功能有关的信息的PrintTicket;第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一PrintTicket;第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷设定画面显示到显示部;第4步骤,生成记述了在所述印刷设定画面中输入的与其他的印刷功能有关的信息的PrintTicket,并将该PrintTicket编入所述第一PrintTicket的所述区域而生成第二PrintTicket;以及第5步骤,将所述第二PrintTicket变换为所述印刷装置能够解释的第三PrintTicket。

权利要求书

权利要求书
1.  一种打印机驱动器的印刷功能的追加方法,该打印机驱动器在对印刷 装置指示印刷的计算机装置中进行动作,其特征在于,所述追加方法执行以 下步骤:
第1步骤,生成记述了与印刷功能有关的信息的PrintTicket;
第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一 PrintTicket;
第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷 设定画面显示到显示部;
第4步骤,生成记述了在所述印刷设定画面中输入的与其他的印刷功能 有关的信息的PrintTicket,并将该PrintTicket编入所述第一PrintTicket的所述 区域而生成第二PrintTicket;以及
第5步骤,将所述第二PrintTicket变换为所述印刷装置能够解释的第三 PrintTicket。

2.  如权利要求1所述的打印机驱动器的印刷功能的追加方法,其特征在 于,
在所述第4步骤中,在所述第一PrintTicket的所述区域中通过字符串来 记述与所述其他的印刷功能有关的信息,
在所述第5步骤中,解释所述字符串而变换为PrintTicket的形式。

3.  如权利要求1所述的打印机驱动器的印刷功能的追加方法,其特征在 于,
在所述第2步骤中,利用预先定义的函数将在DEVMODE构造体的 Private区域中预先记述的信息进行变换后写入到所述PrintTicket,从而定义 所述区域。

4.  如权利要求3所述的打印机驱动器的印刷功能的追加方法,其特征在 于,
还具有通过GDI(图形设备接口)与制作印刷对象的文档的应用进行信 息交换的步骤,在进行所述信息交换的步骤中,利用预先定义的函数进行 PrintTicket和DEVMODE构造体的相互变换。

5.  如权利要求1所述的打印机驱动器的印刷功能的追加方法,其特征在 于,
在所述第3步骤中,取得所述印刷装置的能力信息,基于所述第一 PrintTicket和所述能力信息来生成所述印刷设定画面。

6.  一种打印机驱动器的印刷功能的追加方法,该打印机驱动器在对印刷 装置指示印刷的计算机装置中进行动作,其特征在于,所述追加方法执行以 下步骤:
第1步骤,生成定义印刷功能的PrintTicket;
第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一 PrintTicket;
第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷 设定画面显示到显示部;
第4步骤,生成记述了在所述印刷设定画面中输入的与其他的印刷功能 有关的信息的PJL命令,并将该PJL命令编入所述第一PrintTicket的所述区 域而生成第二PrintTicket;以及
第5步骤,将所述第二PrintTicket变换为所述印刷装置能够解释的第三 PrintTicket。

7.  一种打印机驱动器的印刷功能的追加方法,该打印机驱动器在对印刷 装置指示印刷的计算机装置中进行动作,其特征在于,所述追加方法执行以 下步骤:
第1步骤,生成定义印刷功能的PrintTicket;
第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一 PrintTicket;
第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷 设定画面显示到显示部;
第4步骤,生成记述了在所述印刷设定画面中输入的与其他的印刷功能 有关的信息的第一PJL命令,并将该第一PJL命令编入所述第一PrintTicket 的所述区域而生成第二PrintTicket;以及
第5步骤,将所述第二PrintTicket变换为所述印刷装置能够解释的第二 PJL命令。

8.  如权利要求1至7的任一项所述的打印机驱动器的印刷功能的追加方 法,其特征在于,
所述打印机驱动器是在视窗(注册商标)的操作系统上动作的版本4的 打印机驱动器。

说明书

说明书打印机驱动器的印刷功能的追加方法
技术领域
本发明涉及打印机驱动器的印刷功能的追加方法,特别涉及在Windows (视窗)(注册商标,以下省略)的操作系统(OS:Operating System)上动 作的版本4的打印机驱动器的印刷功能的追加方法。
背景技术
关于在WindowsOS上动作的打印机驱动器,从Microsoft(注册商标, 以下省略)公司示出了面向硬件制造商的方针,硬件制造商按照该方针来提 供假定了Windows2000~Windows7的版本3的打印机驱动器。
此后,Windows8和Server2012作为WindowsOS而上市,尤其在Windows8 中,UI(User Interface,用户界面)被变更为瓷砖状的用户界面即Metro风格, 因而硬件制造商正在推进采用了新的打印机驱动器架构的版本4的打印机驱 动器的开发。
若将该版本4的打印机驱动器模型进行大致区分,则由打印机驱动器核 心(Printer Driver core)部和印刷设定UI部的两个层构成。这两个层实现了 进程分离,能够单独进行提供。
打印机驱动器核心部是提供印刷功能的应用,由定义各印刷功能的GPD (Generic Printer Description,通用打印机说明)/PPD(PostScript Printer  Description,PostScript打印机说明)、XML(Extensible Markup Language,可 扩展标记语言)、定义各印刷功能的多个语言的显示字符串的本地化资源DLL (Dynamic Link Library,动态链接库)等的构成文件、在绘制时进行描绘命 令的编辑的印刷过滤器、处理印刷功能的设定竞争的禁则JavaScript(注册商 标,以下省略)部等的模块构成。
此外,印刷设定UI部是与打印机驱动器核心部独立的应用,基于从打印 机驱动器核心部提供的被称为PrintCapabilities的印刷功能信息、和被称为 PrintTicket(打印票)的印刷设定信息来提供印刷设定画面。
PrintCapabilities以XML形式记述,进行了各印刷功能的定义。具体地说, PrintCapabilities在单一选择的功能(从多个选项中选择一个的功能)的情况 下,记述Feature(功能)、Option(选项)、功能或选项的显示字符串,在进 行字符串输入的功能的情况下,记述Parameter(参数)、最大字符数或最小 字符数等的属性、参数名的显示字符串等。
PrintTicket以XML形式记述,保持印刷设定信息。PrintTicket的形式 (XML的元素)在打印机驱动器核心部中被定义。并且,基于在GPD/PPD 文件中定义的信息,OS自动地追加XML元素,或者通过禁则JavaScript部 内的函数来追加XML元素。此外,PrintTicket的内容在打印机驱动器核心部 中变换成被称为DEVMODE构造体的数据构造体。
作为与这样的版本4的打印机驱动器模型有关的技术,例如,在下述专 利文献1中公开了一种经由通信网络与外部装置连接的信息处理装置,其具 有:接收部件,从其他的信息处理装置接收请求,该请求一并指定了表示在 该其他的信息处理装置中所设定的显示程序的显示形式的信息和表示状态的 类别的信息;状态取得部件,基于在所述请求中包含的表示状态的类别的信 息,从所述外部装置取得与该类别对应的状态的值;资源取得部件,取得与 在所述请求中包含的表示显示程序的显示形式的信息对应的资源信息;以及 发送部件,作为通过所述接收部件接收到的请求的响应,将遵循通过所述资 源取得部件取得的资源信息和对应于所述类别的状态的值的状态信息发送到 所述其他的信息处理装置。
[专利文献1](日本)特开2011-023019号公报
如上所述,在版本4的打印机驱动器中打印机驱动器核心部和印刷设定 UI部独立,因此在新追加印刷功能的情况下,需要修正打印机驱动器核心部 和印刷设定UI部的双方而实现匹配,存在无法简便地追加印刷功能的问题。
即,如上所述,PrintTicket的形式在打印机驱动器核心部中被定义,因 此即便在印刷设定UI部中进行了PrintTicket的编辑而追加了新的印刷功能, 所追加的印刷功能在打印机驱动器核心部中也不会被识别,导致在打印机驱 动器核心部中将PrintTicket的内容变换为DEVMODE构造体时被丢弃。
从而,追加印刷功能需要打印机驱动器核心部的修正(以C语言等记述 的程序主体的修正等),而为了修正打印机驱动器核心部,需要WHCK (Windows Hardware Certification Kit,Windows硬件认证工具包)的日志获 取等,产生非常大的工时。
发明内容
本发明鉴于上述问题点而完成,其主要目的在于提供一种能够简便地追 加新的印刷功能的打印机驱动器的印刷功能的追加方法。
本发明的一个侧面是,一种打印机驱动器的印刷功能的追加方法,该打 印机驱动器在对印刷装置指示印刷的计算机装置中进行动作,其特征在于, 所述追加方法执行以下步骤:第1步骤,生成记述了与印刷功能有关的信息 的PrintTicket;第2步骤,对所述PrintTicket定义用于保存信息的区域而生成 第一PrintTicket;第3步骤,基于所述第一PrintTicket而生成印刷设定画面, 并使该印刷设定画面显示到显示部;第4步骤,生成记述了在所述印刷设定 画面中输入的与其他的印刷功能有关的信息的PrintTicket,并将该PrintTicket 编入所述第一PrintTicket的所述区域而生成第二PrintTicket;以及第5步骤, 将所述第二PrintTicket变换为所述印刷装置能够解释的第三PrintTicket。
本发明的另一侧面是,一种打印机驱动器的印刷功能的追加方法,该打 印机驱动器在对印刷装置指示印刷的计算机装置中进行动作,其特征在于, 所述追加方法执行以下步骤:第1步骤,生成定义印刷功能的PrintTicket; 第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一PrintTicket; 第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷设定 画面显示到显示部;第4步骤,生成记述了在所述印刷设定画面中输入的与 其他的印刷功能有关的信息的PJL命令,并将该PJL命令编入所述第一 PrintTicket的所述区域而生成第二PrintTicket;以及第5步骤,将所述第二 PrintTicket变换为所述印刷装置能够解释的第三PrintTicket。
本发明的又一侧面是,一种打印机驱动器的印刷功能的追加方法,该打 印机驱动器在对印刷装置指示印刷的计算机装置中进行动作,其特征在于, 所述追加方法执行以下步骤:第1步骤,生成定义印刷功能的PrintTicket; 第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一PrintTicket; 第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷设定 画面显示到显示部;第4步骤,生成记述了在所述印刷设定画面中输入的与 其他的印刷功能有关的信息的第一PJL命令,并将该第一PJL命令编入所述 第一PrintTicket的所述区域而生成第二PrintTicket;以及第5步骤,将所述第 二PrintTicket变换为所述印刷装置能够解释的第二PJL命令。
根据本发明的打印机驱动器的印刷功能的追加方法,能够简便地追加新 的印刷功能。
其理由是,在利用具备打印机驱动器核心部和印刷设定UI部的打印机驱 动器来追加新的印刷功能时,进行如下控制:打印机驱动器核心部生成定义 了用于追加印刷功能的区域的第一PrintTicket而传送到印刷设定UI部,印刷 设定UI部生成记述了与新的印刷功能有关的信息的PrintTicket,并将该 PrintTicket编入第一PrintTicket的已定义的区域而生成第二PrintTicket后传送 到打印机驱动器核心部,打印机驱动器核心部将第二PrintTicket变换为在印 刷装置中能够解释的第三PrintTicket。
此外,因为进行以下控制:打印机驱动器核心部生成定义了用于追加印 刷功能的区域的第一PrintTicket而传送到印刷设定UI部,印刷设定UI部生 成记述了与新的印刷功能有关的信息的PJL(Printer Job Language;打印机作 业语言)命令,并将该PJL命令编入第一PrintTicket的已定义的区域而生成 第二PrintTicket后传送到打印机驱动器核心部,打印机驱动器核心部将第二 PrintTicket变换为在印刷装置中能够解释的PrintTicket。
此外,因为进行以下控制:打印机驱动器核心部生成定义了用于追加印 刷功能的区域的第一PrintTicket而传送到印刷设定UI部,印刷设定UI部生 成记述了与新的印刷功能有关的信息的第一PJL命令,并将该第一PJL命令 编入第一PrintTicket的已定义的区域而生成第二PrintTicket后传送到打印机 驱动器核心部,打印机驱动器核心部将第二PrintTicket变换为在印刷装置中 能够解释的第二PJL命令。
附图说明
图1是示意性地表示本发明的实施例1的印刷系统的结构的图。
图2是表示本发明的实施例1的计算机装置的结构的方框图。
图3是表示本发明的实施例1的计算机装置的功能的方框图。
图4是本发明的实施例1的GPD文件的一例。
图5是本发明的实施例1的DevModeMap.xml的一例。
图6A、6B是本发明的实施例1的记述了禁则JavaScript部执行的处理的 句法的一例。
图7是本发明的实施例1的通过印刷设定UI部显示的印刷设定画面的一 例。
图8是表示本发明的实施例1的打印机驱动器的处理的流程图。
图9是表示本发明的实施例1的计算机装置的功能间的数据流向(XPS 印刷路径的情况)的时序图。
图10是表示本发明的实施例1的计算机装置的功能间的数据流向(GDI 印刷路径的情况)的时序图。
图11是本发明的实施例1的PrintTicket(0)的一例。
图12是本发明的实施例1的PrintTicket(1)的一例(对PrintTicket(0) 定义了区域的状态)。
图13是本发明的实施例1的PrintTicket(2)的一例(在PrintTicket(1) 的区域中将规定新的印刷功能的PrintTicket以CDATA形式编入的状态)。
图14是本发明的实施例1的PrintTicket(3)的一例(将PrintTicket(2) 变换为能够在印刷装置中进行解释的状态)。
图15是本发明的实施例1的PrintTicket和DEVMODE构造体的相互变 换的一例。
图16是表示本发明的实施例2的打印机驱动器的处理的流程图。
图17是表示本发明的实施例3的打印机驱动器的处理的流程图。
标号说明
10 印刷装置
20 计算机装置
21 控制部
21a CPU
21b ROM
21c RAM
22 存储部
23 通信I/F部
24 显示部
25 操作部
30 应用
40 打印机驱动器核心部
41 GPD文件
42 DevModeMap.xml
43 构成处理部
44 禁则JavaScript部
45 绘制处理部
46 印刷过滤器
50 印刷设定UI部
51 PT/PC处理部
52 双向通信处理部
53 UI处理部
60 印刷设定画面
具体实施方式
如背景技术中所示,由硬件制造商提供与WindowsOS相应的打印机驱动 器,且面向作为新的WindowsOS的Windows8或Server2012,正在进行版本 4的打印机驱动器的开发。该版本4的打印机驱动器由打印机驱动器核心部 和印刷设定UI部的两个层构成,打印机驱动器核心部和印刷设定UI部的关 系记载在“V4Printer Driver White Paper”(http://msdn.microsoft.com/library /windows/hardware/br259124)等中。
根据该“V4Printer Driver White Paper”,印刷设定的定义通过打印机驱 动器核心部(GPD/PPD文件、JavaScript约束(contraints))实施,作为其结果 而生成PrintTicket以及PrintCapabilities。并且,打印机驱动器核心部和印刷 设定UI部的交换通过该PrintTicket、PrintCapabilities以及属性包进行。
因此,印刷功能的追加必须由打印机驱动器核心部进行,即便假定在印 刷设定UI部中对PrintTicket将新的印刷功能的设定值追加到节点,如果没有 通过打印机驱动器核心部定义该印刷功能,则在进行实际的印刷处理之前的 过程中被追加到PrintTicket的信息将会被丢弃因而不会反映到输出中。即, 在进行印刷功能的追加时需要打印机驱动器核心部的修正,但打印机驱动器 核心部的修正需要非常大的工时,因而存在无法简便地追加印刷功能的问题。
上述问题是在打印机驱动器核心部和印刷设定UI部作为不同的层构成 的版本4的打印机驱动器模型中新产生的问题,在开发这样的版本4的打印 机驱动器时,要求解决上述问题的方法。
因此,在本发明的一实施方式中,为了使能够通过印刷设定UI部进行印 刷功能的追加,在由打印机驱动器核心部生成PrintTicket时,对PrintTicket 定义用于追加印刷功能的区域。并且,印刷设定UI部生成记述了印刷功能的 PrintTicket或PJL,在从打印机驱动器核心部获取的PrintTicket的已定义的区 域中编入在印刷设定UI部中生成的PrintTicket或PJL。然后,在打印机驱动 器核心部中解释已编入的PrintTicket或PJL,并变换为印刷装置能够解释的 PrintTicket或PJL,将变换后的PrintTicket或PJL发送到印刷装置从而指示其 进行印刷。
由此,不用进行打印机驱动器核心部的修正(程序主体的修正),仅凭通 过数据的追加或JavaScript的记述的追加而对PrintTicket定义用于保存信息的 区域,从而能够由印刷设定UI部追加新的印刷功能。
[实施例1]
为了进一步详细说明上述的本发明的实施方式,参照图1至图15说明本 发明的实施例1的打印机驱动器以及打印机驱动器的印刷功能的追加方法。 图1是示意性地表示本实施例的印刷系统的结构的图,图2是表示本实施例 的计算机装置的结构的方框图,图3是表示计算机装置的功能的方框图。此 外,图4是GPD文件的一例,图5是DevModeMap.xml的一例,图6A、6B 是记述了禁则JavaScript部执行的处理的句法的一例。此外,图7是印刷设定 画面的一例,图8是表示本实施例的打印机驱动器的处理的流程图,图9以 及图10是表示本实施例的计算机装置的功能间的数据流向的时序图。此外, 图11至图14是PrintTicket的一例,图15是PrintTicket和DEVMODE构造 体的相互变换的一例。
如图1所示,本实施例的印刷系统由按照印刷指示来执行印刷处理的印 刷装置10和进行印刷指示的印刷指示装置(称为计算机装置20)构成,它 们经由LAN(局域网)或WAN(广域网)等的通信网络而连接。
印刷装置10是能够印刷XPS(XML Paper Specification,XML文件规格) 形式的文档的打印机或MFP(多功能外围设备)等,具备分析从计算机装置 20发送的印刷数据,将印刷数据的各页进行光栅化而生成每页的图像数据, 利用电子照相方式或静电记录方式等的成像进程将基于图像数据的图像印刷 到用纸上的功能。
此外,计算机装置20是个人计算机或在WindowsOS上动作的移动设备 (智能手机或平板终端)等,如图2所示,由控制部21、存储部22、通信I/F 部23、显示部24、操作部25等构成。
控制部21由CPU(中央处理单元)21a、ROM(只读存储器)21b或RAM (随机存取存储器)21c等的存储器构成。CPU21a从ROM21b或存储部22 读出用于控制计算机装置20的动作的程序、OS(在本实施例中,版本4的 打印机驱动器能够动作的WindowsOS)、应用、控制印刷装置10的打印机驱 动器(在本实施例中,打印机驱动器核心部和印刷设定UI部由不同层构成的 版本4的打印机驱动器)后展开到RAM21c而执行。另外,关于应用、打印 机驱动器核心部、印刷设定UI部在后面叙述。
存储部22由HDD(硬盘驱动)等构成,存储程序或文档数据、印刷数 据等。
通信I/F部23由NIC(网络接口卡)或调制解调器等构成,经由无线网 络或有线网络进行与印刷装置10的数据通信。
显示部24由LCD(液晶显示器)等构成,显示应用的画面或在印刷设 定UI部中生成的印刷设定画面等。
操作部25由鼠标或键盘、在显示部24上形成的触摸传感器等构成,能 够进行文档的制作或印刷装置10的印刷功能的设定等操作。
图3是表示计算机装置20的控制部21的功能的方框图。计算机装置20 的控制部21作为应用30、打印机驱动器核心部40、印刷设定UI部50等发 挥作用。
应用30是在OS上动作的程序(例如,在WindowsOS上动作的Microsoft  Office等),制作成为印刷对象的文档数据。
打印机驱动器核心部40是在OS上动作的程序,与应用30、印刷设定 UI部50连动而对印刷装置10进行印刷指示。该打印机驱动器核心部40由 GPD文件41、DevModeMap.xml42、构成处理部43、禁则JavaScript部44、 绘制处理部45、印刷过滤器46等构成。
GPD文件41是构成文件之一,定义印刷装置10的各印刷功能。 DevModeMap.xml42对DEVMODE构造体(由Microsoft公司规定的、用于 存储与印刷功能有关的信息的构造体)的Private区域(各打印机供应商能够 自由地定义的区域)定义数据的保存区域。构成处理部43基于GPD文件41 以及DevModeMap.xml42,生成以XML形式记述了用户能够设定的印刷功能 的设定项目和能够设定的设定值的PrintCapabilities(印刷功能信息),生成记 述了用户从在PrintCapabilities中记述的设定值中选择的设定值的PrintTicket (印刷设定信息),以及调用禁则JavaScript部44。
禁则JavaScript部44对于PrintTicket/PrintCapabilities,处理印刷功能的 设定的竞争。例如,当第1功能(整版功能等)的设定和第2功能(打孔的 功能等)的设定不并存时,将一个功能的设定变更为与另一个功能的设定并 存。此外,禁则JavaScript部44能够进行利用了JavaScript的 PrintTicket/PrintCapabilities的编辑。绘制处理部45将来自应用30的印刷命 令变换为能够由印刷装置10解释的语言。印刷过滤器46在绘制时进行描绘 命令或印刷控制命令的编辑。例如,将在为了保存信息而定义的区域中采用 字符串追加了印刷功能的PrintTicket编辑成印刷装置10能够解释的 PrintTicket。
印刷设定UI部50是在OS上动作的程序,由PT/PC处理部51、双向通 信处理部52、UI处理部53等构成。
PT/PC处理部51处理(解释)从打印机驱动器核心部40取得的 PrintTicket/PrintCapabilities。此外,PT/PC处理部51生成基于在印刷设定画 面60中设定的信息来规定印刷功能的PrintTicket,在从打印机驱动器核心部 40取得的PrintTicket中编入已生成的PrintTicket后返还至打印机驱动器核心 部40。双向通信处理部52与印刷装置10进行双向通信,取得印刷装置10 的能力信息。UI处理部53基于由PT/PC处理部51解释的 PrintTicket/PrintCapabilities的内容或在双向通信中取得的能力信息,生成印 刷设定画面60,以及对显示部24进行显示。
另外,在本实施例中,说明使用GPD文件41作为定义印刷功能的构成 文件的情况,但关于使用PPD文件的情况,也同样能够应用本实施例的印刷 功能的追加方法。
以下,参照数据的具体记述例来说明如何定义功能。
图4是GPD文件41的一例。通过图中的“*Feature:”进行印刷功能的 定义。此外,通过“*Feature:”的下位要素的“*Option:”进行各印刷功能 的设定值的定义。在该例子中,正在进行方向(Orientation)、纸张尺寸 (PaperSize)的印刷设定的定义。
图5是DevModeMap.xml42的一例。在该例子中,通过“<Property  Name=″JobPTExtra″>”、“<String Length=″2048″></String>”进行区域的定义。 这里,定义了识别符为JobPTExtra、数据型为字符串型、尺寸为2048字符的 区域。另外,能够通过追加Property元素来定义多个区域。
图6A、6B是记述了禁则JavaScript部44执行的处理的句法的一例。 convertPrintTicketToDevMode函数在图15所示的“PrintTicket和DEVMODE 构造体的相互变换”中,进行将PrintTicket的“ParameterInit:JobPTExtra”的 “Value”的值设定到DEVMODE构造体的Private(2)的“JobPTExtra”的 处理(参照图15的1503)。此外,convertDevModeToPrintTicket函数对 PrintTicket追加JobPTExtra的节点。通过该处理,在图11所示的PrintTicket (0)中追加作为保存信息的区域的<psf:ParameterInit name=″ns0000: JobPTExtra″>~</psf:ParameterInit>的节点,生成图12所示的PrintTicket(1) (参照图的虚线框内)。此外,convertDevModeToPrintTicket函数在图15所 示的“PrintTicket和DEVMODE构造体的相互变换”中,进行将DEVMODE 构造体的Private(2)的“JobPTExtra”的值设定到PrintTicket的 “ParameterInit:JobPTExtra”的“Value”的处理(参照图15的1504)。
图7是印刷设定画面60的一例。这里,设置有作为通过印刷设定UI部 50追加的印刷功能的“用户ID”、“口令”的栏。按照这些栏的设定内容,PT/PC 处理部51生成PrintTicket作为印刷控制命令,并将已生成的PrintTicket以 CDATA形式追加到图12所示的PrintTicket(1)的“ParameterInit:JobPTExtra” 的“Value”、即<psf:Value xsi:type=″xsd:string″>和</psf:Value>之间(追加 “<![CDATA~]]>”),生成图13所示的PrintTicket(2)(参照图的虚线框内)。
然后,图13所示的PrintTicket(2)通过打印机驱动器核心部40(印刷 过滤器46)被变换为印刷装置10能够解释的PrintTicket(图14所示的 PrintTicket(3),参照图的虚线框内),通过该PrintTicket(3)对印刷装置10 进行印刷指示。
以下,说明本实施例的计算机装置20的处理(XPS印刷路径)。CPU21a 将在ROM21b或者存储部22中存储的打印机驱动器展开到RAM21c中执行, 从而执行图8的流程图以及图9的时序图所示的各处理。另外,图9是应用 30和打印机驱动器(打印机驱动器核心部40)以XPS形式进行交换时的例 子。
首先,应用30对打印机驱动器核心部40请求图9的“1.取得PrintTicket”。 打印机驱动器核心部40(构成处理部43)在图9的“1.1.生成PrintTicket” 中,基于GPD文件的定义,生成图11所示的PrintTicket(0)(图8的S101)。 并且,打印机驱动器核心部40(禁则JavaScript部44)在图9的“1.2.对 PrintTicket追加JobPTExtra”处理中,基于DevModeMap.xml42的记述,通 过convertDevModeToPrintTicket函数,对PrintTicket(0)进行<psf:ParameterInit  name=″ns0000:JobPTExtra″>~</psf:ParameterInit>的节点追加处理,生成图12 所示的PrintTicket(1)(图8的S102)。然后,将已生成的PrintTicket(1) 通知给应用30。
接着,应用30在进行图9的“2.印刷设定”时,以预先取得的PrintTicket (1)作为自变量而指示印刷设定UI的显示。印刷设定UI部50(PT/PC处 理部51)解释PrintTicket(1),印刷设定UI部50(双向通信处理部52)与 印刷装置10主体进行双向通信,从而进行“2.1.1.取得装置信息”。由此取得 印刷装置10主体具有的能力信息。
接着,在图9的“2.1.2.显示UI”中,印刷设定UI部50(UI处理部53) 基于PT/PC处理部51解释的PrintTicket(1)和双向通信处理部52取得的印 刷装置10的能力信息,生成图7所示的印刷设定UI画面60而显示到显示部 24,使用户进行印刷设定。并且,如果用户进行的印刷设定完成,则进行 PrintTicket的更新。此时,印刷设定UI部50(PT/PC处理部51)按照印刷设 定UI画面60的设定内容,生成记述了与已追加的印刷功能有关的信息的 PrintTicket(图8的S103),在图9的“2.1.3.对JobPTExtra的Value追加值” 处理中,将已生成的PrintTicket以CDATA形式追加到图12的PrintTicket(1) 的“ParameterInit:JobPTExtra”的“Value”(作为字符来追加而不是文字标记 (markup)的记号),生成图13的PrintTicket(2)(图8的S104)。在该 PrintTicket(2)的状态中,已追加的印刷功能的PrintTicket内的 <psf:ParameterInit name=″ns0000:AuthUserID″>~</psf:ParameterInit>、 <psf:ParameterInit name=″ns0000:AuthPassword″>~</psf:ParameterInit>被当做 诸如对字符串要素设定的字符串处理,因而是印刷装置10中无法解释的状 态。然后,PrintTicket(2)经由打印机驱动器核心部40被归还至应用30。
接着,应用30在进行图9的“3.印刷”时,将PrintTicket(2)和XPS 形式的描绘数据作为自变量递交给打印机驱动器核心部40。打印机驱动器核 心部40(印刷过滤器46)在图9的“3.1的将JobPTExtra的Value追加到PT” 处理中,进行将在图13的PrintTicket(2)的“ParameterInit:JobPTExtra”的 “Value”中以CDATA形式设定的信息作为印刷装置10能够解释的PrintTicket 来读取,并移动到PrintTicket的根级别,删除PrintTicket(2)的 <psf:ParameterInit name=″ns0000:JobPTExtra″>以下的节点,写入已读取的 PrintTicket的处理,从而变换为图13所示的PrintTicket(3)(图8的S105)。 在该PrintTicket(3)中,已追加的印刷功能的PrintTicket内的<psf:ParameterInit  name=″ns0000:AuthUserID″>~</psf:ParameterInit>、<psf:ParameterInit  name=″ns0000:AuthPassword″>~</psf:ParameterInit>成为在印刷装置10中能 够解释的状态。
然后,在图9的“3.2.印刷”处理中PrintTicket(3)和XPS形式的描绘 数据被发送到印刷装置10,在印刷装置10中对追加了印刷功能的PrintTicket (3)进行解释并输出。
另外,在图9中,示出了应用30和打印机驱动器(打印机驱动器核心部 40)以XPS形式进行交换的情况(XPS印刷路径),但也能够如图10所示那 样,应用30和打印机驱动器(打印机驱动器核心部40)经由GDI(图形设 备接口:进行在WindowsOS上搭载的图形处理的程序)进行交换。这时的基 本处理的流程与图9的XPS印刷路径相同,但在图10的GDI印刷路径的情 况下,在应用30和打印机驱动器核心部40的交换时,需要采用WindowsOS 能够利用的DEVMODE构造体而不是PrintTicket来进行处理,因此 “PrintTicket至DEVMODE处理”、“DEVMODE至PrintTicket处理”被追加。
具体地说,在图10的“1.2.对PrintTicket追加JobPTExtra”处理之后, 通过打印机驱动器核心部40(禁则JavaScript部44)进行“1.3.PrintTicket至 DEVMODE”处理,对应用30通知将PrintTicket(1)变换成DEVMODE构 造体后的DEVMODE(1)而不是PrintTicket(1)。此外,在“2.印刷设定” 处理时,通过打印机驱动器核心部40(禁则JavaScript部44)进行 “2.1.DEVMODE至PrintTicket”处理,在印刷设定UI部50中被通知 PrintTicket(1)。
同样地,在“2.2.3.对JobPTExtra的Value设定值”处理之后,通过打印 机驱动器核心部40(禁则JavaScript部44)进行“2.3.PrintTicket至DEVMODE” 处理,对应用30通知将PrintTicket(2)变换成DEVMODE构造体后的 DEVMODE(2)而不是PrintTicket(2)。此外,在“3.印刷”处理时,通过 打印机驱动器核心部40(禁则JavaScript部44)进行“3.1.DEVMODE至 PrintTicket”处理,将DEVMODE构造体变换为PrintTicket(2)之后进行“3.2. 将JobPTExtra的Value追加到PT”处理,在印刷装置10中被通知PrintTicket (3)。
图15表示上述的PrintTicket和DEVMODE构造体的相互变换的概略。 DEVMODE构造体被分为Microsoft公司定义构造的各供应商公共的Public 部和供应商能够独自定义构造的Private部。通过由GPD文件定义的内容, 对DEVMODE构造体的Public部和Private(1)部自动地确保区域。此外, 以DevModeMap.xml42的定义为基础,对Private(2)部确保区域(参照图 15的1505)。
然后,在相互变换中,自动地进行PrintTicket与DEVMODE构造体的 Public部和Private(1)部之间的相互变换(参照图15的1501、1502)。Private (2)部与PrintTicket的相互变换,通过禁则JavaScript部44的 converPrintTicketToDevMode函数以及converDevModeToPrintTicket函数进行 变换(参照图15的1503、1504)。
如以上说明的那样,在追加新的印刷功能的情况下,进行以下控制:打 印机驱动器核心部40生成定义了用于追加印刷功能的区域(用于保存信息的 区域)的PrintTicket(1)而传送到印刷设定UI部50,印刷设定UI部50生 成记述了与新的印刷功能有关的信息的PrintTicket,在PrintTicket(1)的已 定义的区域中编入已生成的PrintTicket从而生成PrintTicket(2)之后传送到 打印机驱动器核心部40,打印机驱动器核心部40将PrintTicket(2)变换成 在印刷装置10中能够解释的PrintTicket(3)之后发送到印刷装置10,从而 能够简单地追加新的印刷功能。
[实施例2]
下面,参照图16说明本发明的实施例2的打印机驱动器以及打印机驱动 器的印刷功能的追加方法。图16是表示本实施例的打印机驱动器的处理的流 程图。
另外,本实施例的印刷系统的基本结构与前述的实施例1相同,但在本 实施例中,其特征在于,印刷设定UI部50的PT/PC处理部51以PCL(Printer  Control Language;打印机控制语言)或PS(Post Script:Adobe系统开发的 页面记述语言)等的PJL命令来记述新的印刷功能,在PrintTicket的已定义 的区域中编入PJL命令作为印刷控制命令,打印机驱动器核心部40将编入了 PJL命令的PrintTicket变换为在印刷装置10中能够解释的PrintTicket。
以下,说明本实施例的计算机装置20的处理。CPU21a将在ROM21b或 者存储部22中存储的打印机驱动器展开到RAM21c来执行,从而执行图16 的流程图所示的各处理。
首先,应用30对打印机驱动器核心部40进行PrintTicket取得请求。打 印机驱动器核心部40(构成处理部43)基于GPD文件的定义,生成PrintTicket (0)(参照图11)(图16的S201)。然后,打印机驱动器核心部40(禁则 JavaScript部44)基于DevModeMap.xml42的记述,通过 convertDevModeToPrintTicket函数对PrintTicket(0)进行节点追加处理,并 生成PrintTicket(1)(参照图12)(图16的S202)。然后,将已生成的 PrintTicket(1)通知给应用30。
接着,应用30将PrintTicket(1)作为自变量指示印刷设定UI的显示。 印刷设定UI部50(PT/PC处理部51)解释PrintTicket(1),印刷设定UI部 50(双向通信处理部52)与印刷装置10主体进行双向通信,从而取得印刷 装置10主体具有的能力信息。然后,印刷设定UI部50(UI处理部53)将 印刷设定UI画面60显示到显示部24,使用户进行印刷设定。如果用户进行 的设定完成,则印刷设定UI部50(PT/PC处理部51)按照印刷设定UI画面 60的设定内容,生成规定已追加的印刷功能的PJL命令(参照图16的S203), 对PrintTicket(1)编入已生成的PJL命令(图16的S204)。然后,编入了 PJL命令的PrintTicket(1)经由打印机驱动器核心部40被返还至应用30。
接着,应用30将编入了PJL命令的PrintTicket(1)和XPS形式的描绘 数据作为自变量而指示印刷。打印机驱动器核心部40(印刷过滤器46)读取 已编入PJL命令的PrintTicket(1),并变换为在印刷装置10中能够解释的 PrintTicket(图16的S205)。然后,该PrintTicket和描绘数据从打印机驱动 器核心部40被发送到印刷装置10,在印刷装置10中对追加了印刷功能的 PrintTicket进行解释并输出。
这样,印刷设定UI部50生成PJL命令作为规定已追加的印刷功能的印 刷控制命令,打印机驱动器核心部40将编入了PJL命令的PrintTicket变换为 印刷装置10能够解释的PrintTicket,由此也能够与实施例1同样地,简单地 追加新的印刷功能。
在本实施例中也同样,能够使用PPD文件来代替GPD文件41作为定义 印刷功能的构成文件。此外,应用30和打印机驱动器(打印机驱动器核心部 40)也能够经由GDI进行交换,该情况下,与实施例1同样地追加“PrintTicket 至DEVMODE处理”、“DEVMODE至PrintTicket处理”而进行PrintTicket 和DEVMODE构造体的相互变换即可。
[实施例3]
下面,参照图17说明本发明的实施例3的打印机驱动器以及打印机驱动 器的印刷功能的追加方法。图17是表示本实施例的打印机驱动器的处理的流 程图。
另外,本实施例的印刷系统的基本结构也与前述的实施例1相同,但在 本实施例中,其特征在于,设为印刷装置10不具有处理XPS形式的印刷数 据的功能,能够处理以PJL记述的印刷数据,印刷设定UI部50的PT/PC处 理部51生成用于规定新的印刷功能的PJL命令,对PrintTicket编入PJL命令, 打印机驱动器核心部40将编入了PJL命令的PrintTicket变换为在印刷装置 10中能够处理的PJL命令。
以下,说明本实施例的计算机装置20的处理。CPU21a将在ROM21b或 者存储部22中存储的打印机驱动器展开至RAM21c而执行,从而执行图17 的流程图所示的各处理。
首先,应用30对打印机驱动器核心部40进行PrintTicket取得请求。打 印机驱动器核心部40(构成处理部43)基于GPD文件的定义,生成PrintTicket (0)(参照图11)(图17的S301)。然后,打印机驱动器核心部40(禁则 JavaScript部44)基于DevModeMap.xml42的记述,通过 convertDevModeToPrintTicket函数对PrintTicket(0)进行节点追加处理,生 成PrintTicket(1)(参照图12)(图17的S302)。然后,将已生成的PrintTicket (1)通知给应用30。
接着,应用30将PrintTicket(1)作为自变量而指示印刷设定UI的显示。 印刷设定UI部50(PT/PC处理部51)解释PrintTicket(1),印刷设定UI部 50(双向通信处理部52)与印刷装置10主体进行双向通信,从而取得印刷 装置10主体具有的能力信息。然后,印刷设定UI部50(UI处理部53)将 印刷设定UI画面60(参照图7)显示到显示部24,使用户进行印刷设定。 如果用户进行的设定完成,则印刷设定UI部50(PT/PC处理部51)按照印 刷设定UI画面60的设定内容,生成规定已追加的印刷功能的PJL命令(设 为PJL(1)命令。)(图17的S303),对PrintTicket(1)编入已生成的PJL (1)命令(图17的S304)。然后,编入了PJL(1)命令的PrintTicket(1) 经由打印机驱动器核心部40被返还至应用30。
接着,应用30将编入了PJL(1)命令的PrintTicket(1)和描绘数据作 为自变量而指示印刷。打印机驱动器核心部40(印刷过滤器46)读取已编入 PJL(1)命令的PrintTicket(1),生成在印刷装置10中能够解释的PJL命令 (设为PJL(2)命令)(图17的S305)。然后,PJL(2)命令和描绘数据从 打印机驱动器核心部40被发送到印刷装置10,在印刷装置10中对追加了印 刷功能的PJL(2)命令进行解释并输出。
这样,印刷设定UI部50生成PJL命令作为规定已追加的印刷功能的印 刷控制命令,打印机驱动器核心部40将编入了PJL命令的PrintTicket变换为 印刷装置10能够解释的PJL命令,由此也能够与实施例1同样地,简单地追 加新的印刷功能。
在本实施例中也同样,能够使用PPD文件来代替GPD文件41作为定义 印刷功能的构成文件。此外,应用30和打印机驱动器(打印机驱动器核心部 40)也能够经由GDI进行交换,该情况下,与实施例1同样地追加“PrintTicket 至DEVMODE处理”、“DEVMODE至PrintTicket处理”而进行PrintTicket 和DEVMODE构造体的相互变换即可。
另外,本发明不限于上述实施例,只要不脱离本发明的宗旨,则打印机 驱动器的结构或印刷功能的追加方法能够适当变更。
本发明能够利用于在WindowsOS上动作的打印机驱动器、尤其是版本4 的打印机驱动器和记录了该打印机驱动器的记录介质、以及利用了该打印机 驱动器的功能追加方法。

打印机驱动器的印刷功能的追加方法.pdf_第1页
第1页 / 共31页
打印机驱动器的印刷功能的追加方法.pdf_第2页
第2页 / 共31页
打印机驱动器的印刷功能的追加方法.pdf_第3页
第3页 / 共31页
点击查看更多>>
资源描述

《打印机驱动器的印刷功能的追加方法.pdf》由会员分享,可在线阅读,更多相关《打印机驱动器的印刷功能的追加方法.pdf(31页珍藏版)》请在专利查询网上搜索。

一种打印机驱动器的印刷功能的追加方法,该打印机驱动器在对印刷装置指示印刷的计算机装置中进行动作,所述追加方法执行以下步骤:第1步骤,生成记述了与印刷功能有关的信息的PrintTicket;第2步骤,对所述PrintTicket定义用于保存信息的区域而生成第一PrintTicket;第3步骤,基于所述第一PrintTicket而生成印刷设定画面,并使该印刷设定画面显示到显示部;第4步骤,生成记述了在。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1