信息处理装置和用于信息处理装置的方法与流程

文档序号:24159852发布日期:2021-03-05 15:01阅读:136来源:国知局
信息处理装置和用于信息处理装置的方法与流程

[0001]
本公开涉及一种应用和信息处理装置,其扩展了与打印机驱动程序分离的打印机驱动程序的功能。


背景技术:

[0002]
一般而言,使用打印机驱动程序将打印数据从主计算机发送到打印机装置的构造是已知的。操作系统(os)作为基本软件被安装在主计算机中,并且打印机驱动程序根据os定义的规范进行构造,并在从os调用时运行。
[0003]
提供打印机装置的供应商可以通过提供适合于符合os规范的打印机装置的打印机驱动程序,来提供使用os以指示打印机进行打印的组件。
[0004]
当windows(注册商标)8或microsoft(注册商标)的早期版本用作os时,打印机驱动程序由称为v3打印机驱动程序的架构构造。v3打印机驱动程序可以提供在来自用户的请求发生时显示用户界面(ui)并敦促用户进行某个操作的功能。
[0005]
此外,近年来,在windows 8或更高版本中,出现了一种称为v4打印机驱动程序的架构。在v4打印机驱动程序中,由于优先考虑安全属性,因此v4打印机驱动程序的自定义属性低于v3打印机驱动程序的自定义属性。
[0006]
例如,在v4打印机驱动程序中,配置模块由os提供,并且提供打印机装置的供应商可以仅提供用于自定义打印机装置的操作的设置文件或脚本文件。为了补偿v4打印机驱动程序中自定义属性的降低,提供打印机装置的供应商可以提供应用用于辅助(扩展)打印机驱动程序的功能的专用应用。这种应用称为通用windows平台(uwp,universal windows platform)设备应用。uwp设备应用是与打印机驱动程序分离的应用。
[0007]
在uwp设备应用中,提供打印机装置的供应商提供元数据,该元数据包括称为设备级的打印机驱动程序的硬件id(hardwareid)和基于打印机驱动程序的uwp设备应用的id。因此,打印机驱动程序和与打印机驱动程序分离的uwp设备应用可以彼此关联。请注意,单个uwp设备应用通常支持多个打印机驱动程序。uwp设备应用在microsoft store(微软商店)(注册商标)中打开,并自动传递给用户。
[0008]
uwp设备应用可以具有称为工作流(wf,workflow)的功能,该功能响应于预定的用户操作等而执行与打印有关的处理。此外,uwp设备应用可以具有称为打印首选项(printpreference)的、用于设置打印机独有的打印设置的功能。
[0009]
此外,一种被称为通用打印机驱动程序的打印机驱动程序,其作为用于控制具有不同功能的多种类型打印机装置的打印机驱动程序是已知的(日本专利申请特开第2015-135658号公报)。在这种类型的打印机驱动程序中,预先在型号基础上包括各个单独打印机装置的功能,并且根据型号显示最佳ui。


技术实现要素:

[0010]
如上所述,从微软商店等将uwp设备应用提供给所有用户。本发明人已经注意到,
这样的uwp设备应用不能基于用户自定义功能。
[0011]
本说明书包括解决上述问题的实施例。本说明书包括对应用的功能进行自定义的机制,该应用的功能与打印机驱动程序分离并被构造为基于用户扩展打印机驱动程序。
[0012]
通过参照附图对示例性实施例的以下描述,本发明的其它特征将变得明显。
附图说明
[0013]
图1是例示根据本实施例的打印系统的构造的示例的图。
[0014]
图2是例示本实施例的信息处理装置的硬件构造的示例的框图。
[0015]
图3是例示本实施例的信息处理装置的软件构造的示例的图。
[0016]
图4a是例示指示元数据中被支持设备信息的描述的示例的图。
[0017]
图4b是例示指示元数据中打印扩展应用的描述的示例的图。
[0018]
图5是例示由元数据构建的打印环境的示例的图。
[0019]
图6a是例示os的ui的示例的图。
[0020]
图6b是例示打印扩展应用的标准ui的设备菜单窗口的示例的图。
[0021]
图6c是例示打印扩展应用的标准ui的设备页面的示例的图。
[0022]
图6d是例示加载项(add-in)窗口的示例的图。
[0023]
图6e是例示加载项窗口的示例的另一图。
[0024]
图7a是例示本实施例的信息处理装置中基本打印流程的示例的流程图。
[0025]
图7b是例示本实施例的信息处理装置中基本打印流程的示例的流程图。
[0026]
图8a是例示打印扩展应用的详细打印设置ui的图。
[0027]
图8b是例示打印扩展应用的详细打印设置ui的图。
[0028]
图8c是例示打印扩展应用的详细打印设置ui的图。
[0029]
图9a是例示打印启动处理的示例的流程图。
[0030]
图9b是例示打印启动处理的示例的流程图。
[0031]
图10a是例示打印扩展应用的打印启动ui的进度窗口的示例的图。
[0032]
图10b是例示打印扩展应用的打印启动ui的安全打印输入窗口的示例的图。
[0033]
图10c是例示打印扩展应用的打印启动ui的加载项窗口的示例的图。
[0034]
图11是例示在加载项信息描述单元中描述的加载项信息的示例的图。
[0035]
图12a是例示加载项窗口显示处理的示例的流程图。
[0036]
图12b是例示加载项信息列表生成处理的示例的流程图。
[0037]
图12c是例示与型号相关的加载项应用确认处理的示例的流程图。
[0038]
图13是例示加载项应用启动处理的示例的流程图。
[0039]
图14a是例示加载项应用的ui的示例的图。
[0040]
图14b是例示与打印扩展应用一起传送的加载项应用的传送信息的示例的图。
具体实施方式
[0041]
下面将参照附图描述用于实现本公开的实施例。注意,以下实施例并不旨在限制根据权利要求的公开,并且在实施例中描述的特征的所有组合对于本公开提供的解决方案不一定是必需的。
[0042]
首先,将参照图1描述根据本公开的打印系统的构造。
[0043]
图1是例示根据本公开的一个实施例的打印系统的构造的示例的图。
[0044]
本实施例的打印系统具有客户端计算机101、服务器104、打印机102以及不同于打印机102的另一台打印机105。客户端计算机101是信息处理装置的示例。服务器104用于将数据传递到客户端计算机101,并且可以被构造为通过使用云服务等来实现。打印机102和105接收页面描述语言(pdl)格式的打印数据并进行打印。这些装置可以经由包括广域网(wan)的网络103彼此通信。
[0045]
注意,打印机102和打印机105可以是仅具有打印功能的单功能打印机(sfp),或者可以是具有打印功能、扫描功能和复印功能的多功能打印机(mfp)。此外,不限于两个打印机,还可以将一个或三个或更多打印机连接到网络103。
[0046]
此外,不限于一个客户端计算机101,可将多个客户端计算机101连接到网络103。客户端计算机101可以将打印数据发送到打印机102、打印机105等。
[0047]
图2是例示客户端计算机101的硬件构造的示例的框图。
[0048]
客户端计算机101具有中央处理单元(cpu)201、随机存取存储器(ram)202、外部存储器209和只读存储器(rom)203。
[0049]
包括cpu 201的控制单元200控制客户端计算机101的整体操作。cpu 201将存储在rom 203或外部存储器209中的程序加载到ram 202,并执行该程序以进行各种控制,例如,对ui窗口的控制、打印数据的生成、打印数据的传送等。rom 203存储可由cpu 201执行的控制程序或引导程序、各种数据等。ram 202是cpu 201的主存储器,并且用作用于加载各种程序的工作区域或临时存储区域。
[0050]
外部存储器209经由外部存储器i/f 208连接到控制单元200。外部存储器209存储各种程序(例如,在稍后描述图3中详细例示的应用210、应用执行环境211、os 212等)、各种数据(未示出)等。尽管在本实施例中,诸如硬盘驱动器(hdd)的辅助存储设备被假定为外部存储器209,但是也可以使用诸如固态驱动器(ssd)的非易失性存储器代替hdd或与之一起使用。上述的诸如cpu 201、ram 202、rom 203、外部存储器209等的硬件部件形成所谓的计算机。
[0051]
操作输入设备i/f 204是控制操作输入设备205的接口。操作输入设备205用作接受来自用户的操作的接受单元。操作输入设备205例如是键盘、指示设备(鼠标)、触摸输入设备等。
[0052]
显示器i/f 206控制在显示器207上的窗口的显示。显示器207用作向用户显示信息的显示单元。
[0053]
注意,可以提供集成了操作输入设备205和显示器207的诸如触摸面板的设备。
[0054]
控制单元200经由网络i/f 213连接到网络103。网络i/f 213将打印数据发送到网络103上的打印机,并从网络103上的服务器接收应用或打印机驱动程序。注意,例如,与网络103上的外部终端的数据通信是符合ieee802.11系列的无线通信或经由诸如lte或5g的移动通信系统或诸如lan电缆的有线电缆的通信。
[0055]
接下来,将参照图3来描述客户端计算机101的软件构造的示例。
[0056]
图3是例示客户端计算机101的软件构造的示例的图。如图3所示,客户端计算机101中的软件具有三层:应用210、应用执行环境211和os 212。这些组件是在cpu 201将存储
在rom 203、外部存储器209等中的程序加载到ram 202并执行该程序时实现的。
[0057]
首先,将描述形成os 212的各个元件。
[0058]
os 212具有外部设置文件组3700、打印系统3800、打印机驱动程序3900和线程池3600。
[0059]
首先,将描述外部设置文件组3700的构造。
[0060]
外部设置文件组3700包括元数据3701和登记表3702。
[0061]
元数据3701是具有打印扩展应用3000的打印扩展应用标识符和由打印机供应商提供的打印机驱动程序3900的打印队列3803的硬件id(hwid)两者的标识符的定义信息。元数据3701具有将打印扩展应用标识符与hwid关联(链接)的作用。注意,元数据3701的示例在稍后描述的图4a和图4b中例示。
[0062]
登记表3702是设置信息的数据库,该设置信息描述了os 212的设置组。登记表3702可以以“key and value(关键字和值)”方式来描述值。除了关于os 212的基本信息以及关于应用210的设置和扩展信息之外,登记表3702还可以描述各个打印队列3803等的设置。登记表3702登记用于对启用和禁用由打印启动应用启动器3801启动后台任务进行切换的设置、与打印机驱动程序3900相关联的打印扩展应用3000的标识符等。注意,可以经由os 212的设置窗口来改变登记在登记表3702中的设置。
[0063]
接下来,将描述形成打印系统3800的组件。
[0064]
打印系统3800包括打印队列3803、后台打印程序(spooler)3802、过滤器管道管理器3805、配置模块3804、打印启动应用启动器3801等。
[0065]
打印队列3803是当网络103内存在的打印机用于进行打印时临时存储所生成的打印作业的区域。可以存在多个打印列队3803。注意,单个打印机可以存在多个打印列队3803。在本实施例中,已分别创建了与打印机102相对应的打印队列和与打印机105相对应的打印队列。尽管在图3的示例中示出了仅一个打印队列,但是与打印机102相对应的打印队列和与打印机105相对应的打印队列都存在。打印队列3803还具有目的地信息,例如对应打印机的ip地址等。
[0066]
后台打印程序3802是临时存储和管理xml paper specification(xps)(xml页面规范)文件的模块,该xml纸张规范文件是在任何应用210的打印处理结束后要打印的数据。后台打印程序3802中存储的xps文件经由过滤器管道管理器3805被转换为页面描述语言(pdl),然后经由后台打印程序3802重新传输到打印机。
[0067]
过滤器管道管理器3805是加载打印机驱动程序3900的一个或更多个过滤器3904并将xps文件转换成pdl文件的模块。过滤器管道管理器3805被构造为由os 212提供的打印架构(也称为打印系统)的一部分。过滤器管道管理器3805根据过滤器配置3903的定义来加载作为形成打印机驱动程序3900的组件之一的一个或更多个过滤器3904,并通过使用一个或更多个过滤器3904来生成pdl。例如,可以将打印机命令语言(pcl)、便携文档格式(pdf)等用作pdl。注意,稍后将描述过滤器配置3903和过滤器3904的细节。
[0068]
配置模块3804是生成和改变printticket(也称为“打印票证”)的模块。此外,配置模块3804具有禁止功能,该禁止功能进行限制使得不能被组合的打印设置无法进行。此外,配置模块3804还管理作为关于打印机的能力信息的printcapabilities(打印能力)。注意,稍后描述的打印扩展应用3000的打印启动ui单元3003、详细打印设置ui单元3004和打印启
动后台任务单元3005可以调用由配置模块3804提供的api。上述各个单元都可以通过调用api以可扩展标记语言(xml)格式获取printticket或printcapabilities。
[0069]
基于打印机驱动程序3900的脚本文件3901或设备功能文本文件3902来自定义配置模块3804的操作。v4打印机驱动程序向os 212提供描述了打印时的处理的脚本文件3901或将禁止规则或设备功能描述为打印机驱动程序3900的设备功能文本文件3902。
[0070]
打印启动应用启动器3801是控制由打印启动后台任务单元3005等提供的后台任务的执行的模块。当os 212检测到来自用户的打印开始指令的输入并进行打印时,打印启动应用启动器3801启动打印启动后台任务单元3005。注意,当禁用后台任务启动的设置存储在登记表3702中时,os 212抑制打印启动后台任务单元3005的执行。
[0071]
接下来,将描述打印机驱动程序3900的构造。
[0072]
打印机驱动程序3900具有脚本文件3901、设备功能文本文件3902、过滤器配置3903、过滤器3904和inf 3905。打印机驱动程序3900安装在os 212中。注意,可以存在多种类型的打印机驱动程序3900,而不限于其单一类型。
[0073]
在脚本文件3901中描述了打印时的处理。在设备功能文本文件3902中描述了禁止规则或设备功能。脚本文件3901和设备功能文本文件3902是由配置模块3804调用的文件。可以通过这些文件来自定义配置模块3804的操作。
[0074]
过滤器配置3903是过滤器管道管理器3805参照的定义文件,并且在其中描述了一个或更多个过滤器3904的调用顺序。
[0075]
过滤器3904是由过滤器管道管理器3805调用的过滤器,并且具有将输入的xps文件转换成pdl并输出该pdl的功能。
[0076]
inf 3905是文本文件,其中描述了用于安装打印机驱动程序3900的设置信息。
[0077]
接下来,将描述线程池3600。
[0078]
线程池3600是存储当执行各种应用210、应用执行环境211或os 212中的模块组时使用的线程的模块。
[0079]
接下来,将描述形成应用执行环境211的各个组件。应用执行环境211包括桌面应用执行环境3500和触摸应用执行环境3400。
[0080]
触摸应用执行环境3400是用于执行在os 212上运行的作为稍后描述的应用210的一种类型的触摸应用3100或打印扩展应用3000的执行环境。触摸应用执行环境3400是用于操作从服务器104分发的通用windows平台(uwp)应用的执行环境,并且控制该uwp应用的执行。
[0081]
桌面应用执行环境3500是用于执行桌面应用3300的执行环境,桌面应用3300是稍后描述的应用210的一种类型。桌面应用执行环境3500控制“win32/64应用”、“.net应用”等的执行。
[0082]
接下来,将描述形成应用210的各个组件。
[0083]
应用210包括四种类型的应用等,诸如打印扩展应用3000、触摸应用3100、桌面桥应用3200和桌面应用3300。
[0084]
桌面应用3300是常规的“win32/64应用”或“.net应用”,其具有标准ui单元3301,并具有执行文件的形式。桌面应用3300是在桌面应用执行环境3500中运行的应用。
[0085]
触摸应用3100是在触摸应用执行环境3400中运行的应用。触摸应用3100是经由以
微软商店等为代表的互联网上打开并安装在客户端计算机101中的应用分发系统下载的。在触摸应用3100中,诸如对标准ui单元3101或触摸应用3100等的标识符进行描述的清单3102的必需文件组被打包和标记,并且限制了在os 212中对api的调用。
[0086]
桌面桥应用3200被构造为使桌面应用可以以与触摸应用相同的方式经由在互联网上打开的诸如微软商店等的应用分发系统来分发。桌面桥应用3200可以具有将桌面应用3300和触摸应用3100多重组合的构造。在桌面桥应用3200中,以与触摸应用3100相同的方式包装和标记所需文件组,诸如描述了用于识别标准ui单元3101或应用的标识符的清单3202。
[0087]
注意,根据标准ui单元3201的构造,桌面桥应用3200可以在触摸应用执行环境3400和桌面应用执行环境3500之一或两者中运行。当在标准ui单元3201中使用桌面应用执行环境3500的api组时,桌面桥应用3200在桌面应用执行环境3500上运行。此外,当在标准ui单元3201中使用触摸应用执行环境3400的api组时,桌面桥应用3200在触摸应用执行环境3400上运行。
[0088]
打印扩展应用3000是触摸应用3100的一种类型,并且以与触摸应用3100相同的方式在触摸应用执行环境3400上运行。打印扩展应用3000是扩展与打印机驱动程序3900分离的打印机驱动程序3900的功能的应用,该打印机驱动程序3900链接到信息处理装置上的一个或更多个打印机驱动程序3900。打印扩展应用3000是称为uwp设备应用的应用。响应于打印机驱动程序3900的安装,os 212经由因特网从应用分发系统获取并安装打印扩展应用3000。
[0089]
打印扩展应用3000具有标准ui单元3002、详细打印设置ui单元3004、打印启动背景任务单元3005和打印启动ui单元3003。此外,打印扩展应用3000具有应用商店3006、通信单元3007、加载项信息描述单元3008和清单3009。注意,打印扩展应用3000不一定需要具有详细打印设置ui单元3004、打印启动背景任务单元3005和打印启动ui单元3003。
[0090]
标准ui单元3002是响应于接收到标准ui启动事件而执行的ui单元,该标准ui启动事件由os 212响应于从os 212提供的菜单接受用以启动扩展应用3000的用户操作来发出。标准ui单元3002可以自由地提供作为触摸应用的功能,诸如相关联的打印队列3803的状态显示。
[0091]
详细打印设置ui单元3004是响应于接收到由os 212发出的详细设置事件而执行的ui单元。例如,在显示由os 212提供的打印设置窗口的状态下,当用户提供用于进行要包括在由打印机驱动程序3900生成的打印作业中的更详细的打印设置的指令时,发出详细设置事件。提供打印机装置的供应商可以通过使用详细打印设置ui单元3004使在打印设置时唯一自定义的ui被显示。详细打印设置ui单元3004基于经由api从配置模块3804获取的打印设置信息printticket以及打印能力信息printcapabilities来生成并显示用于打印设置的ui。详细打印设置ui单元3004根据用户操作(详细打印设置操作)适当地改变printticket的设置并将其返回到配置模块3804。详细打印设置ui单元3004是与称为printpreference的、用于设置打印机独有的打印设置的功能相对应的ui单元。
[0092]
打印启动后台任务单元3005是与在发出打印事件时要执行的后台任务相对应的组件。由打印启动后台任务单元3005提供的任务具有有限的终止时间,并且当经过一定时间段之后被os 212强制终止。此外,打印启动后台任务单元3005以与ui线程不同的线程操
作。
[0093]
打印启动后台任务单元3005可以经由配置模块3804的api获取,读取或写入printticket。后台任务确定是否启动打印启动ui单元3003,并且如果有需要,就请求os 212启动作为前台任务的组件的打印启动ui单元3003。注意,可以通过在应用商店3006中读写信息来进行后台任务与打印启动ui单元3003之间的信息传送。
[0094]
注意,当确定不启动打印启动ui单元3003时,打印启动应用启动器3801不启动打印扩展应用3000。
[0095]
此外,由打印启动后台任务单元3005启动的打印启动ui单元3003可以编译作为要打印的数据的xps或printticket,并将其返回给os 212。
[0096]
一旦从打印启动后台任务单元3005向os 212发出了对打印启动ui单元3003的启动请求,则os 212启动打印启动ui单元3003。打印启动ui单元3003除了能够获取printticket或printcapabilities并改变设置之外,还可以获取要打印的数据的xps文件。当改变xps文件时,需要一次将编译的xps文件经由应用商店3006传给打印启动后台任务单元3005,并且将由打印启动后台任务单元3005编译的xps文件返回给os212。在本实施例中,打印启动ui单元3003显示用于对打印确认的ui、用于允许用户输入空白设置的ui等,但是可以显示针对其他处理的ui,只要该其他处理是在打印时显示ui的处理即可。打印启动ui单元3003是与称为workflow(工作流程)(wf)的功能相对应的ui单元,该功能使与打印有关的处理响应于预定的用户操作等被进行。
[0097]
清单3009是描述打印扩展应用3000的设置值的文件。描述了唯一指示打印扩展应用3000的打印扩展应用标识符、功能信息等。
[0098]
通信单元3007是例如当从打印机获取信息时负责通信的模块。
[0099]
加载项信息描述单元3008描述诸如可以稍后扩展打印扩展应用3000的加载项应用的标识符等信息。加载项应用以触摸应用3100或桌面桥应用3200的形式构造,并为打印扩展应用3000提供附加功能。例如,可以从微软商店安装加载项应用。此外,可以安装多个加载项应用。
[0100]
图4a和图4b是例示将作为设备的打印机102与打印扩展应用3000相关联的元数据3701的描述的示例的图。
[0101]
图4a对应于指示在元数据3701中被支持设备信息的描述的示例。
[0102]
如图4a所示,元数据3701描述了hardwareidlist(硬件id列表)标签402,其指示使用该元数据的打印机102的列表。项目403指示具有硬件id“mfp1_abcd”的打印机102使用元数据3701。类似地,项目404指示具有硬件id“mfp2_ijkl”的打印机105使用该元数据。以这样的方式,可以在一个元数据3701中列出使用元数据的多个打印机。
[0103]
尽管在本实施例中以在元数据3701中指定两个打印机的硬件id的情况为示例进行了说明,但是实施例不限于此。元数据3701中描述的打印机102的硬件id的数量可以是一个,或者可以是三个或更多。请注意,硬件id是从打印机返回的、用于唯一标识打印机的标识信息。
[0104]
图4b对应于指示元数据3701中的打印扩展应用3000的描述的示例。
[0105]
如图4b所示,元数据3701描述了devicecompanionapplications(设备配套应用)标签411,其指示使用该元数据的打印扩展应用3000的列表。项目412指示由打印机供应商

12345678-abcd-efgh-ijkl-123456789012”提供的打印扩展应用3000“1234abcd.mfputility”使用该元数据。即,包括图4a和图4b的描述的元数据3701指示打印扩展应用3000(1234abcd.mfputility)与打印机102(mfp1_abcd)和打印机105(mfp2_ijkl)相关联。
[0106]
打印机供应商预先将这样的元数据3701提供给用于由微软等管理的元数据的服务器。当在用户环境中安装打印机驱动程序3900时,这使得打印机供应商进行控制以将最佳打印扩展应用3000自动安装到连接的设备。下面以打印机102连接到客户端计算机101的情况为示例进行说明。
[0107]
一旦打印机102连接到客户端计算机101,则os 212搜索在预定服务器(例如,用于由微软管理的元数据的服务器)中登记的元数据3701。响应于通过搜索查找元数据3701(其中在硬件id列表标签402中描述了从上述连接的打印机102返回的硬件id),os 212将查找到的元数据3701存储在客户端计算机101的外部存储器209中。此外,os 212从应用分发系统(未示出)获取在存储的元数据3701的设备配套应用标签401中描述的打印扩展应用3000。然后,os 212将获取的打印扩展应用3000安装在客户端计算机101的外部存储器209中,并将安装的打印扩展应用3000与打印机102相关联。从而,当经由打印机驱动程序3900向打印机102发出打印请求时,可以启动对应的打印扩展应用3000。该元数据3701由打印机供应商提供。打印机供应商预先将该元数据3701提供给用于由微软等管理的元数据的服务器。因此,当在用户环境中安装打印机驱动程序3900时,打印机供应商可以进行控制以为所连接的设备自动安装最佳打印扩展应用3000。
[0108]
图5是例示由元数据3701构建的打印环境的示例的图。
[0109]
打印机102具有硬件id“mfp1_abcd”。一旦打印机102连接到客户端计算机101,则os 212从用于元数据的服务器获取元数据3701,在元数据3701中,在硬件id列表标签中描述了硬件id“mfp1_abcd”。此外,os 212从应用分发系统获取在获取的元数据3701中描述的打印扩展应用3000:mfputility(mfp实用程序)506,并将获取的打印扩展应用3000与打印机102相关联。
[0110]
注意,可以有在元数据3701的硬件id列表402中描述的并且安装在用于打印机102的客户端计算机101中的多个打印机驱动程序3900。即,可以存在多个打印机驱动程序,作为与作为单个设备的打印机102相对应的打印机驱动程序。在该示例中,将描述安装三个驱动程序:基于型号的打印机驱动程序508、通用打印机驱动程序509和标准打印机驱动程序510。
[0111]
基于型号的打印机驱动程序508是由打印机供应商提供的用于打印机102的专用打印机驱动程序。通用打印机驱动程序509是由打印机供应商提供的通用打印机驱动程序,并且能够处理打印机供应商的多种类型的打印机102。此外,标准打印机驱动程序510是作为os 212的程序包内的功能之一与os 212一起提供的打印机驱动程序。标准打印机驱动程序510是由多个供应商提供的打印机装置通常可用的类驱动程序。标准打印机驱动程序510是可以通过使用标准化的打印方法来处理各种各样的打印机的打印机驱动程序。
[0112]
如上所述,存在可用于打印机的多个打印机驱动程序,并且要使用的打印机驱动程序根据因特网的连接状态、os 212的类型、使用环境等而不同。通常,os 212参照关于打印机驱动程序的版本信息等,并且自动选择并安装可用打印机驱动程序中具有最高功能性
的最新打印机驱动程序。注意,打印机驱动程序包括用于识别装置的称为硬件id或compatibleid(兼容id)的信息。一旦打印机连接到客户端计算机101,则os 212从打印机获取上述id信息,搜索并安装具有相应id的打印机驱动程序。注意,尽管在该示例中描述了与打印机102的关联,但是包括打印机105的其他打印机也可以以相同的方法与打印扩展应用3000关联。
[0113]
如上所述,通过提供元数据3701,提供打印机的打印机供应商可以控制将哪个打印扩展应用3000提供给各打印机。例如,打印机供应商可以向多个打印机提供通用的单个打印扩展应用3000,或者可以分别提供不同的打印扩展应用3000。但是,不可根据与单个打印机相关联的打印机驱动程序的类型来分类和提供打印扩展应用3000。在图5中,存在在打印机102中使用的三种类型的打印机驱动程序508至510,但是可以与各个驱动程序相连的打印扩展应用3000的类型的数量的始终是一个。
[0114]
在此,将参照图11描述在加载项信息描述单元3008中描述(保持)的加载项信息。
[0115]
图11是例示在加载项信息描述单元3008中描述的加载项信息的示例的图。
[0116]
加载项信息是打印扩展应用3000启动加载项应用所用的信息。加载项信息以json形式描述有关各个加载项的信息,并在加载项信息描述单元3008中描述。注意,尽管在本实施例中使用json作为加载项信息的数据格式,但也可以使用xml或其他格式。
[0117]
在图11中,计划者名称(“schemaname”)901是该加载项应用的名称空间。
[0118]
姓氏(“familyname”)902具有识别加载项应用的标识符的作用。
[0119]
tilesupported 903指示加载项应用是否支持打印扩展应用3000的标准ui单元3002。如果tilesupported 903为“真(true)”,则其指示加载项应用支持标准ui单元3002,如果tilesupported 903为“假(false)”,则其指示加载项应用不支持标准ui单元3002。
[0120]
ppsupported 904指示加载项应用是否支持打印扩展应用3000的详细打印设置ui单元3004。如果ppsupported 904为“真”,则其指示加载项应用支持详细打印设置ui单元3004,并且如果ppsupported 904为“假”,则其指示加载项应用不支持详细打印设置ui单元3004。
[0121]
wfsupported 905指示加载项应用是否支持打印扩展应用3000的打印启动ui单元3003。如果wfsupported 905为“真”,则其指示加载项应用支持打印启动ui单元3003,如果wfsupported 905为“假”,则其指示加载项应用不支持打印启动ui单元3003。
[0122]
device type(设备类型)906表示加载项应用支持的打印机102的类型(打印机型号)。在该示例中,指示加载项应用支持“mfp”(即,多功能型的打印机)(即,不支持多功能型以外的打印机类型)。注意,如果设备类型906是“all(全部)”,则其指示加载项应用支持所有类型的打印机。
[0123]
visibility(可视性)907是指示打印扩展应用3000是否显示用于启动加载项应用的ui(启动按钮)的值。如果可视性907为“真”,则其指示显示了用于启动加载项应用的ui,而如果可视性907为“假”,则其指示不显示这样的ui。
[0124]
icon file path(图标文件路径)908指示当显示用于启动加载项应用的ui(启动按钮)时使用的图标的文件路径。
[0125]
上述的加载项信息在加载项信息描述单元3008中描述。
[0126]
现在将描述在加载项信息描述单元3008中描述的加载项信息的更新方法。
[0127]
例如,用户从客户端计算机101访问微软商店,并选择微软商店中的加载项。从而将加载项从微软商店安装在客户端计算机101中。
[0128]
例如,通过以下方法(1)或(2)启动安装的加载项。(1)在加载项的安装完成后,响应于用户自愿选择加载项而启动加载项。
[0129]
(2)在加载项的安装完成后,通过os 212的功能提供表示安装已完成的消息条通知(消息条通知对应于一种以按钮形式显示在窗口屏幕右端的通知)。另一种可能的构造是一旦用户选择了此消息条通知,响应于该选择来启动加载项。在这种情况下,在安装完成后,在加载项中包括表示进行用于启动其自身应用的消息条通知的设置信息,并且os 212将读取该设置信息以进行消息条通知。
[0130]
根据上述方法(1)或(2),加载项被启动,并且响应于启动,加载项启动打印扩展应用3000。在应用启动时,调用由windows限定的应用启动api。加载项将要启动的应用(在此示例中为“打印扩展应用3000”)的id和value集指定为api的参数。value集中的各个值包括图11中所示的与各个加载项信息相对应的值。即,在图11中,value集包括插入在“{”与“}”之间的部分。此外,除了这些值之外,在value集中还包括加密的“名称”的值(即“加载项名称”)。
[0131]
启动打印扩展应用3000,并接收上述value集。打印扩展应用3000对包括在value集中的加密名称进行解码,将解码后的名称与纯文本中最初包含的名称进行比较,如果这些名称具有相同的值,则确定加载项是可靠的。然后,打印扩展应用3000存储打印扩展应用3000的管理区域(加载项信息描述单元3008)中的value集的值(加密名称之外的值)。因此,当新安装加载项时,关于所安装的加载项的加载项信息被存储在加载项信息描述单元3008中。
[0132]
根据以上处理,将实现如图11所示的加载项信息被登记到加载项信息描述单元3008的状态。一旦实现上述状态,则打印扩展应用3000和加载项可以自动取消其自身的启动状态并终止处理,或者可以提供诸如“处理结束,请关闭应用(或加载项)。”的显示以请求用户关闭打印扩展应用3000及加载项。
[0133]
注意,如上所述,可以在每次启动加载项时进行打印扩展应用3000的启动以及诸如将id和value集作为参数传给打印扩展应用3000的处理。此外,一旦启动打印扩展应用3000之后,即使当加载项被启动,也可以不执行打印扩展应用3000的启动以及诸如将id和value集作为参数传给打印扩展应用3000的处理。此外,虽然根据加载项的启动每次都启动打印扩展应用3000,但是打印扩展应用3000侧可以不进行后续处理。即,在打印扩展应用3000侧,当确认已经登记了相同的value集时,不进行将value集的值登记到加载项信息描述单元3008的处理。此外,即使不显示对上述“处理结束,请关闭应用。”等进行显示的ui,也可以自动终止打印扩展应用3000。
[0134]
接下来,将描述打印扩展应用3000的标准ui单元3002。
[0135]
图6a至图6e是例示打印扩展应用3000的标准ui的图。注意,图6a至图6e所示的ui的窗口过渡是通过向ram 202加载并执行程序来实现的,cpu 201通过该程序实现存储在外部存储器209中的各个模块、各个组件或各个应用。
[0136]
图6a是例示os 212的ui的示例的图。
[0137]
当通过用户操作按下开始菜单按钮601时,os 212显示应用菜单602。
[0138]
在应用菜单602中,布置了已经安装在os 212中的打印扩展应用3000、触摸应用3100、桌面应用3300和桌面桥应用3200。这里,图标603是打印扩展应用3000的图标。通过按下图标603,用户能够使os 212发出标准ui启动事件并启动打印扩展应用3000的标准ui单元3002。
[0139]
图6b是例示标准ui单元3002的设备菜单窗口的示例的图。
[0140]
如图6b所示,设备菜单窗口由菜单610和主视图611形成。
[0141]
打印扩展应用3000的功能列表显示在菜单610中,并且当按下任何显示的按钮(例如,加载项菜单按钮613)时,在主视图611中显示对应的页面。
[0142]
加载项菜单按钮613是用于显示可以被所有打印机通用的加载项应用窗口(如图6e所示的窗口)的按钮。响应于加载项菜单按钮613被按下,进行稍后描述的图12a至图12c中所示的处理,并显示如图6e所示的加载项应用窗口。加载项应用窗口的显示将稍后描述。
[0143]
在设备菜单窗口(图6b)中,在主视图611中显示与打印队列3803相对应的图标的列表。
[0144]
例如,图标612是与打印机102相对应的打印队列3803的图标。当按下图标612时,与打印机102的基于型号的打印机驱动程序的打印队列相对应的设备页面被显示,如图6c所示。
[0145]
图6c是例示标准ui单元3002的设备页面的示例的图。在设备页面中,布置了依据打印队列的功能列表。在图6c的示例中,功能列表(与打印机102的功能1至3相对应的各按钮)和加载项按钮621被显示在设备页面中。在此,响应于按下加载项按钮621,进行稍后描述的如图12a至图12c所示的加载项窗口显示处理,并显示如图6d所示的与打印机102的基于型号的打印机驱动程序的打印队列相对应的加载项窗口。此时,打印扩展应用3000将加载项按钮621被按下的事实传到要启动的加载项窗口显示处理(图12a)或者将该事实存储在可以从加载项窗口显示处理确认的存储区域中。该信息用于稍后描述的图12a的s1006中的确定。
[0146]
图6d是例示当按下加载项按钮621时显示的加载项窗口的示例的图。在当前的加载项窗口中,针对打印扩展应用3000支持标准ui单元3002并且可由打印机102的基于型号的打印机驱动程序的打印队列使用的加载项应用,显示加载项应用启动按钮的列表。
[0147]
按钮631是加载项应用启动按钮,其启动扫描仪加载项应用,并且在被按下时,可以使相应的扫描仪加载项应用启动。
[0148]
按钮632是存储加载项应用启动按钮,并且在被按下时,可以使相应的存储加载项应用启动。
[0149]
图6e是例示当按下加载项菜单按钮613时显示的加载项窗口的示例的图。
[0150]
图6e中所示的加载项窗口与图6d所示的加载项窗口不同。在图6e所示的加载项窗口中,显示了打印扩展应用3000支持标准ui单元3002并且不依赖于打印机型号的加载项应用启动按钮的列表。不依赖于打印机型号的加载项应用指的是图11中的设备类型906是“全部”的加载项应用。因此,在图6e所示的加载项窗口中,与图6d所示的加载项窗口不同,不显示启动按钮631。注意,稍后将参照图12a至图12c描述确定在加载项窗口中显示哪个加载项应用启动按钮的处理。
[0151]
注意,作为另一实施例,可以在按下加载项菜单按钮613时在显示的加载项窗口中
显示以下加载项应用启动按钮。例如,可以在加载项窗口中显示打印扩展应用3000支持标准ui单元3002并且可以被所有关联的打印队列3803使用的加载项应用的加载项应用启动按钮的列表。在这样的构造的情况下,例如,当与所有相关联的打印队列相对应的打印机是“mfp”时,显示图11中设备类型906为“全部”或“mfp”的加载项应用的加载项应用启动按钮的列表。
[0152]
此外,作为另一实施例,当按下加载项菜单按钮613时,可以在显示的加载项窗口中显示打印扩展应用3000支持标准ui单元3002的所有加载项应用的加载项应用启动按钮的列表。
[0153]
接下来,将参照图7a、图7b及图8a至图8c描述基本打印流程。
[0154]
图7a是例示本实施例的信息处理装置中的基本打印流程的示例的流程图。注意,图7a和图7b的流程图的处理是通过向ram 202加载并执行程序来实现的,cpu 201通过该程序实现存储在外部存储器209中的各个模块、各个组件或各个应用。
[0155]
图8a至图8c是例示打印扩展应用3000的详细打印设置ui的图。
[0156]
用户进行从触摸应用3100的菜单等中选择打印的操作。在响应中,触摸应用3100根据用户操作向os 212发出请求,并启动如图8a所示由os 212生成的os标准打印ui(os标准打印窗口)(s701)。从而,将如图8a所示的os标准打印ui显示在显示器207上。
[0157]
如图8a所示,os标准打印ui具有可以选择任何打印队列3803的组合框801、可以改变标准打印功能的简单打印设置的控制列表804以及详细设置链接805。os标准打印ui具有打印按钮802和取消按钮803。os 212接受来自元件801至805的用户操作(s702)。注意,如果接受的用户操作是详细设置链接805的指令(步骤s703,“是”),则os 212发出“详细设置事件”(s704)。
[0158]
响应于发出“详细设置事件”,os 212检查与在组合框801中选择的打印队列3803相关联的打印扩展应用3000是否已经安装在os 212中。如果已经安装了该应用,则os 212启动打印扩展应用3000的详细打印设置ui单元3004。详细打印设置ui单元3004显示如图8b所示的详细打印设置ui。
[0159]
图8b是例示详细打印设置ui的示例的图。在详细打印设置ui中,可以显示打印队列3803的设备特定功能或用于更详细的打印设置的ui。
[0160]
最终确定按钮811在被按下时可以使在详细打印设置ui(图8b)中设置的打印设置被最终确定。当按下最终确定按钮811时,详细打印设置ui单元3004最终确定在详细打印设置ui(图8b)中设置的打印设置,并关闭详细打印设置ui以将控制返回到os 212。os 212将处理返回到s702,并且再次从os标准打印ui(图8a)接受用户操作。
[0161]
取消按钮812在被按下时可以使在详细打印设置ui(图8b)中设置的打印设置被取消。当按下取消按钮812时,详细打印设置ui单元3004取消在详细打印设置ui(图8b)中设置的打印设置,并且关闭详细打印设置ui以将控制返回到os 212。os 212将处理返回到s702,并且再次从os标准打印ui(图8a)接受用户操作。
[0162]
此外,当按下加载项按钮813时,进行稍后描述的图12a至图12c所示的处理,并且详细打印设置ui单元3004显示图8c所示的加载项窗口。
[0163]
在图8c的加载项窗口中,显示了支持详细设置ui并且支持打印机102的设备类型(例如,“mfp”)的加载项应用的启动按钮。在该示例中,显示了作为详细设置应用的启动按
钮的详细设置按钮821。通过按下详细设置按钮821,可以启动详细设置应用。此外,通过按下后退按钮822,可以将窗口返回到详细打印设置ui(图8b)。
[0164]
当在上述s702中接受的用户操作是按下os标准打印ui(图8a)的打印按钮802的操作时(s703,“否”,和s705,“是”),os 212发出打印事件,并使处理进行到打印处理s706。此时,os 212关闭os标准打印ui。打印处理s706将在图7b中稍后描述。在完成上述打印处理s706后,os 212结束本流程图的处理。
[0165]
此外,如果在os标准打印ui中按下了取消按钮803(s703,“否”和s705,“否”),则os 212结束本流程图的处理并关闭os标准打印ui。
[0166]
注意,尽管在图7a中被省略,但是当在os标准打印ui上发生按下打印按钮802和取消按钮803之外的用户操作时,os 212进行根据用户操作的处理,并将处理返回到s702。然后,os 212再次从os标准打印ui(图8a)接受用户操作。
[0167]
下面将参照图7b描述打印处理s706。
[0168]
图7b是例示图7a的打印处理s706的示例的流程图。
[0169]
首先,后台打印程序3802从已经进行打印的任何应用210接收作为要打印的数据的xps文件(s711)。
[0170]
接下来,os 212进行打印扩展应用3000的打印启动处理(s712)。注意,稍后将参照图9a和图9b描述打印启动处理。
[0171]
在上述的打印应用启动处理结束s712之后,过滤器管道管理器3805获取printticket和xps文件(s713)。
[0172]
接下来,过滤器管道管理器3805加载过滤器3904(s714)。
[0173]
接下来,过滤器管道管理器3805使用在上述s714中加载的过滤器,以将在上述s713中获取的xps文件转换为pdl(s715)。接下来,后台打印程序3802将在上述s715中转换的pdl发送到打印机102(s716),并结束打印处理。
[0174]
接下来,将参照图9a、图9b和图10a至图10c描述打印启动处理。
[0175]
图9a和图9b是例示打印启动处理的示例的流程图。注意,图9a和图9b的流程图的处理是通过向ram 202加载并执行程序来实现的,cpu 201通过该程序来实现存储在外部存储器209中的各个模块、各个组件或各个应用。
[0176]
图10a至图10c是例示打印扩展应用3000的打印启动ui的图。
[0177]
在打印启动处理中,首先,os 212将信息加载到登记表3702上(s1101)。
[0178]
接下来,os 212确定是否在登记表3702中将打印启动后台任务单元3005设置为要启动(s1102)。如果在登记表3702中将打印启动后台任务单元3005设置为不启动(s1102,“否”),则os 212结束本流程图的处理。
[0179]
另一方面,如果在登记表3702中将打印启动后台任务单元3005设置为要启动(s1102,“是”),则os 212将处理进行到s1103。
[0180]
在s1103中,os 212检查打印扩展应用3000是否具有打印启动后台任务单元3005。如果打印扩展应用3000不具有打印启动后台任务单元3005(s1103,“否”),则os 212结束本流程图的处理。
[0181]
另一方面,如果打印扩展应用3000具有打印启动后台任务单元3005(s1103,“是”),则os 212将处理进行到s1104。
[0182]
在s1104中,os 212启动打印扩展应用3000的打印启动应用启动器3801。
[0183]
接下来,打印启动应用启动器3801启动打印启动后台任务单元3005(s1105)。
[0184]
然后,打印启动后台任务单元3005调用打印启动ui单元3003(s1106)。
[0185]
接下来,如图10a所示,打印启动ui单元3003在ui上显示进度环,以指示当前正在进行处理(s1111)。
[0186]
图10a是例示显示进度环的打印启动ui单元3003的进度窗口的示例的图。
[0187]
在进度环1201中,显示的圆在处理期间继续绕圆圈旋转。标签1202是显示打印状态的标签,并指示正在打印中。
[0188]
接下来,打印启动ui单元3003从配置模块3804获取printticket(s1112)。
[0189]
接下来,打印启动ui单元3003检查是否已经在printticket中设置了安全打印(s1113)。如果没有设置安全打印(s1113,“否”),则打印启动ui单元3003使处理进行到s1120。
[0190]
在s1120中,打印启动ui单元3003进行如图12a至图12c所示的加载项窗口显示处理,并显示如图10c所示的加载项窗口。注意,稍后将描述加载项窗口显示处理和加载项窗口。在加载项窗口显示处理s1120之后,打印启动ui单元3003使处理进行到s1117。
[0191]
此外,在上述的s1113中,如果已经在printticket中设置了安全打印(s1113,“是”),则打印启动ui单元3003使处理进行到s1114。
[0192]
在s1114中,打印启动ui单元3003显示用于输入密码的安全打印输入窗口,如图10b所示。
[0193]
图10b是例示由打印启动ui单元3003显示的安全打印输入窗口的示例的图。
[0194]
在图10b中,密码文本框1210用于接受来自用户的任意密码的输入。
[0195]
加载项按钮1213是用于过渡到如图10c所示的加载项窗口的按钮。
[0196]
最终确定按钮1211是用于最终确定打印的按钮。注意,在按下最终确定按钮1211时打印启动ui单元3003中的改变将反映在要打印的数据的printticket或xps文件中,并且将进行打印。
[0197]
取消按钮1212是用于取消打印的按钮。
[0198]
在s1115中,打印启动ui单元3003从安全打印输入窗口(图10b)接受用户操作。如果在此接受的用户操作是按下加载项按钮1213的操作(s1116,“是”),则打印启动ui单元3003使处理进行到s1120,进行加载项窗口显示处理,并显示加载项窗口,如图10c所示。注意,稍后将参照图12a至图12c描述加载项窗口显示处理。
[0199]
现在将描述图10c的加载项窗口。
[0200]
图10c是例示由打印启动ui单元3003显示的加载项窗口的示例的图。基于如图11所示的加载项信息,在该加载项窗口中显示了支持打印机(例如,打印机102)加载项应用启动按钮,该打印机支持打印启动ui并且被链接到与图7b的打印处理相对应的打印队列。在图10c所示的加载项窗口的示例中,预览器加载项应用启动按钮1222和打印设置加载项应用启动按钮1221被显示。
[0201]
预览器加载项应用启动按钮1222是用于预览器加载项应用的加载项应用启动按钮,预览器加载项应用是加载项应用的一种类型。通过按下预览器加载项应用启动按钮1222,可以启动预览器加载项应用。
[0202]
打印设置加载项应用启动按钮1221是用于详细设置加载项应用的加载项应用启动按钮,该详细设置加载项应用是加载项应用的一种类型。通过按下打印设置加载项应用启动按钮1221,可以启动打印设置加载项应用。
[0203]
后退按钮1223是用于返回到安全打印输入窗口(图10b)的按钮。注意,当在进度环窗口(图10a)之后最初显示该加载项窗口而没有从安全打印输入窗口(图10b)过渡到该加载项窗口时,没有要返回的窗口,因此不显示后退按钮1223。
[0204]
此外,在图10c的加载项窗口中以与图10b的安全打印输入窗口相同方式显示最终确定按钮1211和取消按钮1212。
[0205]
此外,如果上述在s1115中接受的用户操作不是按下加载项按钮1213的操作(s1116,“否”),则打印启动ui单元3003将处理进行到s1117。
[0206]
在s1117中,响应于按下最终确定按钮1211,打印启动ui单元3003使处理进行到s1118。此时,从打印启动ui单元3003向打印启动后台任务单元3005通知最终确定了打印。此外,尽管未示出,但是如果在上述s1115中接受的用户操作是密码文本框1210的输入操作,则打印启动ui单元3003将处理返回到s1115,并再次接受用户操作。此外,当按下取消按钮1212时,打印启动ui单元3003结束本流程图的处理并取消打印。
[0207]
在s1118中,打印启动后台任务单元3005从打印启动ui单元3003获取printticket和xps文件。
[0208]
接下来,打印启动后台任务单元3005执行将可视性907设置为隐藏在加载项信息中的加载项应用(s1119)。即,将可视性907设置为隐藏(“假”)的加载项应用自动启动,不管用户对加载项应用的启动操作如何。响应于s1119的加载项应用的执行完成,从加载项应用向打印扩展应用3000返回传送信息。注意,稍后将参照图14b描述传送信息。
[0209]
最后,打印启动后台任务单元3005将在上述s1118中获取的printticket和xps文件发送到过滤器管道管理器3805(s1121),并结束本流程图的处理。
[0210]
下面将参照图12a至图12c描述加载项窗口显示处理。
[0211]
图12a是例示加载项窗口显示处理的示例的流程图。注意,图12a,图12b和图12c中所示的处理是通过向ram 202加载并执行程序来实现的,cpu 201通过该程序来实现存储在外部存储器209中的各个模块、各个组件或各个应用。
[0212]
当按下图6b的加载项按钮613、图6c的加载项按钮621、图8b的加载项按钮813或图10b的加载项按钮1213时,开始图12a中所示的处理。
[0213]
首先,打印扩展应用3000从os 212获取已经安装在os 212内的加载项应用的列表(s1001)。
[0214]
接下来,打印扩展应用3000检查启动打印扩展应用3000的os(即,在客户端计算机101上运行的os 212)的事件(s1002)。该事件可以是通过按下图6a的图标610发出的标准ui启动事件,由图8a的细节设置链接805的指令发出的细节设置事件,通过按下打印按钮802发出的打印事件等。
[0215]
接下来,打印扩展应用3000进行加载项信息列表生成处理(s1003)。现在将参照图12b描述加载项信息列表生成处理。
[0216]
图12b是例示加载项信息列表生成处理的示例的流程图。
[0217]
首先,打印扩展应用3000从加载项信息描述单元3008加载加载项信息(s1051)。
[0218]
接下来,打印扩展应用3000基于上述s1051中加载的加载项信息生成加载项信息列表(s1052)。
[0219]
接下来,打印扩展应用3000检查加载项信息列表中是否存在尚未安装的加载项应用(s1053)。如果存在尚未安装的加载项应用(s1053,“是”),则打印扩展应用3000从加载项信息列表中删除相应的加载项应用(s1054)并结束加载项列表生成处理。
[0220]
另一方面,如果在加载项信息列表中不存在尚未安装的加载项应用(s1053,“否”),则打印扩展应用3000直接结束加载项列表生成处理。
[0221]
下面将描述返回到图12a。
[0222]
在加载项信息列表生成处理之后,打印扩展应用3000基于在上述s1002中的检查来确定是否使用标准ui启动事件启动题述打印扩展应用3000(s1004)。如果它是使用标准ui启动事件启动的(s1004,“是”),则处理进行到s1005。
[0223]
在s1005中,打印扩展应用3000通过基于加载项信息列表使用支持标准ui启动事件的加载项应用来重新生成加载项信息列表。
[0224]
接下来,打印扩展应用3000确定是否从设备页面的加载项按钮(图6c的示例中的按钮621)启动了当前的加载项窗口显示处理(s1006)。如果当前的加载项窗口显示处理不是从设备页面的加载项按钮启动的(s1006,“否”),则打印扩展应用3000使处理进行到s1016。即,如果当前的加载项窗口显示处理是从加载项菜单按钮613启动的,则处理进入s1016。
[0225]
在s1016中,打印扩展应用3000从加载项信息列表中排除与型号相关的加载项应用,仅使用与型号无关的加载项应用重新生成加载项信息列表,并使处理进行到s1007。注意,与型号相关的加载项应用是指设备类型906不是“全部”的加载项应用(例如,设备类型906是“mfp”的加载项应用)。另一方面,与型号无关的加载项应用是指设备类型906为“全部”的加载项应用。
[0226]
在这种情况下,在s1007中,打印扩展应用3000基于加载项信息列表显示加载项窗口。即,打印扩展应用3000将在加载项信息列表中包括的加载项应用的启动按钮添加到加载项窗口并显示该启动按钮。在这种情况下,显示如图6e所示的加载项窗口。
[0227]
另一方面,如果当前的加载项窗口显示处理是从设备页面的加载项按钮(例如,图6c的加载项按钮621)启动的(s1006,“是”),然后,打印扩展应用3000将处理进行到s1008。
[0228]
在s1008中,打印扩展应用3000转到与型号相关的加载项应用检查处理s1008。现在将参照图12c描述与型号相关的加载项应用检查处理。
[0229]
图12c是例示了与型号相关的加载项应用检查处理的示例的流程图。
[0230]
在与型号相关的加载项检查处理中,首先,打印扩展应用3000检查在加载项信息列表中是否存在与型号相关的加载项应用(s1071)。如果存在与型号相关的加载项应用(s1071,“是”),则打印扩展应用3000使处理进行到s1072。
[0231]
在s1072中,打印扩展应用3000通过使用通信单元3007从打印机102获取型号信息。
[0232]
接下来,打印扩展应用3000从加载项信息列表中排除不支持与所显示的设备页面相对应的打印队列3803的加载项应用。然后,打印扩展应用3000仅利用支持与所显示的设备页面相对应的打印队列3803的加载项应用来重新生成加载项信息列表(s1073)。例如,当
存在加载项信息的设备类型906为“mfp”的加载项应用,并且所显示的设备页面与mfp打印机相对应时,有关加载项应用的加载项信息被包括在加载项信息列表中。注意,尽管在本实施例中通过通信单元3007获取了型号信息,但是可以从打印机驱动程序3900的设备功能文本文件3902或从上述之外的其他信息中获取型号信息。
[0233]
在s1073的处理之后,打印扩展应用3000结束与型号相关的加载项应用检查处理。
[0234]
另一方面,如果在加载项信息列表中不存在与型号相关的加载项应用(s1071,“否”),则打印扩展应用3000直接结束与型号相关的加载项应用检查处理。
[0235]
响应于与型号相关的加载项应用检查处理的结束,打印扩展应用3000在图12a的s1007中基于加载项信息列表显示加载项窗口。即,打印扩展应用3000将加载项信息列表中包括的加载项应用的启动按钮添加到加载项窗口并显示该启动按钮。在这种情况下,显示如图6d所示的加载项窗口。在显示加载项窗口时,打印扩展应用3000基于加载项信息列表在加载项窗口中显示用于启动加载项应用(例如631、632)的加载项应用启动按钮。此时,打印扩展应用3000排除那些加载项信息的可视性907为“假”的加载项信息,并显示剩余的信息。此外,打印扩展应用3000从图标文件路径908将图标图像加载到存储器中,并显示该图标图像作为加载项应用启动按钮。
[0236]
然后,如果按下了加载项窗口中的任何加载项应用启动按钮(s1014,“是”),则打印扩展应用3000转到加载项应用启动处理s1015。此时,打印扩展应用3000使用与按下的加载项应用启动按钮相对应的加载项信息的名称空间901和姓氏902来唯一地标识安装在os 212中的加载项应用。如图14b所示,打印扩展应用3000请求os 212启动加载项应用以及传输信息。os 212以与打印扩展应用3000不同的处理来启动所请求的加载项应用,将图14b所示的传送信息传给加载项应用,并转到加载项应用启动处理(s1015)。稍后将描述传送信息和加载项应用启动处理。
[0237]
另一方面,如果在没有按下加载项应用启动按钮的情况下(s1014,“否”)关闭加载项窗口,则打印扩展应用3000结束本流程图的处理。
[0238]
此外,在上述s1004中,如果确定未通过标准ui启动事件启动打印扩展应用3000(s1004,“否”),则处理进行到s1009。
[0239]
在s1009中,打印扩展应用3000检查题述打印扩展应用3000是否通过详细设置事件而启动。如果通过详细设置事件启动了题述打印扩展应用3000(s1009,“是”),则打印扩展应用3000将处理进行到s1010。
[0240]
在s1010中,打印扩展应用3000基于加载项信息来重新生成支持详细设置的加载项应用的加载项信息列表。
[0241]
接下来,打印扩展应用3000从os 212获取关于由图8a的组合框801选择的打印队列3803的信息(s1011)并转到与型号相关的加载项应用检查处理s1008。请注意,与型号相关的加载项应用检查处理基本上与已经描述的处理相同。然而,在s1073中,利用有限的加载项应用来重新生成加载项信息列表,该加载项应用支持与由组合框801选择的打印队列3803相对应的打印机的设备类型(打印机类型)。在与型号相关的加载项应用检查处理之后,打印扩展应用3000基于加载项信息列表显示加载项窗口(s1007)。即,打印扩展应用3000将在加载项信息列表中包括的加载项应用的启动按钮添加到加载项窗口并显示该启动按钮。在这种情况下,显示图8c所示的加载项窗口。
[0242]
此外,在上述s1009中,如果打印扩展应用3000确定题述打印扩展应用未通过详细设置事件启动(s1009,“否”),则处理进入s1012。
[0243]
在s1012中,打印扩展应用3000检查题述打印扩展应用3000是否通过打印事件而启动。如果题述打印扩展应用3000由打印事件启动(s1012,“是”),则打印扩展应用3000将处理进行到s1013。
[0244]
在s1013中,打印扩展应用3000基于加载项信息重新生成支持打印事件的加载项应用的加载项信息列表,并转到与型号相关的加载项应用检查处理s1008。请注意,与型号相关的加载项应用检查处理与已经描述的处理基本上相同。然而,在s1073中,利用有限的加载项应用来重新生成加载项信息列表,该加载项应用支持与由组合框801选择的打印队列3803相对应的打印机的设备类型(打印机类型)。在与型号相关的加载项应用检查处理之后,打印扩展应用3000基于加载项信息列表显示加载项窗口(s1007)。即,打印扩展应用3000将在加载项信息列表中包括的加载项应用的启动按钮添加到加载项窗口并显示该启动按钮。在这种情况下,显示图10c所示的加载项窗口。
[0245]
另一方面,在上述的s1012中,如果打印扩展应用3000确定题述打印扩展应用3000未通过打印事件而启动(s1012,“否”),则本流程图的处理结束。
[0246]
现在将参照图14b描述在打印扩展应用3000与加载项应用之间传送的传送信息。
[0247]
图14b是例示在打印扩展应用3000与加载项应用之间传送的传送信息的示例的图。
[0248]
如图14b所示,传送信息是“key and value”形式,并且当key被选中时,value被唯一地定义。
[0249]
在本实施例的传送信息中,key的示例写在左列中,并且将对应于value的信息的内容存储在右列中。
[0250]
在图14b中,以在打印扩展应用3000与加载项应用之间传送的四种类型的信息作为示例。在作业名称1501中,此处传送从进行打印时的作业名称获取的值,即“作业0001”。在打印源的应用名称1502中,此处传送“网络浏览器”。在要打印的数据1503中,此处传送xps格式的“文档.xps”。在打印设置信息1504中,“pt.xmk”作为printticket被传送。
[0251]
注意,尽管在图14b中提供了四种类型的信息作为传送信息的示例,但是传送信息的种类,类型或数量不受限制。此外,不一定需要进行传送。而且,可以经由作为中心的打印扩展应用3000在不同的加载项应用之间传输传送信息。
[0252]
现在将参照图13描述加载项应用启动处理。
[0253]
图13是例示加载项应用启动处理的示例的流程图。本流程图的处理是通过向ram 202加载并执行程序来实现的,cpu 201通过该程序来实现存储在外部存储器209中的各个模块、各个组件或各个应用。
[0254]
在图13的示例中,提供了通过按下加载项按钮1222而启动的预览器加载项应用的示例的描述。但是,这仅是示例,并且加载项应用不特别限于此。os 212根据来自打印扩展应用3000的标准ui单元3002、详细打印设置ui单元3004和打印启动ui单元3003中的任何一个的请求,将加载项应用作为与打印扩展应用3000不同的处理来启动。然而,其处理对于打印扩展应用3000的处理可以是模态的或不是模态的。
[0255]
首先,预览器加载项应用从作为呼叫源的打印扩展应用3000接收如图14b所示的
传输信息(s1301)。
[0256]
接下来,预览器加载项应用基于在上述s1301中接收到的传送信息显示如图14a所示的ui(s1302)。在此,将参照图14a描述加载项应用的ui。
[0257]
图14a是例示加载项应用的ui的示例的图。特别是,此处例示了预览器加载项应用的示例。
[0258]
如图14a所示,作为示例,预览器加载项应用具有打印预览1402、在预览中显示的页面的页码1405、简单打印设置1401、最终确定按钮1403和取消按钮1404。
[0259]
在打印预览1402中,显示了基于要打印的数据和printticket的要从打印机102输出的最终打印内容的预览。
[0260]
在页码1405中,指示了预览打印信息的页面总数和所显示的编号,并且在图14a的示例中表示,显示了包括十二页的要打印的数据的第一页。此外,可以通过按下在页码1405的左边和右边显示的箭头来改变要在打印预览1402中显示的页面。
[0261]
在简单打印设置1401中,基于传送信息的printticket显示简单打印设置。用户可以在简单打印设置1401中改变打印设置。
[0262]
下面将返回到图13的流程图的描述。
[0263]
在上述s1302中显示ui之后,预览器加载项应用接受用户操作(s1303)。如果在接受上述s1302的用户操作时打印设置经由简单打印设置1401接受了改变(s1304,“是”),则预览器加载项应用使处理进行到s1305。
[0264]
在s1305中,基于上述关于接受的打印设置的改变信息,预览器加载项应用改变打印设置信息的printticket和要打印的数据的xps文件。然后,预览器加载项应用重新渲染打印预览1402(s1306),并将处理返回到s1303。
[0265]
在接受上述s1302的用户操作时,如果接受按下最终确定按钮1403而不是改变打印设置(s1304,“否”和s1307,“是”),则预览器加载项应用使处理进行到s1308。
[0266]
在s1308中,预览器加载项应用再次将传送信息传送到调用源的打印扩展应用3000,并结束本流程图的处理。
[0267]
此外,在接受上述s1302的用户操作时,如果按下取消按钮1404被接受(s1304,“否”,s1307,“否”和s1309,“是”),则预览器加载项应用结束当前流程图。
[0268]
此外,如果打印设置的改变,按下最终确定按钮1403和按下取消按钮1404都没有被接受(s1304,“否”,s1307,“否”以及s1309,“否”),则预览器加载项应用将处理返回到s1303。
[0269]
尽管上面已经描述了预览器加载项应用,但是预览器加载项应用之外的其他加载项应用也应如此。
[0270]
如上所述,根据本实施例,可将用于向打印扩展程序3000添加功能的加载项应用的启动按钮添加到打印扩展程序3000的ui中,该打印扩展应用3000扩展与打印机驱动程序分离的打印机驱动程序的功能。尤其是,加载项应用的启动按钮只能显示在加载项应用支持的ui中。因此,可以提供限于用户使用的功能的打印设置的ui。
[0271]
因此,可以基于用户自定义打印扩展应用3000的功能,并且可以为用户实现良好的可用性。
[0272]
此外,供应商可以通过使用加载项应用根据使用情况向用户灵活地提供高功能
性。
[0273]
注意,上述各种数据的构造及其内容不限于此,并且可以根据用途或目的以各种构造或内容进行配置。
[0274]
如所阐述的,尽管针对一个实施例进行了说明,但是本公开可以采取例如系统、装置、方法、程序、存储介质等实现形式。具体地,本公开可以应用于由多个设备形成的系统,或者可以应用于由单个设备形成的装置。
[0275]
此外,组合了上述各个实施例的所有构造都包括在本公开中。
[0276]
此外,本公开可以应用于由多个设备形成的系统,或者可以应用于由单个设备形成的装置。
[0277]
本公开不限于上述实施例,并且基于本公开的精神可以进行各种修改(包括各实施例的有机组合),并且不旨在将其排除在本公开的范围之外。即,本公开包括了将上述各实施方式及其变形例组合在一起的所有构造。
[0278]
其他实施方式
[0279]
还可以通过读出并执行记录在存储介质(也可更完整地称为“非临时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(asic))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由所述系统或装置的所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制所述一个或更多个电路执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。所述计算机可以包括一个或更多个处理器(例如,中央处理单元(cpu),微处理单元(mpu)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或所述存储介质被提供给计算机。所述存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储器、光盘(诸如压缩光盘(cd)、数字通用光盘(dvd)或蓝光光盘(bd))、闪存设备以及存储卡等中的一个或更多个。
[0280]
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。
[0281]
尽管已经参照示例性实施例描述了本发明,但是应当理解,本发明不限于所公开的示例性实施例。所附权利要求的范围应被赋予最宽泛的解释,以涵盖所有这样的变型例以及等同的结构和功能。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1