一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种云桌面的打印机重定向方法及系统与流程

2022-06-05 06:34:25 来源:中国专利 TAG:


1.本发明涉及虚拟设备管理,尤其涉及一种在云桌面上的打印机重定向方法及系统。


背景技术:

2.linux云桌面是云计算技术在基于linux系统的一项应用,简单的来说就是通过虚拟化技术,在处于数据中心机房内的服务器中安装一种虚拟化软件,再通过配置该软件来创建多台linux桌面的虚拟机,这些linux的虚拟机会拥有相对独立的cpu与内存资源,这样,就能将一台实际的服务器划分多台虚拟机,从而提供给多个用户来独立使用,不同的用户使用不同的虚拟机,不会相互抢占cpu与内存资源,也不会因为在同一台机器操作而相互冲突。基于linux的云桌面主要适配了包括kylin和uos在内的主流国产化自主研发操作系统,在横跨arm64,mips64el以及x86三大架构在内的各类本地终端上实现了连接并使用基于linux的国产化操作系统的功能。这响应了国家关于自主研发,全面实现国产化技术的政策方向,使得用户可以在各种场景下能够在基于linux系统的国产化操作系统上操作和办公。


技术实现要素:

3.因此,需要提供一种能够在云桌面上进行虚拟设备配置的方法及系统。
4.为实现上述目的,发明人提供了一种云桌面的打印机重定向方法,包括如下步骤,
5.服务端添加一个虚拟打印机,
6.在所述虚拟打印机接收到第一打印任务时,读取所述第一打印任务的设置信息,读取待打印的文件信息,
7.将所述待打印的文件信息转化为预设数据流格式,
8.将所述预设数据流格式的文件转换为可打印文件格式的第一数据,
9.根据所述第一打印任务的设置信息生成打印请求,所述打印请求通过服务端发送至本地终端,所述本地终端连接有本地打印机,所述本地终端根据所述打印请求在本地新建第二打印任务,
10.本地终端根据所述打印请求所述第二打印任务进行打印设置,所述服务端用于将所述第一数据发送给本地终端的应用程序,本地终端将所述第一数据送入本地打印机中打印。
11.本技术的一实施例中,还包括步骤,所述第一打印任务的设置信息包括打印份数、是否双面打印、横向纵向、打印页面长宽、纸张类型、黑白打印或彩色打印中的一者或几者。
12.本技术的一实施例中,
13.服务端添加一个虚拟打印机具体包括步骤,
14.生成ppd文件,所述ppd文件包括本地打印机的设备信息,通过linux系统的打印机设备接口添加一个虚拟打印机,将所述虚拟打印机链接所述ppd文件。
15.本技术的一实施例中,所述可打印文件格式包括bmp格式,
16.所述服务端将bmp格式文件逐页发送至本地终端,在发送完所有的bmp文件之后,通知本地终端,所述本地终端在接到通知后结束第二任务。
17.本技术的一实施例中,所述预设数据流格式包括postscript数据流格式。
18.一种云桌面的打印机重定向系统,包括服务端、本地终端、本地打印机,所述服务端与所述本地终端通信连接,所述本地终端与本地打印机连接,
19.所述服务端用于添加一个虚拟打印机,在所述虚拟打印机接收到第一打印任务时,读取所述第一打印任务的设置信息,读取待打印的文件信息,将所述待打印的文件信息转化为预设数据流格式,将所述预设数据流格式的文件转换为可打印文件格式的第一数据,根据所述第一打印任务的设置信息生成打印请求,还用于将所述打印请求发送至本地终端,
20.所述本地终端用于根据所述打印请求在本地新建第二打印任务并对所述第二打印任务进行打印设置,
21.所述服务端还用于将所述第一数据发送给本地终端的应用程序,本地终端还用于将所述第一数据送入本地打印机中打印。
22.本技术的一实施例中,所述第一打印任务的设置信息包括打印份数、是否双面打印、横向纵向、打印页面长宽、纸张类型、黑白打印或彩色打印中的一者或几者。
23.本技术的一实施例中,
24.服务端添加一个虚拟打印机具体包括步骤,
25.生成ppd文件,所述ppd文件包括本地打印机的设备信息,通过linux系统的打印机设备接口添加一个虚拟打印机,将所述虚拟打印机链接所述ppd文件。
26.本技术的一实施例中,所述可打印文件格式包括bmp格式,
27.所述服务端还用于将bmp格式文件逐页发送至本地终端,在发送完所有的bmp文件之后,通知本地终端,所述本地终端在接到通知后结束第二任务。
28.本技术的一实施例中,所述预设数据流格式包括postscript数据流格式。
29.区别于现有技术,本技术方案能够在云桌面的服务端中创建虚拟的打印机设备,当用户在这些创建出来的虚拟打印机设备上打印文件的时候,打印任务会被打包发送到本地终端的物理打印机驱动中。使得用户可以在云桌面上使用本地终端上的本地的物理打印机设备。
30.上述发明内容相关记载仅是本技术技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本技术的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本技术的上述目的及其它目的、特征和优点能够更易于理解,以下结合本技术的具体实施方式及附图进行说明。
附图说明
31.附图仅用于示出本技术具体实施方式以及其他相关内容的原理、实现方式、应用、特点以及效果等,并不能认为是对本技术的限制。
32.图1为具体实施方式所述的云桌面的打印机重定向方法流程图;
33.图2为具体实施方式所述的虚拟打印机添加方法图;
34.图3为具体实施方式所述的文件逐页发送方法流程图;
35.图4为具体实施方式所述的第二任务结束方法流程图;
36.图5为具体实施方式所述的云桌面的打印机重定向系统模块图。
具体实施方式
37.为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
38.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本技术中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。
39.除非另有定义,本文所使用的技术术语的含义与本技术所属技术领域的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本技术。
40.在本技术的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如a和/或b,表示:存在a,存在b,以及同时存在a和b这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。
41.在本技术中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的数量、主次或顺序等关系。
42.在没有更多限制的情况下,在本技术中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的表述,意在涵盖非排他性的包含,这些表述并不排除在包括所述要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。
43.与《审查指南》中的理解相同,在本技术中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本技术实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。
44.在本技术实施例的描述中,所使用的与空间相关的表述,诸如“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“垂直”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等,所指示的方位或位置关系是基于具体实施例或附图所示的方位或位置关系,仅是为了便于描述本技术的具体实施例或便于读者理解,而不是指示或暗示所指的装置或部件必须具有特定的位置、特定的方位、或以特定的方位构造或操作,因此不能理解为对本技术实施例的限制。
45.除非另有明确的规定或限定,在本技术实施例的描述中,所使用的“安装”“相连”“连接”“固定”“设置”等用语应做广义理解。例如,所述“连接”可以是固定连接,也可以是可拆卸连接,或成一体设置;其可以是机械连接,也可以是电连接,也可以是通信连接;其可以
device,设备无关位图),是windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得raw数据的重要来源,通过将bmp格式作为传输的数据格式能够使得数据流传输更为稳定。将第一数据逐页发送到本地终端,能够防止数据堆栈出现卡顿或网络延迟造成的打印错误等问题。本地终端在接到通知后结束第二任务,可以跟本地终端一个响应信号,知道后续不再有第二任务相关的数据流进入。也可以避免执行错误的产生。
58.本技术的一实施例中,所述预设数据流格式包括postscript数据流格式。postscript既是一种页面描述语言,也是一种高级解释型脚本语言,其具有易于还原和可加密的技术特点,能够提升第一数据的安全性和正确率。
59.在一些综合性的实施例中,还进行如下综合步骤:一台物理打印机连接上本地终端后,会安装此设备对应的打印机驱动以使用该设备。在驱动安装的过程中,会在linux系统的特定目录下添加一个与此设备的硬件信息相对应的名为“打印机名.ppd”文件。对于linux上的打印机设备而言,其驱动能获取到的硬件信息都会从这个文件中读取。这个文件的内容包括此款打印机产品的类型:彩色或者黑白类型,支持的纸张大小,dpi列表等。此时运行在本地终端上的客户端程序会从这个ppd文件中读取连接上来的物理打印机设备的硬件信息。
60.接着,在linux系统上位于/sys/devices/目录下的物理打印机设备节点上枚举物理打印机设备的名称、型号和设备id。获取到这些信息后,运行在本地终端上的客户端程序将会把这些硬件信息和ppd文件中获取到的信息一起打包,通过连接着linux的国产化云桌面的协议通道发送给云桌面上的服务端程序。由服务端程序在linux云桌面上添加一个虚拟打印机来与本地物理打印机映射。
61.在linux云桌面上添加虚拟打印机的原理与本地提取打印机硬件信息的方法基本相同。在服务端收到本地终端上的客户端发来的物理打印机硬件信息后,就会通过这些信息生成一个与本地终端相同的“打印机名.ppd”文件,并将这个文件置于linux系统上存放ppd类型文件的特定目录下,一般为/usr/share/cups/model目录。
62.通过linux系统的打印机设备接口“lpadmin”添加一个虚拟打印机,这个打印机将与我们所创建的ppd文件链接起来,并且被写入我们从本地读取的打印机名称、型号。这使得用户会在linux的国产化云桌面上看到一个和本地打印机一模一样的打印机设备,不仅名称和型号是一模一样的,由于记录了硬件信息的ppd文件也是一样的,所以这个打印机所支持的打印功能与本地打印机也完全相同。
63.而在linux云桌面放置打印机驱动执行程序的/usr/lib/cups/backend目录下,我们会存放一个编译好的名为“vprinter-pdf”的驱动执行程序。该程序负责对打印文件数据流进行处理。该编译好的驱动执行程序可以执行以下功能:
64.①
在打印任务接入时,读取该打印任务的详细设置。包括:打印份数、是否双面打印、横向纵向、打印页面长宽、纸张类型、黑白还是彩印等等。
65.②
通过cupsfilter过滤器将打印文件数据流转为postscript数据流格式进行处理,实现了支持多种格式的文件通用打印功能,以及加密文件的打印功能。
66.③
通过ghostscript文件处理接口,将上一步转换完的postscript数据流转换为可打印的bmp文件。如果数据流转换后的bmp长度超过了单张打印页面长度大小,会自动分
页为多张bmp。并且生成的bmp大小也是和该打印任务设置的页面大小一致。
67.④
建立一个消息通道,与运行于linux国产化云桌面上的服务端程序相连接。在打印任务接入时,将第一步收集到的打印任务详情发送到服务端程序,同时将第三步生成的bmp也传送至服务端。
68.当服务端收到消息通道传过来的打印任务时,服务端会生成一个打印任务的请求发送给本地终端上的客户端程序。打印任务请求一共分为五个步骤,详细如下:
69.(1)通知本地终端新建打印任务,服务端将打印任务的详细设置发送到本地终端上的客户端程序,其中包括消息通道发送过来的该打印任务的详细设置,包括:打印份数、是否双面打印、横向纵向、打印页面长宽、纸张类型、黑白还是彩印等等。本地终端上的客户端程序会在本地的打印机驱动中添加一个对应的打印任务。
70.(2)开始打印一个页面的数据,linux云桌面上的服务端将生成好的bmp图像文件发送给本地终端上的客户端程序,一个bmp文件就对应着打印一张纸。将该bmp文件通过数据流的方式发送到本地终端上的客户端程序。
71.(3)本地终端收到bmp文件,将这个文件写入本地终端上的打印机驱动里,打印该文件。
72.(4)打印完此bmp文件对应的页面后,如果服务端发现还有bmp文件(也即是要打印的文件不止一页),会回到步骤(2)。
73.在服务端发送完所有的bmp文件后,通知本地终端已经没有bmp文件在等待发送。本地终端结束物理打印机的打印任务。
74.在如图5所示的实施例中,还介绍一种云桌面的打印机重定向系统50,包括服务端51、本地终端52、本地打印机53,所述服务端与所述本地终端通信连接,所述本地终端与本地打印机连接,
75.所述服务端用于添加一个虚拟打印机,在所述虚拟打印机接收到第一打印任务时,读取所述第一打印任务的设置信息,读取待打印的文件信息,将所述待打印的文件信息转化为预设数据流格式,将所述预设数据流格式的文件转换为可打印文件格式的第一数据,根据所述第一打印任务的设置信息生成打印请求,还用于将所述打印请求发送至本地终端,
76.所述本地终端用于根据所述打印请求在本地新建第二打印任务并对所述第二打印任务进行打印设置,
77.所述服务端还用于将所述第一数据发送给本地终端的应用程序,本地终端还用于将所述第一数据送入本地打印机中打印。
78.本技术的一实施例中,所述第一打印任务的设置信息包括打印份数、是否双面打印、横向纵向、打印页面长宽、纸张类型、黑白打印或彩色打印中的一者或几者。
79.本技术的一实施例中,
80.服务端添加一个虚拟打印机具体包括步骤,
81.生成ppd文件,所述ppd文件包括本地打印机的设备信息,通过linux系统的打印机设备接口添加一个虚拟打印机,将所述虚拟打印机链接所述ppd文件,
82.本技术的一实施例中,所述可打印文件格式包括bmp格式,
83.所述服务端还用于将bmp格式文件逐页发送至本地终端,在发送完所有的bmp文件
之后,通知本地终端,所述本地终端在接到通知后结束第二任务。
84.本技术的一实施例中,所述预设数据流格式包括postscript数据流格式。
85.通过设计上述系统,能够达到了在云桌面端就能够接收打印指令并从本地打印机中正确打印的技术效果。
86.需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献