[go: up one dir, main page]

CN114217827A - 一种Linux系统下的打印机驱动匹配安装方法及系统 - Google Patents

一种Linux系统下的打印机驱动匹配安装方法及系统 Download PDF

Info

Publication number
CN114217827A
CN114217827A CN202111554465.8A CN202111554465A CN114217827A CN 114217827 A CN114217827 A CN 114217827A CN 202111554465 A CN202111554465 A CN 202111554465A CN 114217827 A CN114217827 A CN 114217827A
Authority
CN
China
Prior art keywords
printer
matching
ppd file
ppd
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111554465.8A
Other languages
English (en)
Inventor
李鑫
姜丁源
韩泽慧
刘于辉
王霞
史晶
张超
蔡成宇
彭欢
郭俊余
魏立峰
孔金珠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kirin Software Co Ltd
Original Assignee
Kirin Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202111554465.8A priority Critical patent/CN114217827A/zh
Publication of CN114217827A publication Critical patent/CN114217827A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明公开了一种Linux系统下的打印机驱动匹配安装方法及系统,针对目前linux桌面操作系统中打印机驱动安装不便的问题,可以自动检测已接入打印机,并进行自动识别,在源服务器中查找对应驱动安装包进行安装,并匹配本机PPD文件,通过对精准匹配、非精准匹配和匹配失败等情况进行分类处理,匹配灵活,适应性强,能够在Linux下进行打印机驱动安装,使用简单便捷,减少用户的重复操作,提高工作效率,增加系统的友好度。

Description

一种Linux系统下的打印机驱动匹配安装方法及系统
技术领域
本申请涉及打印机驱动安装领域,尤其涉及一种Linux系统下的打印机驱动匹配安装方法及系统。
背景技术
当前国产桌面操作系统发展火热,应用生态环境逐渐成熟,丰富的桌面应用极大地满足客户办公娱乐的需求。为满足客户打印文档、相片等需求,国产桌面操作系统也应能较便捷的安装,使用打印机。
现有国产多种Linux操作系统如银河麒麟桌面操作系统已有的打印机管理软件system-config-printer需要自行选择打印机进行安装,且无法进行驱动匹配、更新等操作。这使得用户在银河麒麟桌面操作系统上进行打印机适配工作难度大且流程繁琐。
当前主流操作系统多采用CUPS进行打印机及任务管理。
①CUPS下打印机的添加删除需要用户在localhost:631页面进行操作,过程繁琐,且对新手不友好。
②打印机驱动的匹配需手动操作,用户自行确认是否与当前型号对应。除此之外,目前各打印机厂商的官网页面,银河麒麟桌面操作系统的驱动安装包支持较少,难以搜索,非银河麒麟桌面操作系统默认集成的驱动,用户查找驱动不便。
③对于已安装的打印机,难以设置参数,更换驱动文件不便。
④打印机的打印任务队列不直观,管理困难。
⑤同一局域网内,对同一台打印机,不同主机需要重复添加配置,用户单位的IT部门需重复工作。
因多数用户使用windows多年,使用习惯难以改变,适应银河麒麟桌面操作系统需要一定时间。同时,因银河麒麟桌面操作系统暂时普及度较低,网络中相应总结及教程较少,且打印机厂商繁多,多数品牌尚未推出对应银河麒麟桌面操作系统的自助安装平台,用户需自行查找驱动进行安装、配置,使得用户自主安装打印机设备的驱动难度较大,用户体验差,技术服务人员工作压力大。
现有专利如CN107329916A提及了一种USB设备接入的自动发现方法,CN106126256A提及了一种驱动管理方法。但对于银河麒麟桌面操作系统下的USB/网络打印机的管理,适配驱动的实现并未给出一种完整方案。这两项专利均未提及打印机型号与PPD文件的匹配。根据CUPS技术原理可知,在基于CUPS下的打印机安装,若未指定打印机及PPD文件,则无法安装打印机。故根据本领域公共常识,这两种方法均无法实现打印机的自动安装,同时CN107329916A、CN113253952A两项专利没有提及网络打印相关的方法。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种Linux系统下的打印机驱动匹配安装方法及系统,能够在Linux下进行打印机驱动安装,使用简单便捷,减少用户的重复操作,提高工作效率,增加系统的友好度。
为实现上述目的,本发明第一方面提出一种Linux系统下的打印机驱动匹配安装方法,包括如下步骤:
步骤S100、通过USB接口或网络检测是否有打印机接入,当检测到有打印机接入时,获取接入打印机的设备地址,并通过所述设备地址获取设备信息;
步骤S200、获取操作系统信息,根据设备信息和操作系统信息从源服务器获取驱动安装包;
步骤S300、检测获取的驱动安装包是否已在本地安装,若已安装,则不作处理,若未安装,则进行安装并更新本地的PPD文件列表;
步骤S400、在本地的PPD文件列表中,根据接入的打印机的设备信息,查找PPD文件,获得匹配结果,其中,匹配结果包括匹配失败、非精准匹配和精准匹配,若匹配结果为匹配失败,则记录错误信息,或返回通用PPD文件;若匹配结果为非精准匹配,则返回若干个设备信息差异最小的PPD文件;若匹配结果为精准匹配,则返回与设备信息一致的PPD文件;
步骤S500、根据匹配结果指定需安装打印机的PPD文件的地址。
可选地,所述设备信息包括品牌、型号和IP地址。
可选地,所述查找PPD文件,获得匹配结果包括:
步骤S410、查找与设备信息中品牌相同的PPD文件;
步骤S420、若不存在品牌相同的PPD文件,则匹配失败;
步骤S430、若存在品牌相同的PPD文件,则在品牌相同的PPD文件中查找与设备信息中型号相同的PPD文件;
步骤S440、若存在型号相同的PPD文件,则匹配结果为精准匹配,返回型号相同的PPD文件;
步骤S450、若不存在型号相同的PPD文件,则匹配结果为非精准匹配,将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回若干个型号与设备信息中型号大小差值最小的PPD文件。
可选地,所述将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回若干个型号大小差值最小的PPD文件包括:
步骤S451、将品牌相同的PPD文件按型号大小进行排序,将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回第一个型号大于设备信息中型号的PPD文件,以及前两个PPD文件和后两个PPD文件;
步骤S452、若不存在型号大于设备信息中型号的PPD文件,则返回型号最大的五个PPD文件。
可选地,所述步骤S500包括:
步骤S510、若匹配结果为精准匹配,则自动安装返回的PPD文件;
步骤S520、若匹配结果为非精准匹配,则手动选取返回的PPD文件进行安装;
步骤S530、若匹配结果为匹配失败,则自动安装通用Unix打印系统默认的PPD文件或手动从本地的PPD文件列表中选取PPD文件进行安装。
可选地,还包括:
步骤S6、当源服务器更新驱动安装包后,查找本地已安装非精准匹配PPD文件的打印机设备信息,根据打印机设备信息和操作系统信息从源服务器匹配驱动安装包,若匹配不到驱动安装包则不进行更新,若匹配到驱动安装包,则下载并安装匹配到的驱动安装包,然后更新本地的PPD文件列表,并提示用户更新打印机驱动。
可选地,所述操作系统信息为操作系统所安装在的主机的架构信息。
可选地,还包括:
步骤S7、将安装好的打印机设为共享打印机,并建立虚拟打印机接收其他终端的打印请求;其他终端与虚拟打印机建立连接,向虚拟打印机发送打印请求;根据接收到的打印请求使用安装好的打印机进行打印。
可选地,本地的PPD文件列表的储存方式为:
获取本地已安装的PPD文件,收集PPD文件中厂商和型号信息并封装为包含厂商字段和型号字段的结构体;
根据包含厂商字段的内容筛选厂商,并进行分组;
对厂商分组中的PPD文件按照型号字段的内容进行排序,并按照排序结果进行存储。
本发明第二方面提出一种Linux系统下的打印机驱动匹配安装系统,包括:
设备连接模块,用于通过USB接口或网络检测是否有打印机接入,当检测到有打印机接入时,获取接入打印机的设备地址,并通过所述设备地址获取设备信息;
安装包获取模块,用于获取操作系统信息,根据设备信息和操作系统信息从源服务器获取驱动安装包;
包安装模块,用于检测获取的驱动安装包是否已在本地安装,若已安装,则不作处理,若未安装,则进行安装并更新本地的PPD文件列表;
匹配模块,用于在本地的PPD文件列表中,根据接入的打印机的设备信息,查找PPD文件,获得匹配结果,其中,匹配结果包括匹配失败、非精准匹配和精准匹配,若匹配结果为匹配失败,则记录错误信息,或返回通用PPD文件;若匹配结果为非精准匹配,则返回若干个设备信息差异最小的PPD文件;若匹配结果为精准匹配,则返回与设备信息一致的PPD文件;
打印管理模块,用于根据匹配结果指定需安装打印机的PPD文件的地址。
从以上技术方案可以看出,本发明的技术方案具有以下优点:
本发明的一种Linux系统下的打印机驱动匹配安装方法及系统,针对目前国产linux桌面操作系统中打印机驱动安装不便的问题,可以自动检测已接入打印机,并进行自动识别,在源服务器中查找对应驱动安装包进行安装,并匹配本机PPD文件,通过对精准匹配、非精准匹配和匹配失败等情况进行分类处理,匹配灵活,适应性强,能够在Linux下进行打印机驱动安装,使用简单便捷,减少用户的重复操作,提高工作效率,增加系统的友好度。
附图说明
为了更清楚地表达说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的打印机网络接入检测方法流程图。
图2为本发明提供的打印机驱动安装包的安装方法流程图。
图3为本发明提供的打印机驱动自动更新方法流程图。
图4为本发明提供的打印机驱动安装方法流程图。
图5为本发明提供的打印机PPD文件自动匹配方法流程图。
图6为本发明提供的打印机共享方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1至图6,一种Linux系统下的打印机驱动匹配安装方法,包括如下步骤:
步骤S100、通过USB接口或网络检测是否有打印机接入,当检测到有打印机接入时,获取接入打印机的设备地址,并通过所述设备地址获取设备信息;
步骤S200、获取操作系统信息,根据设备信息和操作系统信息从源服务器获取驱动安装包;
步骤S300、检测获取的驱动安装包是否已在本地安装,若已安装,则不作处理,若未安装,则进行安装并更新本地的PPD文件列表;
步骤S400、在本地的PPD文件列表中,根据接入的打印机的设备信息,查找PPD文件,获得匹配结果,其中,匹配结果包括匹配失败、非精准匹配和精准匹配,若匹配结果为匹配失败,则记录错误信息,或返回通用PPD文件;若匹配结果为非精准匹配,则返回若干个设备信息差异最小的PPD文件;若匹配结果为精准匹配,则返回与设备信息一致的PPD文件;
步骤S500、调用CUPS接口,根据匹配结果指定需安装打印机的PPD文件的地址。
对于上述步骤的进一步改进,所述设备信息包括品牌、型号和IP地址。
对于上述步骤的进一步改进,所述查找PPD文件,获得匹配结果包括:
步骤S410、查找与设备信息中品牌相同的PPD文件;
步骤S420、若不存在品牌相同的PPD文件,则匹配失败;
步骤S430、若存在品牌相同的PPD文件,则在品牌相同的PPD文件中查找与设备信息中型号相同的PPD文件;
步骤S440、若存在型号相同的PPD文件,则匹配结果为精准匹配,返回型号相同的PPD文件;
步骤S450、若不存在型号相同的PPD文件,则匹配结果为非精准匹配,将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回若干个型号与设备信息中型号大小差值最小的PPD文件。
对于上述步骤的进一步改进,所述将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回若干个型号大小差值最小的PPD文件包括:
步骤S451、将品牌相同的PPD文件按型号大小进行排序,将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回第一个型号大于设备信息中型号的PPD文件,以及前两个PPD文件和后两个PPD文件;
步骤S452、若不存在型号大于设备信息中型号的PPD文件,则返回型号最大的五个PPD文件。
对于上述步骤的进一步改进,所述步骤S500包括:
步骤S510、若匹配结果为精准匹配,则自动安装返回的PPD文件;
步骤S520、若匹配结果为非精准匹配,则手动选取返回的PPD文件进行安装;
步骤S530、若匹配结果为匹配失败,则自动安装通用Unix打印系统默认的PPD文件或手动从本地的PPD文件列表中选取PPD文件。
对于上述步骤的进一步改进,还包括:
步骤S6、当源服务器更新驱动安装包后,查找本地已安装非精准匹配PPD文件的打印机设备信息,根据打印机设备信息和操作系统信息从源服务器匹配驱动安装包,若匹配不到驱动安装包则不进行更新,若匹配到驱动安装包,则下载并安装匹配到的驱动安装包,然后更新本地的PPD文件列表,并提示用户更新打印机驱动。
对于上述步骤的进一步改进,所述操作系统信息为操作系统所安装在的主机的架构信息。
对于上述步骤的进一步改进,还包括:
步骤S7、将安装好的打印机设为共享打印机,并建立虚拟打印机接收其他终端的打印请求;其他终端与虚拟打印机建立连接,向虚拟打印机发送打印请求;根据接收到的打印请求使用安装好的打印机进行打印。
对于上述步骤的进一步改进,本地的PPD文件列表的储存方式为:
获取本地已安装的PPD文件,收集PPD文件中厂商和型号信息并封装为包含厂商字段和型号字段的结构体;
根据包含厂商字段的内容筛选厂商,并进行分组;
对厂商分组中的PPD文件按照型号字段的内容进行排序,并按照排序结果进行存储。
本发明实施例还提出一种Linux系统下的打印机驱动匹配安装系统,包括:
设备连接模块,用于通过USB接口或网络检测是否有打印机接入,当检测到有打印机接入时,获取接入打印机的设备地址,并通过所述设备地址获取设备信息;
安装包获取模块,用于获取操作系统信息,根据设备信息和操作系统信息从源服务器获取驱动安装包;
包安装模块,用于检测获取的驱动安装包是否已在本地安装,若已安装,则不作处理,若未安装,则进行安装并更新本地的PPD文件列表;
匹配模块,用于在本地的PPD文件列表中,根据接入的打印机的设备信息,查找PPD文件,获得匹配结果,其中,匹配结果包括匹配失败、非精准匹配和精准匹配,若匹配结果为匹配失败,则记录错误信息,或返回通用PPD文件;若匹配结果为非精准匹配,则返回若干个设备信息差异最小的PPD文件;若匹配结果为精准匹配,则返回与设备信息一致的PPD文件;
打印管理模块,用于根据匹配结果指定需安装打印机的PPD文件的地址。
下面结合具体实施方式对本发明方案作进一步说明:
现有4台打印机,分别为打印机①USB直连B品牌200型、打印机②USB直连C品牌500型、打印机③网络连接D品牌300型、打印机④网络连接D品牌1000型。
如图1所示,设备连接模块通过USB接口或网络检测是否有打印机接入,以网络检测打印机为例。该模块启动后,通过广播的方式,向局域网内所有设备发送报文。若没有回应,则结束此次检测,并经过可预定的一段时间再次执行广播。若有回应,进一步,与回应的设备进行交互,获取设备信息。进一步,对获取的设备信息进行解析。若设备信息中不包含有效信息,则将错误记录至日志模块,结束本次检测。若包含有效信息,则按一定格式存储,用于后续流程使用。如打印机③可提取信息,厂商:D,型号:300,IP地址:xxx.xxx.xxx;
进一步,如图2所示,在检测到接入的打印机设备并提取出的打印机设备信息基础上,进一步提取国产桌面操作系统所安装在的主机的架构信息。如主机架构为arm架构,打印机厂商型号为D品牌300型,则在服务器内进行arm架构,D品牌300型驱动安装包的查找。进一步,若未找到对应的驱动安装包,则自动安装失败,流程结束。若找到,则对驱动安装包进行安装。可选地,在安装之前,在本机中查找驱动安装包是否已安装,若已安装,则结束流程,若未安装则进行安装,调用主机相应接口,如apt,进行用户权限检查,然后安装从源服务器获取的驱动安装包。若安装从源服务器获取的驱动安装包成功,对主机中PPD文件列表进行更新。若安装失败,则进一步从本地的驱动安装包中选取安装。
进一步,如图5所示,本发明实施例还包括PPD文件匹配,当需要添加PPD文件时,匹配步骤启动,与CUPS建立连接。若连接失败,则报错,记录日志。若成功,进一步,获取主机已添加PPD文件,并按对主机已添加PPD文件进行整理,整理步骤为:收集PPD文件中厂商和型号信息并封装为包含厂商字段和型号字段的结构体;根据包含厂商字段的内容筛选厂商,并进行分组;对厂商分组中的PPD文件按照型号字段的内容进行排序,并按照排序结果进行存储,厂商也按照厂商字段的大小进行排序。假设主机中的PPD文件按本方法整理后有:
品牌:A、C、D;
型号:
A品牌——100型、200型;
C品牌——500型、600型;
D品牌——100型、200型、250型、300C型、500型、600型;
通过获取打印机设备信息,可获取连接的打印机品牌、型号信息。
进一步,进行匹配:
打印机①品牌为B,不存在对应品牌。则匹配失败,记录错误信息,或返回CUPS默认包含的通用PPD文件,匹配流程结束;
打印机②品牌为C,存在对应品牌C。进一步,在品牌C的型号列表中进行比对,存在完全一致的型号500型。进一步,返回对应PPD文件,精准匹配,匹配流程结束;
打印机③品牌为D,在存在D品牌。进一步,在型号中查找D品牌对应的型号字符串。不存在完全匹配的字符串,故进行大小比对。得出第一个不小于300的字符串为300C,故匹配的PPD文件为300C型。进一步,一并返回300C型排序的前两个:200型、250型;后两个:500型、600型共计5个的PPD文件。非精准匹配,匹配流程结束。
打印机④品牌为D,在存在D品牌。进一步,在型号中查找D品牌对应的型号字符串。不存在完全匹配的字符串,故进行大小比对。1000型大于全部型号,则返回型号字符串最大的5个型号的PPD文件:200型、250型、300C型、500型、600型。非精准匹配,匹配流程结束。
如图4 所示,检测到接入的打印机①②③④后,获取打印机设备信息,首先在源服务器中查找安装驱动安装包,再对接入设备进行驱动匹配,其中打印机②精准匹配,打印管理模块对打印机②进行自动安装;而无法自动安装的打印机③④则进行手动安装。对于非精准匹配驱动的打印机,匹配模块返回了非精准匹配的5个PPD文件,可用于手工安装时候选。对于打印机①,匹配失败的打印机,可使用CUPS默认的通用PPD文件,或本地PPD文件中进行选取,人工验证打印效果,判断PPD文件匹配程度。
如图3所示,对于无法精准匹配的打印机,使用非精准匹配的PPD文件安装后,源服务器中又更新了该打印机驱动安装包。定时检测已安装打印机设备信息,对于非精准匹配PPD安装的打印机。获取打印机信息,根据主机架构,在源服务器中进行驱动安装包查找。若无对应驱动安装包,则结束更新。若有安装包,则提示用户有可更新驱动。如手动安装的非精准匹配的打印机①,程序启动时,获取记录中保存的安装信息,判断该打印机为非精准匹配安装。进一步,判断存在非精准匹配安装的打印机,获取打印机及主机信息。进一步,在源服务器中进行驱动查找。若未找到对应驱动安装包,则停止。若找到,则下载。进一步,提示用户可以更新已安装打印机的驱动。
如图6所示,本发明可以将已经安装好的打印机分享给其他终端,方便其他终端进行打印机的配置管理。具体到实施例,如对于已经安装打印机②成功的主机(为表示与其他主机的区分,称为终端A,另一主机称为终端B),可以在终端A上通过图形操作界面,由用户手动将打印机②设置为共享打印机,此时终端A便可以作为一个打印机服务器。终端B启动后,探寻局域网内其他终端,发现存在共享打印机的终端A,便向终端A发送安装共享打印机的功能。当终端A收到来自终端B的连接请求时,会在终端B上建立一个打印机②的虚拟打印机用于接收打印请求。当终端B向此虚拟打印机发送打印请求时,会将打印请求转发给终端A,终端A使用打印机②完成此次请求的打印任务。
本发明实施例具有以上优点:
可自动检测已接入打印机,并进行自动识别,在源服务器中查找对应驱动进行安装,并匹配本机PPD文件,完成打印机安装。
可在源服务器中驱动更新的情况下,更新已安装的打印机的PPD文件。
可以将已经安装好的打印机分享给其他终端,方便其他终端进行打印机的配置管理。
匹配本机PPD文件时,通过对精准匹配、非精准匹配和匹配失败等情况进行分类处理,匹配灵活,适应性强。
对PPD文件按照特定方式储存,方便管理和匹配。
本发明涉及的技术用语解释如下:
1.CUPS、CUPS服务:即CUPS(Common UNIX Printing System,通用Unix打印系统)。
2.源服务器:用户搭建的可储存软件包、更新软件包的服务器,如麒麟源服务器即麒麟软件有限公司搭建的,可通过银河麒麟桌面操作系统apt方式更新软件包的服务器。
3.打印机驱动:特指CUPS下,描述打印机参数的PPD文件。
4.PPD文件:提供了有关用户的PS打印机的功能特征信息的文件,包括打印机自带字体,纸张大小,优化屏幕和分辨能力的列表,这些信息由打印机制造商提供,它反应了这种设备的最为通用的配置。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.一种Linux系统下的打印机驱动匹配安装方法,其特征在于,包括如下步骤:
步骤S100、通过USB接口或网络检测是否有打印机接入,当检测到有打印机接入时,获取接入打印机的设备地址,并通过所述设备地址获取设备信息;
步骤S200、获取操作系统信息,根据设备信息和操作系统信息从源服务器获取驱动安装包;
步骤S300、检测获取的驱动安装包是否已在本地安装,若已安装,则不作处理,若未安装,则进行安装并更新本地的PPD文件列表;
步骤S400、在本地的PPD文件列表中,根据接入的打印机的设备信息,查找PPD文件,获得匹配结果,其中,匹配结果包括匹配失败、非精准匹配和精准匹配,若匹配结果为匹配失败,则记录错误信息,或返回通用PPD文件;若匹配结果为非精准匹配,则返回若干个设备信息差异最小的PPD文件;若匹配结果为精准匹配,则返回与设备信息一致的PPD文件;
步骤S500、根据匹配结果指定需安装打印机的PPD文件的地址。
2.根据权利要求1所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,所述设备信息包括品牌、型号和IP地址。
3.根据权利要求2所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,所述查找PPD文件,获得匹配结果包括:
步骤S410、查找与设备信息中品牌相同的PPD文件;
步骤S420、若不存在品牌相同的PPD文件,则匹配失败;
步骤S430、若存在品牌相同的PPD文件,则在品牌相同的PPD文件中查找与设备信息中型号相同的PPD文件;
步骤S440、若存在型号相同的PPD文件,则匹配结果为精准匹配,返回型号相同的PPD文件;
步骤S450、若不存在型号相同的PPD文件,则匹配结果为非精准匹配,将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回若干个型号与设备信息中型号大小差值最小的PPD文件。
4.根据权利要求3所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,所述将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回若干个型号大小差值最小的PPD文件包括:
步骤S451、将品牌相同的PPD文件按型号大小进行排序,将设备信息中型号与品牌相同的PPD文件的型号进行大小比较,返回第一个型号大于设备信息中型号的PPD文件,以及前两个PPD文件和后两个PPD文件;
步骤S452、若不存在型号大于设备信息中型号的PPD文件,则返回型号最大的五个PPD文件。
5.根据权利要求4所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,所述步骤S500包括:
步骤S510、若匹配结果为精准匹配,则自动安装返回的PPD文件;
步骤S520、若匹配结果为非精准匹配,则手动选取返回的PPD文件进行安装;
步骤S530、若匹配结果为匹配失败,则自动安装通用Unix打印系统默认的PPD文件或手动从本地的PPD文件列表中选取PPD文件进行安装。
6.根据权利要求5所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,还包括:
步骤S6、当源服务器更新驱动安装包后,查找本地已安装非精准匹配PPD文件的打印机设备信息,根据打印机设备信息和操作系统信息从源服务器匹配驱动安装包,若匹配不到驱动安装包则不进行更新,若匹配到驱动安装包,则下载并安装匹配到的驱动安装包,然后更新本地的PPD文件列表,并提示用户更新打印机驱动。
7.根据权利要求1或6所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,所述操作系统信息为操作系统所安装在的主机的架构信息。
8.根据权利要求1所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,还包括:
步骤S7、将安装好的打印机设为共享打印机,并建立虚拟打印机接收其他终端的打印请求;其他终端与虚拟打印机建立连接,向虚拟打印机发送打印请求;根据接收到的打印请求使用安装好的打印机进行打印。
9.根据权利要求1所述的Linux系统下的打印机驱动匹配安装方法,其特征在于,本地的PPD文件列表的储存方式为:
获取本地已安装的PPD文件,收集PPD文件中厂商和型号信息并封装为包含厂商字段和型号字段的结构体;
根据包含厂商字段的内容筛选厂商,并进行分组;
对厂商分组中的PPD文件按照型号字段的内容进行排序,并按照排序结果进行存储。
10.一种Linux系统下的打印机驱动匹配安装系统,其特征在于,包括:
设备连接模块,用于通过USB接口或网络检测是否有打印机接入,当检测到有打印机接入时,获取接入打印机的设备地址,并通过所述设备地址获取设备信息;
安装包获取模块,用于获取操作系统信息,根据设备信息和操作系统信息从源服务器获取驱动安装包;
包安装模块,用于检测获取的驱动安装包是否已在本地安装,若已安装,则不作处理,若未安装,则进行安装并更新本地的PPD文件列表;
匹配模块,用于在本地的PPD文件列表中,根据接入的打印机的设备信息,查找PPD文件,获得匹配结果,其中,匹配结果包括匹配失败、非精准匹配和精准匹配,若匹配结果为匹配失败,则记录错误信息,或返回通用PPD文件;若匹配结果为非精准匹配,则返回若干个设备信息差异最小的PPD文件;若匹配结果为精准匹配,则返回与设备信息一致的PPD文件;
打印管理模块,用于根据匹配结果指定需安装打印机的PPD文件的地址。
CN202111554465.8A 2021-12-17 2021-12-17 一种Linux系统下的打印机驱动匹配安装方法及系统 Pending CN114217827A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111554465.8A CN114217827A (zh) 2021-12-17 2021-12-17 一种Linux系统下的打印机驱动匹配安装方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111554465.8A CN114217827A (zh) 2021-12-17 2021-12-17 一种Linux系统下的打印机驱动匹配安装方法及系统

Publications (1)

Publication Number Publication Date
CN114217827A true CN114217827A (zh) 2022-03-22

Family

ID=80703832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111554465.8A Pending CN114217827A (zh) 2021-12-17 2021-12-17 一种Linux系统下的打印机驱动匹配安装方法及系统

Country Status (1)

Country Link
CN (1) CN114217827A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119960920A (zh) * 2025-04-10 2025-05-09 中国水产科学研究院 一种基于虚拟机的跨CPU架构的Linux打印机驱动方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221412A (ja) * 2005-02-10 2006-08-24 Canon Inc 印刷処理システム
CN105183403A (zh) * 2015-09-21 2015-12-23 西安电子科技大学 一种基于cups架构的打印管控方法
DE102015119686A1 (de) * 2015-11-13 2017-05-18 Seh Computertechnik Gmbh Druckserver und Verfahren zum Verwalten von Druckern mit einem Druckserver
CN109033816A (zh) * 2018-06-15 2018-12-18 中国人民解放军国防科技大学 麒麟操作系统平台上的国产办公外设驱动管理方法及系统
CN113253952A (zh) * 2021-04-29 2021-08-13 先进操作系统创新中心(天津)有限公司 一种基于Linux操作系统的打印机批量自动化适配系统及适配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221412A (ja) * 2005-02-10 2006-08-24 Canon Inc 印刷処理システム
CN105183403A (zh) * 2015-09-21 2015-12-23 西安电子科技大学 一种基于cups架构的打印管控方法
DE102015119686A1 (de) * 2015-11-13 2017-05-18 Seh Computertechnik Gmbh Druckserver und Verfahren zum Verwalten von Druckern mit einem Druckserver
CN109033816A (zh) * 2018-06-15 2018-12-18 中国人民解放军国防科技大学 麒麟操作系统平台上的国产办公外设驱动管理方法及系统
CN113253952A (zh) * 2021-04-29 2021-08-13 先进操作系统创新中心(天津)有限公司 一种基于Linux操作系统的打印机批量自动化适配系统及适配方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119960920A (zh) * 2025-04-10 2025-05-09 中国水产科学研究院 一种基于虚拟机的跨CPU架构的Linux打印机驱动方法及系统

Similar Documents

Publication Publication Date Title
EP1696323B1 (en) Device information management system, computer and program
US7253915B2 (en) Creating a locally managed instance of a network printer
CN100421091C (zh) 设备信息获取方法和服务器设备
EP0952513A1 (en) Automatic configuration of a network printer
US20090201547A1 (en) Image forming system using a management apparatus to manage software components
US20030115199A1 (en) Device search system
US20070297006A1 (en) Output management device setting apparatus and setting method
CN102387034A (zh) 网络设备管理系统及网络设备管理方法
JP2002278773A (ja) 周辺機器ドライバのインストール方法及びシステム
CN101453367A (zh) 软件部署方法和系统及软件部署服务器和用户服务器
US20020181013A1 (en) Printer selection system and method
CN103927260A (zh) 一种电信设备测试方法及系统
CN109460268B (zh) 应用参数配置方法、装置和系统
CN112615758A (zh) 一种应用识别方法、装置、设备及存储介质
CN114217827A (zh) 一种Linux系统下的打印机驱动匹配安装方法及系统
CN105204912A (zh) 一种驱动程序匹配方法及装置
US8422040B2 (en) Image forming system and method, management apparatus, and recording medium
CN111488157A (zh) 一种服务器装机系统及方法
JP2004078282A (ja) プリンタ機器情報設定方法、画像印刷装置及びプログラム
US20120324210A1 (en) Configuration value management apparatus and management method
CN110851091A (zh) 基于vdi的打印方法、装置、设备及存储介质
JP2005267650A (ja) 複合機の管理方法、複合機の管理システム、プログラムおよび記録媒体
US8760703B2 (en) Job control system and job control method
US8560538B2 (en) Information processing device, content management system, method, and computer readable medium for managing contents
CN112306430B (zh) 信息处理装置和控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination