掌桥专利:专业的专利平台
掌桥专利
首页

一种驱动文件变更方法、装置、介质及设备

文献发布时间:2023-06-19 18:37:28


一种驱动文件变更方法、装置、介质及设备

技术领域

本发明涉及驱动技术领域,具体涉及一种驱动文件变更方法、装置、介质及设备。

背景技术

在现有的一种基于Linux/Unix的操作系统中,打印驱动包被安装后,会将驱动文件安装在第一路径中,其中包含用于描述打印设备信息的PPD(Printer PostscriptDescription)文件。PPD文件可以描述诸如厂商信息、功能、驱动程序的启动方式等,一个PPD文件对应一款设备型号。

用户在添加一台打印设备时,为了匹配正确的驱动程序,打印系统将在第二路径下搜索匹配相应型号的PPD文件来生成一个可供用户交互的设备图标,用户可以通过该设备图标来设置打印参数或下发打印作业。并且在第二路径中还会生成一个与第一路径中PPD文件相对应的PPD文件,默认情况下与第一路径中的PPD文件内容一致。并且如果用户在驱动程序界面中通过设备图标改变了打印参数,操作系统会在第二路径的PPD文件中对该打印参数做相同的变更。

然而,操作系统并不是在任何情况下都能成功将第二路径的PPD文件与第一路径下的PPD文件保持内容一致。

发明内容

本发明的一个目的是解决现有技术在一些情况下执行驱动更新后用户无法正常使用打印设备的缺陷。

根据本发明的第一方面,提供了一种驱动文件变更方法,所述方法包括:响应于第一指令,确定第一路径中至少一个第一设备特征描述文件的预设属性值;所述第一路径用于存放驱动安装文件;将第二路径中符合所述预设属性值的第二设备特征描述文件中的至少一个配置参数变更至与所对应的所述第一设备特征描述文件相同;所述第二路径用于存放系统设置文件。

优选地,所述第一指令在软件更新命令触发后执行,所述软件更新命令用于至少更新第一路径中的第一设备特征描述文件,而不对第二路径中与所述第一设备特征描述文件对应的第二设备特征描述文件做相同变更。

优选地,所对应的所述第一设备特征描述文件为:与第二设备特征描述文件具有相同预设属性值的第一特征描述文件。

优选地,确定第一路径中至少一个第一设备特征描述文件的预设属性值,包括:读取并保存第一路径中所有第一设备特征描述文件的预设属性值。

将第二路径中符合所述预设属性值的第二设备特征描述文件中的至少一个配置参数变更至与所对应的所述第一设备特征描述文件相同,包括:遍历第二路径中所有的第二设备特征描述文件,对于其中符合预设属性值的第二设备特征描述文件,将第一路径中与所述第二设备特征描述文件具有相同预设属性值的第一特征描述文件中的配置参数更新至所述第二设备特征描述文件中。

优选地,在响应于第一指令前还包括:判断被触发的命令为软件更新命令或软件删除命令,若为软件删除命令,则在软件删除命令被触发后:响应于第二指令,确定第一路径中至少一个待删除的第一设备特征描述文件的预设属性值;删除第二路径中符合所述预设属性值的第二设备特征描述文件。

优选地,将第二路径中符合所述预设属性值的第二设备特征描述文件中的至少一个配置参数变更至与所对应的所述第一设备特征描述文件相同具体为:基于所对应的所述第一设备特征描述文件生成新的第二设备特征描述文件,替换原有第二设备特征描述文件;在替换前,保存原有第二设备特征描述文件的至少一个配置参数;所述方法还包括:替换原有第二设备特征描述文件时,将新的第二设备特征描述文件的相应配置参数还原至与原有第二设备特征描述文件相同。

根据本发明的第二方面,提供一种驱动文件变更装置,包括:确定单元,用于响应于第一指令,确定第一路径中至少一个第一设备特征描述文件的预设属性值;所述第一路径用于存放驱动安装文件。变更单元,用于将第二路径中符合所述预设属性值的第二设备特征描述文件中的至少一个配置参数变更至与所对应的所述第一设备特征描述文件相同;所述第二路径用于存放系统设置文件。

优选地,驱动文件变更装置还包括软件更新命令检测单元,用于在检测到软件更新命令后执行第一指令;所述软件更新命令用于至少更新第一路径中的第一设备特征描述文件,而不对第二路径中与所述第一设备特征描述文件对应的第二设备特征描述文件做相同变更。

优选地,所对应的所述第一设备特征描述文件为:与第二设备特征描述文件具有相同预设属性值的第一特征描述文件。

优选地,驱动文件变更装置还包括:软件删除命令检测单元,用于在检测到软件删除命令后执行第二指令;第二确定单元,用于响应于第二指令,确定第一路径中至少一个待删除的第一设备特征描述文件的预设属性值;删除单元,用于删除第二路径中符合所述预设属性值。

优选地,变更单元具体用于:基于所对应的所述第一设备特征描述文件生成新的第二设备特征描述文件,替换原有第二设备特征描述文件;在替换前,保存原有第二设备特征描述文件的至少一个配置参数;所述装置还包括:还原单元,用于在替换原有第二设备特征描述文件时,将新的第二设备特征描述文件的相应配置参数还原至与原有第二设备特征描述文件相同。

根据本发明的第三方面,提供一种计算机可读存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在设备执行如本发明第一方面所述的驱动文件变更方法。

根据本发明的第四方面,提供一种信息处理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明第一方面所述的驱动文件变更方法。

本发明的一个技术效果是,可以在系统执行软件更新功能后防止出现用户不能通过驱动应用程序已经添加的设备交互组件使用打印设备的问题。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1为本发明一个实施例的方法流程图;

图2为本发明一个实施例的装置结构图;

图3为本发明一个实施例的信息处理设备的结构图;

图4(a)为本发明改进前,现有技术的一个示意图;

图4(b)为图4(a)中用户点击按钮B1添加设备后的示意图;

图4(c)为用户进行版本更新后的示意图;

图5为本发明一个实施例的执行流程图;

图6为步骤S513进一步包括的执行流程图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例的一个目的在于解决一些情况下第二路径的PPD文件与第一路径的PPD文件内容不一致,而导致的用户不能按照预期的方式使用打印设备的问题。

例如,在现有的一种基于Linux的国产操作系统(如UOS系统)中,如果用户通过商城或命令行方式更新驱动软件,则第一路径下的PPD文件会随安装目录覆盖而被更新,但是第二路径中的PPD文件不会被更新。当用户在更新之后打开驱动软件准备使用打印设备时,此时驱动软件中显示的交互组件(交互组件可示例性地为供用户点击的图标按钮)是耦合至第二路径中旧版本的PPD文件,这样的版本差异可能导致用户不能使用部分功能甚至不能完成打印作业。用户可以通过删除交互组件并重新添加的方式修正该异常,但一方面这为用户操作增加了负担,影响用户体验;另一方面,UOS等操作系统具有软件自动更新功能,可能在用户未察觉的情况下完成了驱动软件的更新,当用户在驱动软件中点击交互组件时发现不能按预期的方式使用打印设备,可能会误以为设备出现故障,加深了用户的困惑感。

为了解决上述问题,本发明实施例提供一种驱动文件变更方法,如图1所示,包括:

步骤S101:响应于第一指令,确定第一路径中至少一个第一设备特征描述文件的预设属性值。

在一个实施例中,第一路径可以是允许用户存储驱动安装文件的存储路径。第一路径可以是计算机本地存储路径,也可以是服务器或云端的存储路径。第一设备特征描述文件可以是随驱动安装包一同复制到第一路径中的PPD文件。预设属性值可以是PPD文件中用于描述厂商以及设备型号的关键字所对应的属性值,可以唯一标识一台设备。例如希望将与设备型号A相关的PPD文件筛选出来,则可以读取每一个PPD文件的关键字“*ModelName”所对应的属性值,通过属性值即可判断其是否为A厂商的设备。第一指令可以是使步骤S101得以执行的输入信号,例如可以是程序语句中的指令、用户的交互指令等。在一个示例中,当预设属性值用于表征设备型号时,第一路径的一个PPD文件只会对应一个设备型号,即此时的预设属性值能够起到设备唯一标识作用。

进一步地,确定第一设备特征描述文件预设属性值,可以通过读取并保存第一路径中所有第一设备特征描述文件的预设属性值来实现。

步骤S102:将第二路径中符合预设属性值的第二设备特征描述文件中的至少一个配置参数变更至与所对应的第一设备特征描述文件相同。

在一个实施例中,第二路径是指用于存放系统生成文件的目录,例如可以是用户在操作交互组件后,系统基于第一路径中的PPD文件在第二路径中生成的相对应的PPD文件。第二路径中的PPD文件为步骤102中的第二设备特征描述文件。配置参数可以为PPD文件中的各关键字,例如关键字“*DefaultInputSlot”可以用于描述纸盒特征,关键字“*DefaultPageSize”可以用于描述纸张尺寸特征等。第一路径下的第一特征描述文件和第二路径下的第二特征描述文件可指向同一个厂商的同一个设备型号,例如第一特征描述文件和第二特征描述文件关于设备型号的关键字具有相同的键值。

在步骤S102中,确定第二路径中有哪些PPD文件也含有步骤S101所确定属性值,然后将第二路径中的这些PPD文件的至少一个关键字对应的属性值进行变更,使用户能够正常使用打印设备。具体变更哪些关键字可以根据需要设置,例如可以将所有关键字的属性均进行变更,还可以只变更特定的若干关键字。变更可以是增加、修改或删除。进一步地,步骤S102的实现方式可以是:遍历第二路径中所有的第二设备特征描述文件,对于其中符合预设属性值的第二设备特征描述文件,将第一路径中与所述第二设备特征描述文件具有相同预设属性值的第一特征描述文件中的配置参数更新至所述第二设备特征描述文件中。

在一个可选实施例中,第一指令可以在软件更新命令触发后执行,软件更新命令用于至少更新第一路径中的第一设备特征描述文件,而不对第二路径中与第一设备特征描述文件对应的第二设备特征描述文件做相同变更。例如,更新命令被触发的情况可以是用户在商城选择了软件更新选项,也可以是由操作系统自动执行更新驱动软件功能。上述更新命令被触发时会将软件驱动包下载或复制到第一路径中,但不会对第二路径的文件进行修改操作。本例的方法可以由软件驱动包中的可执行文件实施,例如用户点击商城的更新按钮时或者在命令行输入更新命令时,调用可执行文件完成第一路径中文件的更新,然后由可执行文件发出第一指令,由更新程序响应第一指令而执行本实施例的驱动文件变更方法。

在现有的一些操作系统中,如果用户在商城选择了软件删除功能,会执行将第一路径下的驱动文件删除的步骤,但不会删除第二路径的第二设备特征描述文件,导致软件卸载功能出现残留情况。因此,在另一个可选实施例中,可以先行判断被触发的命令为软件更新命令或软件删除命令,若为软件删除命令,则在软件删除命令被触发后:响应于第二指令,确定第一路径中至少一个待删除的第一设备特征描述文件的预设属性值;删除第二路径中符合预设属性值的第二设备特征描述文件。即在本例中,若判断出触发了软件更新命令,则执行将第二设备特征文件同步更新至与第一设备特征文件相同的步骤;若判断出触发了软件删除命令,则在第二路径中将与待删除的第一设备特征文件具有相同预设属性值的第二设备特征文件一并删除。

将第二设备特征描述文件中的至少一个配置参数变更至与所对应的第一设备特征描述文件相同,有多种方式。在其中一个示例中,可以比对第一路径的PPD文件与第二路径的PPD的关键字和属性值的异同,将第二路径的PPD文件与第一路径的PPD文件不一致的部分修改至与第一路径的PPD文件相同。例如第一路径的PPD文件相比于第二路径的PPD文件增加了一个新关键字,那么在第二路径的PPD文件中也增加该关键字。或者第一路径的PPD文件已经不再具有第二路径的PPD文件中的某一关键字,则可以在第二路径的PPD文件中将该关键字及对应的属性值删除。再例如第一路径的PPD文件中关于打印浓度的关键字允许设置的最小数值为1,而第二路径的PPD文件该最小数值为0,那么在第二路径的PPD文件中将该数值由0改为1。在另一个示例中,可以基于所对应的第一设备特征描述文件生成新的第二设备特征描述文件,替换原有第二设备特征描述文件,这样可以更为快速地使第二路径的PPD文件变更至与第一路径的PPD文件相同。但这种方式可能会将用户已经设置的配置参数覆盖成厂商默认配置,因此为了保障用户体验,可以在替换前保存原有第二设备特征描述文件的至少一个配置参数(可以是用户所关注的配置参数或用户已经配置过的参数),然后在替换原有第二设备特征描述文件时,将新的第二设备特征描述文件的相应配置参数还原至与原有第二设备特征描述文件相同,这样可以确保用户在更新后仍然能够使用与更新前相同的配置,无需在每次更新后重新配置参数。“相应配置参数”是指与替换前所保存的配置参数相匹配的配置参数。需说明的是,有时驱动更新后的新版本会移除一些配置参数,可以理解,对于这些更新后被移除的配置参数,不会还原至与更新前相同。

本发明还包括一种驱动文件变更装置200,如图2所示,包括确定单元201和变更单元202。其中:

确定单元201,用于响应于第一指令,确定第一路径中至少一个第一设备特征描述文件的预设属性值。

变更单元202,用于将第二路径中符合所述预设属性值的第二设备特征描述文件中的至少一个配置参数变更至与所对应的所述第一设备特征描述文件相同。所对应的第一设备特征描述文件为:与第二设备特征描述文件指向同一设备型号的第一特征描述文件。

本实施方式为方法实施方式对应的虚拟装置。在一个实施例中,确定单元201和变更单元202可以是软件程序中设置在相同位置或不同位置的程序模块。例如:

对于确定单元201,第一指令可以是一个程序调用语句,当被调用时执行确定单元201的功能模块。当被调用时,确定单元201读取第一路径(如存放驱动安装文件的存储路径,可以是本地或云端存储路径)中的第一设备特征描述文件,可以是逐行、逐字符或其他读取方式,也可以是使用搜索算法匹配输入的字符串;搜索可以是精确搜索或模糊搜索。预设属性值可以是PPD文件中的关键字对应的键值,例如,驱动文件被安装在/usr/share/cups/model路径下,该路径下的PPD文件包含以字符串形式记录的设置项“*PageSizeA4:”,其中,“PageSize”为关键字,“A4”为其键值,此时“A4”可作为本例中的属性值,一个实施例的确定单元201可以逐一读取每个PPD文件的“PageSize”关键字并记录其对应的键值作为属性值。另一个示例中,厂商信息是被关注的对象,那么可以读取“ModelName”关键字,将该关键字对应的属性值以及其所对应的设备型号进行记录,以备变更单元202使用。

对于变更单元202,可以在第二路径(如存放系统设置文件的存储路径)中搜索符合预设属性值的第二设备特征描述文件。例如系统设置文件被存储在/etc/cups/ppd路径下,该路径下的PPD文件是由用户在驱动程序界面添加打印机之后产生的。假设本实施例预备对第一路径中所涉及的所有厂商的设备对应的PPD文件进行变更,并且在确定单元101中已经记录了这些文件对应的型号和厂商信息对应的属性值,那么在变更单元202中,将第二路径中符合前述属性值的PPD文件的配置参数参照第一路径中与其同属相同型号的PPD文件进行修改。

在一个可选实施例中,驱动文件变更装置,还包括:软件更新命令检测单元,用于在检测到软件更新命令后执行第一指令;软件更新命令用于至少更新第一路径中的第一设备特征描述文件,而不对第二路径中与所述第一设备特征描述文件对应的第二设备特征描述文件做相同变更。软件更新命令检测单元可以是用于检测用户选择了哪一个交互接口的程序模块,例如软件商城提供“安装”、“更新”、“卸载”三个交互接口,当用户点击了“更新”按钮时,软件更新命令检测单元被触发,先执行驱动文件安装,在驱动文件安装结束后,发出第一指令,使确定单元201得以执行。在本实施例中,软件更新命令在执行驱动文件安装功能时可以至少更新第一路径中的第一设备特征描述文件;但软件更新命令不会代替更新单元202进行第一设备特征描述文件的更新。需要说明的是,软件更新指令还可以不由用户选择,而是由操作系统在预定的更新时机进行自动更新。

在另一个可选实施例中,还包括:软件删除命令检测单元,用于在检测到软件删除命令后执行第二指令;第二确定单元,用于响应于第二指令,定第一路径中至少一个待删除的第一设备特征描述文件的预设属性值;删除单元,用于删除第二路径中符合所述预设属性值的第二设备特征描述文件。即本实施例若检测到用户选择了删除命令,则基于相同的逻辑将第二路径中与待删除的第一特征描述文件指向相同型号的的第二特征描述文件进行删除。

变更单元202可以采用多种方式进行变更,在其中一个示例中,变更单元202具体用于:基于所对应的第一设备特征描述文件生成新的第二设备特征描述文件,替换原有第二设备特征描述文件;在替换前,保存原有第二设备特征描述文件的至少一个配置参数;所述装置还包括:还原单元,用于在替换原有第二设备特征描述文件时,将新的第二设备特征描述文件的相应配置参数还原至与原有第二设备特征描述文件相同。本发明还包括一种计算机可读存储介质,包括存储的程序,在所述程序运行时控制所述存储介质所在设备执行前述的驱动文件变更方法。

本发明还包括一种信息处理设备,如图3所示,包括处理器301、存储器302以及存储在存储器中并可在处理器301上运行的计算机程序303,处理器301执行计算机程序303时实现实施例中的驱动文件变更方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器301执行时实现实施例中装置中各模型中/单元的功能,为避免重复,此处不一一赘述。

计算机设备300可以是桌上型计算机、笔记本、掌上电脑及云端服务器、图像形成装置等计算设备。计算机设备可包括,但不仅限于,处理器301、存储器302。本领域技术人员可以理解,图3仅仅是计算机设备300的示例,并不构成对计算机设备300的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器301可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器302可以是计算机设备300的内部存储单元,例如计算机设备300的硬盘或内存。存储器302也可以是计算机设备300的外部存储设备,例如计算机设备300上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器302还可以既包括计算机设备300的内部存储单元也包括外部存储设备。存储器302用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器302还可以用于暂时地存储已经输出或者将要输出的数据。

<应用实例1>

图4(a)示出了在实施本发明的改进前,现有技术的一个例子。其中R1为第一路径,存储有ver1.0版本的第一设备特征描述文件F1。R2为第二路径,此时第二路径R2中还未生成第二设备特征描述文件。D1为驱动程序界面,其中B1为用于添加设备的按钮,C1为用户可操控的光标,用户可以操控光标C1点击按钮B1添加打印设备。

图4(b)示出了用户操控光标C1点击按钮B1并添加打印设备的示意图。用户添加一台设备后,驱动程序界面D1会产生一个设备图标P1,用于表示所添加的特定型号的打印设备。同时会根据第一路径R1中存储的第一设备特征描述文件F1在第二路径R2中生成第二设备特征描述文件F2。用户点击设备图标P1可弹出参数配置界面,使用户可以根据需要改变参数配置。图4(b)中的虚线代表设备图标P1和第二设备特征描述文件F2的关联关系。

在本例中,驱动更新前的版本为ver1.0,更新后的版本为ver2.0。用户在ver1.0的驱动应用界面中点击“添加”按钮,操作系统根据用户所选的设备型号从第一路径中找到相应的PPD文件,并在第二路径中生成了内容相同的PPD文件,向打印设备下发打印任务时,以第二路径中PPD文件的属性值为准。在本例的ver1.0版本中,驱动应用程序允许用户通过交互组件将一个可调数值设置为0。

图4(c)示出了在未使用本例的方法更新驱动文件时的示意图。用户执行了更新功能,将驱动版本升级至V2.0,此时第一设备特征描述文件F1和驱动程序都已更新至ver2.0版本,第二路径R2下的第二设备特征描述文件F2仍然是ver1.0版本。然而ver2.0的驱动程序设置了前述可调数值的最低值需要满足不小于1,用户在ver1.0版本的驱动程序中配置的可调数值0不是合法的数值,因此当用户在驱动界面中点击驱动程序更新前已经添加的设备图标P1希望下发打印作业时,由于传入的参数不在ver2.0版本允许的范围内,用户不能成功下发打印作业。用户可以自行删除该设备图标P1并且重新添加,这样系统可以根据该添加操作重新在第二路径生成与第一路径一致的PPD文件。但这毫无疑问会增加用户操作复杂度,并且需要用户熟知上述问题产生的原因以及解决方法。特别地,若用户使用的是UOS等会执行自动更新的操作系统,则在更新后用户可能未意识到系统版本已变更,更不易发现上述问题发生的原因,会误以为设备出现故障,从而阻碍了用户对设备的正常使用。

本例的改进方案通过安装包脚本来实现,用户在商城点击更新功能后执行安装脚本,安装脚本具有用于实现驱动安装包复制的指令和用于实现步骤S101和步骤S102的指令。当驱动安装包成功复制到第一路径后,安装脚本执行第一指令以通过步骤S101和步骤S102使第二路径的PPD文件与第一路径相对应的PPD文件保持同步。这样在用户更新至ver2.0后,在更新前已经生成的设备图标P1对应的是ver2.0版本的PPD文件,用户可以点击该图标下发打印任务或配置参数,无需用户自行解决前述的异常问题。

<应用实例2>

本例的在应用实例1的基础上,还增加了对删除功能的改进。若识别到用户在商城界面选择了删除功能,则先确定删除操作所对应的设备型号,然后在删除第一路径中的驱动文件时将第二路径中对应相同型号的PPD文件一并删除。防止出现卸载残留。

<应用实例3>

本例的流程如图5所示。

在步骤S501中,在应用商城中选择安装、更新、卸载功能,或使用命令行输入用于进行驱动安装、更新(即覆盖安装)、卸载的指令。其中在应用商城中的选择操作可以包括用户手动点击安装、更新、卸载按钮,也可以是按照操作系统的设置由操作系统自动执行更新操作等。使用命令行输入命令的操作可以是不通过商城而是由用户在命令行中手动输入安装指令进行驱动包的安装。

在步骤S502中,基于S501步骤发出的命令而调用安装脚本,安装脚本包括安装驱动文件的第一程序模块和更新PPD文件的第二程序模块。第一程序模块将驱动文件安装至第一路径后,发至第一指令使第二程序模块执行。

在步骤S503中,第二程序模块判断步骤S501中被选择的命令类型,如果是更新操作则执行步骤S513,如果不是更新操作则执行步骤S523。

在步骤S513中,对第二路径下的PPD文件进行更新,使其与第一路径下的PPD文件内容一致。在步骤S523中,进一步判断是否为删除操作,如果是,则执行步骤S524,将第二路径下的PPD文件与待删除的第一路径中PPD文件同属相同型号的进行删除。

其中步骤S513进一步包括图6所示的执行流程。

在步骤S601中,读取并保存驱动安装包中的所有PPD文件中关键字ModelName的属性值及其对应的文件路径。驱动安装包中的PPD被安装在第一路径下。第一路径的一个示例是/usr/share/cups/model路径。一个第一路径中可能含有多种型号的设备对应的PPD文件,通过读取ModelName的属性值可以确定设备对应的厂商,可针对该厂商设备的PPD文件进行修改。可以理解,本步骤也可以读取ModelName以外的属性值作为筛选依据。

在步骤S602中,遍历第二路径中的所有PPD文件,并读取第二路径中所有PPD文件的ModelName。第二路径的一个示例是/etc/cups/ppd。需说明的是,第一路径和第二路径可能随操作系统的不同而发生变化,以上仅为其中一个示例,实际使用中操作者可以将驱动安装文件所在的路径确定为第一路径,将系统设置文件所在的路径确定为第二路径。第二路径中的PPD文件是基于用户在驱动应用界面中添加打印设备时所生成的。通过读取第二路径PPD文件的ModelName可以确定用户已经添加了哪些设备对应的PPD文件,而这些第二路径的PPD文件是否与第一路径的PPD文件内容一致将会影响到用户是否能在驱动应用程序中正常使用打印设备。

在步骤S603中,判断第一路径中是否存在与第二路径中PPD文件的ModelName属性值相同的PPD文件。若不存在,则执行S623,认为第二路径的PPD文件不需要更新。若存在,则执行S613,使用第一路径中具有相同ModelName的PPD文件对第二路径中的PPD文件的配置参数进行更新。

<应用实例4>

本例是对步骤S613的进一步限定。S613将配置参数进行更新的具体过程可以为:生成与第一路径的PPD文件内容完全相同的新PPD文件,以文件覆盖形式替换第二路径的原PPD文件。在覆盖替换前,保存原PPD文件的所有配置参数。然后在替换以后,根据所保存的配置参数对新PPD文件进行修改,使修改后的配置参数与所保存的配置参数的属性值一致。在本例中,不会对新PPD文件进行关键字的增加或删除。本例的目的在于,通过PPD文件的替换可以便捷地使第二路径的PPD文件与第一路径的PPD文件保持内容上的一致,无需对关键字的属性值进行逐一判断或修改。但这样设置可能导致用户在更新前的配置被覆盖为厂商默认配置,这样会导致每次用户更新后都需要重新进行手动配置,降低了用户体验。本例可以在更新前就保存原PPD文件的配置参数,然后在更新后将新PPD文件的配置参数还原至保存的值。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

技术分类

06120115636793