CN116156069A - 一种在云桌面上的扫描仪映射方法及其终端 - Google Patents
一种在云桌面上的扫描仪映射方法及其终端 Download PDFInfo
- Publication number
- CN116156069A CN116156069A CN202310065150.XA CN202310065150A CN116156069A CN 116156069 A CN116156069 A CN 116156069A CN 202310065150 A CN202310065150 A CN 202310065150A CN 116156069 A CN116156069 A CN 116156069A
- Authority
- CN
- China
- Prior art keywords
- twain
- scanner
- sane
- cloud desktop
- framework
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
- H04N1/00938—Software related arrangements, e.g. loading applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/04—Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Facsimiles In General (AREA)
Abstract
本发明公开一种在云桌面上的扫描仪映射方法,包括以下步骤:S1、构建用于被Windows系统云桌面上的TWAIN框架识别的数据源文件,通过基于TWAIN框架的扫描软件唤醒扫描仪;S2、根据TWAIN框架的工作流程,TWAIN进程组件构造对应的TWAIN请求,将所述TWAIN请求转换为对应的SANE请求,再将转换后的SANE请求发送到本地客户端上的SANE框架中,执行对应的扫描作业;S3、完成所述扫描作业后,本地客户端上的SANE组件接收完成扫描作业的SANE请求,并将所述SANE请求再转换为对应的TWAIN消息,通知云桌面所述扫描作业已经完成,通过TWAIN框架进行取图。从而使得用户可以在跨平台的云桌面上使用本地终端上的物理扫描仪设备。
Description
技术领域
本发明涉及云桌面技术领域,特别是涉及一种在云桌面上的扫描仪映射方法及其终端。
背景技术
云桌面是云计算技术在操作系统上的一项应用,即通过虚拟化技术,在处于数据中心机房内的服务器中安装一种虚拟化软件,再通过配置该软件来创建多台桌面的虚拟机,这些虚拟机拥有相对独立的CPU与内存资源,将一台实际的服务器划分多台虚拟机,就能提供给多个用户来独立使用,不同的用户使用不同的虚拟机,既不会相互抢占CPU与内存资源,也不会因为在同一台机器操作而相互冲突。使得用户可以在各种场景下能够在桌面上的操作系统上操作和办公。
TWAIN(全称Technology without An Interesting Name)是一种软件和数码相机、扫描仪等图像输入设备之间的通讯标准,也是Windows平台上最为广泛使用的打印机通讯标准,也是运行Windows系统云桌面上使用的标准。
SANE(全称Scanner Access Now Easy)是一个应用式编程接口(API),它提供给任何光栅图像扫描仪硬件标准化的访问(包括扫描仪,数码相机)。是Linux平台上广泛使用的通用扫描仪协议。
在国产化的终端上,运行着基于Linux系统的国产化操作系统,当连接到运行着Windows系统的云桌面的时候,用户需要一种方法来调用本地Linux系统终端上的扫描仪来执行扫描任务。在Windows云桌面上,具有成熟的应用的TWAIN毫无疑问是最好的选择,而在Linux本地终端上,却并非如此。TWAIN无法将用户界面和设备驱动程序分开,这意味着任何特定的TWAIN程序大多取一个特定的GUI API,而SANE可以将界面与操作接口分离,使得SANE得以支持Linux系统上的命令行驱动接口。
发明内容
本发明所要解决的技术问题是:提供一种在云桌面上的扫描仪映射方法及其终端,基于TWAIN协议与SANE协议,在运行着Windows系统的云桌面上,将用户做出的TWAIN扫描操作指令转换为Linux系统上的SANE指令,让用户得以在Windows系统的云桌面上操作本地Linux系统终端上连接的扫描仪设备。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种在云桌面上的扫描仪映射方法,包括以下步骤:
S1、构建用于被Windows系统云桌面上的TWAIN框架识别的数据源文件,通过基于TWAIN框架的扫描软件唤醒扫描仪;
S2、根据TWAIN框架的工作流程,TWAIN进程组件构造对应的TWAIN请求,将所述TWAIN请求转换为对应的SANE请求,再将转换后的SANE请求发送到本地客户端上的SANE框架中,执行对应的扫描作业;
S3、完成所述扫描作业后,本地客户端上的SANE组件接收完成扫描作业的SANE请求,并将所述SANE请求再转换为对应的TWAIN消息,通知云桌面所述扫描作业已经完成,通过TWAIN框架进行取图。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种在云桌面上的扫描仪映射终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种在云桌面上的扫描仪映射方法中的各个步骤。
本发明的有益效果在于:提供一种在云桌面上的扫描仪映射方法及其终端,通过在云桌面的虚拟机中创建虚拟的SANE协议扫描仪设备,使用户可以在云桌面上基于TWAIN协议的扫描软件调用本地SANE协议下的扫描仪设备。当用户在所创建的虚拟扫描仪设备上扫描文件时,扫描任务会被打包发送至本地终端的物理扫描仪驱动中,本地终端上的物理扫描仪就可以扫描出用户想要扫描的文件,并发送到云桌面上以供用户使用。即用户可以在跨平台的云桌面上使用本地终端上的物理扫描仪设备。
附图说明
图1为本发明实施例的一种在云桌面上的扫描仪映射方法的流程图;
图2为本发明实施例的一种在云桌面上的扫描仪映射方法的TWAIN状态流程图;
图3为本发明实施例的一种在云桌面上的扫描仪映射方法的SANE管理程序界面图;
图4为本发明实施例的一种在云桌面上的扫描仪映射方法的选择设备操作图;
图5为本发明实施例的一种在云桌面上的扫描仪映射方法的目标源示意图;
图6为本发明实施例的一种在云桌面上的扫描仪映射方法的获得扫描设备操作图;
图7为本发明实施例的一种在云桌面上的扫描仪映射终端的架构图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
一种在云桌面上的扫描仪映射方法,包括以下步骤:
S1、构建用于被Windows系统云桌面上的TWAIN框架识别的数据源文件,通过基于TWAIN框架的扫描软件唤醒扫描仪;
S2、根据TWAIN框架的工作流程,TWAIN进程组件构造对应的TWAIN请求,将所述TWAIN请求转换为对应的SANE请求,再将转换后的SANE请求发送到本地客户端上的SANE框架中,执行对应的扫描作业;
S3、完成所述扫描作业后,本地客户端上的SANE组件接收完成扫描作业的SANE请求,并将所述SANE请求再转换为对应的TWAIN消息,通知云桌面所述扫描作业已经完成,通过TWAIN框架进行取图。
从上述描述可知,本发明的有益效果在于:提供一种在云桌面上的扫描仪映射方法,通过在云桌面的虚拟机中创建虚拟的SANE协议扫描仪设备,使用户可以在云桌面上基于TWAIN协议的扫描软件调用本地SANE协议下的扫描仪设备。当用户在所创建的虚拟扫描仪设备上扫描文件时,扫描任务会被打包发送至本地终端的物理扫描仪驱动中,本地终端上的物理扫描仪就可以扫描出用户想要扫描的文件,并发送到云桌面上以供用户使用。即用户可以在跨平台的云桌面上使用本地终端上的物理扫描仪设备。
进一步地,步骤S1中所述TWAIN框架由应用软件、设备资源管理器和设备驱动资源三部分组成;通过入口函数实现三部分之间的通讯;
所述应用软件包括选择设备入口和获得扫描入口;
所述设备资源管理器用于选择设备类型;
所述设备驱动资源用于按照TWAIN的规范控制图像设备的底层驱动。
由上述描述可知,TWAIN定义了应用软件和图像设备资源之间进行信息交换的软件协议标准和应用编程接口。
进一步地,步骤S1中所述通过基于TWAIN框架的扫描软件唤醒扫描仪具体为:所述应用软件的程序向TWAIN协议发送打开设备消息;所述应用软件的程序选中虚拟设备源,唤醒被映射的本地SANE扫描仪;所述虚拟设备源是从本地的Linux操作系统上的SANE协议扫描仪映射到Windows系统云桌面上的。
由上述描述可知,应用软件的程序是基于Qt开发的窗口化管理软件,用于调取SANE扫描仪接口。
进一步地,步骤S2具体为:当所述TWAIN进程组件获取所述打开设备消息后,调出本地的用于管理SANE扫描仪的管理界面。
由上述描述可知,通过上述的SANE管理程序界面来与用户交互,利用SANE协议的接口实现对本地物理扫描仪的操作。
进一步地,所述管理界面是运行在本地的打印机管理软件,所述管理界面通过云桌面窗口的子窗口创建。
由上述描述可知,该程序运行于本地客户端上,通过将该程序窗体与云桌面窗口建立亲子关系,紧密耦合,可减少用户桌面与本地客户端之间来回切换的割裂感。
进一步地,当所述管理界面出现后,产生一个回调消息,通知云桌面上的TWAIN协议设备已就绪,由TWAIN接收就绪消息并等待图像数据的传输。
由上述描述可知,当SANE管理程序被调起后,本地的SANE协议的扫描仪即已打开,对于云桌面上的TWAIN协议而言,其也进入“Source Open”状态,TWAIN会收到一个MSG_ENABLEDS的消息,开始等待图像数据的传输。
进一步地,步骤S3中所述取图的请求以SANE的方式在本地被完成,然后将扫描作业的结果从本地的SANE框架提交到云桌面上的TWAIN框架上。
由上述描述可知,用户可以操作桌面上的基于TWAIN框架的扫描软件,调用并完成本地SANE框架的扫描作业,即在Windows云桌面上调用本地Linux国产化系统的功能就得以实现。
进一步地,如果用户选择连续扫描,当前一页的数据被扫描完成后,使云桌面上的TWAIN处于传输状态,当后一页数据被扫描完成后,发出一个传输预备消息,通知TWAIN可以获取新的图片,随后继续发送获取信息获取图像数据。
由上述描述可知,本发明可实现单页扫描也可实现连续扫描。
一种在云桌面上的扫描仪映射终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种在云桌面上的扫描仪映射方法中的各个步骤。
从上述描述可知,本发明的有益效果在于:提供一种在云桌面上的扫描仪映射终端,通过在云桌面的虚拟机中创建虚拟的SANE协议扫描仪设备,使用户可以在云桌面上基于TWAIN协议的扫描软件调用本地SANE协议下的扫描仪设备。当用户在所创建的虚拟扫描仪设备上扫描文件时,扫描任务会被打包发送至本地终端的物理扫描仪驱动中,本地终端上的物理扫描仪就可以扫描出用户想要扫描的文件,并发送到云桌面上以供用户使用。即用户可以在跨平台的云桌面上使用本地终端上的物理扫描仪设备。
本发明上述一种在云桌面上的扫描仪映射方法及其终端,能够使用户在云桌面上基于TWAIN协议的扫描软件调用本地SANE协议下的扫描仪设备,以下通过具体实施方式进行说明:
实施例一
本发明实施例提供一种在云桌面上的扫描仪映射方法,首先需要构建一个用于被Windows系统云桌面上的TWAIN框架识别的DataSource文件,将这种TWAIN to SANE的框架伪装成一个TWAIN可以识别出来的数据源。在用户打开Windows云桌面上的数据源时,桌面上的TwainProcess组件会根据TWAIN框架的工作流程构造对应的请求发送到本地客户端。并将之转换为对应的SANE请求,再将转换后的SANE请求发送到本地客户端上的SANE框架中,执行对应的扫描工作,在完成了对应的扫描工作后,一个完成工作的SANE请求会被通知到本地客户端上的SANE组件中,并将之再转换为对应的TWAIN消息,通知桌面上的扫描作业已经完成,让桌面上的TWAIN框架取图。当然,取图的请求也会以SANE的方式在本地被完成,随后将扫描作业的结果从本地的SANE框架提交到桌面上的TWAIN框架上,这样,用户就可以操作桌面上的基于TWAIN框架的扫描软件,调用并完成本地SANE框架的扫描作业。这样,在Windows云桌面上调用本地Linux国产化系统的功能就得以实现。
用户在云桌面上可以通过任何扫描使用此虚拟扫描设备,扫描仪被唤起时调出的窗口是运行在本地的打印机管理软件,这使得其获取的扫描仪配置信息都来自本地终端从物理扫描机,所以用户在操作虚拟扫描仪时的体验是和本地操作物理扫描仪是相同的。该管理窗口会被作为云桌面窗口的子窗口创建出来,所以用户在云桌面上操作这个本地终端上的软件时不会有任何的割裂感,就像操作一个运行在云桌面上的软件一样。因此整个扫描作业的流程在本地终端完成的部分不会被用户感知到,用户可以得到一个如同全流程都在云桌面上完成的扫描体验,从而实现使用Windows云桌面时操作本地Linux国产化系统上的扫描仪的功能。
具体的,包括以下步骤:
S1、构建一个用于被Windows系统云桌面上的TWAIN框架识别的数据源文件,通过基于TWAIN框架的扫描软件唤醒扫描仪;
其中,TWAIN由应用软件、设备资源管理器和设备驱动资源三部分组成:
应用软件包括选择设备菜单项和获得扫描菜单项,软件开发者必须按照TWAIN的规范修改应用程序。
设备资源管理器用于选择设备类型,以及协调应用软件与设备资源底层驱动之间的信息交换和通讯管理,名为TWAIN.DLL。
设备驱动资源用于按照TWAIN的规范控制图像设备的底层驱动,按照TWAIN的规范控制图像设备的底层驱动,其命名为*.DS。
另外,由源管理软件提供当用户选择“选择设备”菜单时,出现的“选择设备(Select Source)”对话框等;源软件提供用户使用扫描仪时所见到的扫描仪用户界面。
然后,通过入口函数DSM_Entry()和DS_Entry()实现三部分之间的通讯。应用(Application)的最终目标从源(Source)获得数据,但应用不能直接与源联系,所有的数据获得、属性信息、错误信息等都必须通过源管理器(Source Manager)来传递。TWAIN定义了大约140种操作,应用程序必须通过DSM_Entry()函数将这些操作请求传递给源管理器,源管理器收到这些请求后,如发现这些操作的目标是源,则调用DS_Entry()函数将请求发给源。
具体的,在TWAIN的结构中,本地的扫描仪是以DataSource(以下简称DS)的形式被管理的,每个接入的扫描仪会有一个对应的DataSource,通过对应的DataSource操作对应的扫描仪。而这些DataSource之上,有一个DataSource Manager(以下简称DSM),作为DS的管理器管理着这些DS,因此,当用户操作扫描的应用软件时,首先需要创建一个DSM,在这个创建过程中,会发送一个MSG_OPENDSM的消息。当桌面上的Twain组件获取到这个消息的时候,会生成一个包含了本地扫描仪被映射产生的,名为Sane的DS出现在DSM的源列表中以供选择,当然,这个源是本地物理扫描仪接在终端的Linux系统上,通过SANE协议映射出来的一个扫描仪驱动。但是为了能在桌面上被TWAIN框架操作,这个SANE协议下的扫描仪会被映射为一个TWAIN协议支持的扫描仪源,此时用户可以通过上述的“选择设备”菜单项(SelectSource)选中该源,从而进行下一步操作。
通过基于TWAIN框架的扫描软件唤醒扫描仪具体为:应用软件的程序向TWAIN协议发送MSG_OPENDS消息;应用软件的程序选中虚拟设备源,唤醒被映射的本地SANE扫描仪;虚拟设备源是从本地的Linux国产化操作系统上的SANE协议扫描仪映射到Windows桌面上的。
S2、根据TWAIN框架的工作流程,TWAIN进程组件构造对应的TWAIN请求,将所述TWAIN请求转换为对应的SANE请求,再将转换后的SANE请求发送到本地客户端上的SANE框架中,执行对应的扫描作业;
其中,当TwainProcess组件获取MSG_OPENDS消息后,调出本地的用于管理SANE扫描仪的管理界面。具体的,应用程序会向TWAIN协议发送一个MSG_OPENDS的消息,当我们的TWAIN协议组件获取到这个消息后,本地的用于管理SANE扫描仪的管理界面会被拉起。这是本方案基于Qt开发的,用于调取SANE扫描仪接口的窗口化管理软件。虽然该程序运行于本地客户端上,但是通过将该程序窗体与云桌面窗口建立亲子关系,紧密耦合在一起后,用户不会感觉这是客户端上的一个程序,而是以为自己仍然在操作一个云桌面上的程序。这样一来,用户就不会有桌面与本地客户端之间来回切换的割裂感。
其中,管理界面是运行在本地的打印机管理软件,管理界面通过云桌面窗口的子窗口创建。
其中,当管理界面出现后,产生一个回调消息,通知桌面上的TWAIN协议设备已就绪,由TWAIN接收MSG_ENABLEDS消息并等待图像数据的传输。具体的,当SANE管理程序被调起后,实际上本地的SANE协议的扫描仪就已经被打开了,对于云桌面上的TWAIN协议而言,其也进入了第四阶段的状态,即“Source Open”。当管理程序界面出现后,会产生一个回调消息,通知桌面上的TWAIN协议设备已就绪,这样,TWAIN就会收到一个MSG_ENABLEDS的消息。接下来,TWAIN就开始等待图像数据的传输。
本实施例通过SANE协议的接口来实现对本地物理扫描仪的操作,这些操作均通过上述的SANE管理程序界面与用户实现交互。具体的,本实施例提供了单页扫描的情况下的操作。首先,用户唤起SANE管理软件后,软件会通过sane_get_devices接口来获取本地连接的扫描仪列表。列表会出现在设备选择窗口中,用户可以选择对应的设备进行操作。当用户选定了一个设备后,会通过sane_open接口打开对应的设备。接着,调用sane_get_option_descriptor接口获取到设备的详细参数。包括扫描仪的分辨率、颜色等等。这些参数会在界面中以列表的形式呈现,可以让用户选择对应的参数,例如设置分辨率,设置彩色抑或黑白扫描等。当用户设置好后,设置的参数信息会通过sane_control_option接口设置进选中的扫描仪驱动。当用户设置完参数后,可以开始扫描文件。SANE管理软件会通过sane_read接口不断扫描数据直至读取完一整张图像并发送给桌面上的TWAIN协议一个名为MSG_TRANSFERREADY的消息,TWAIN则会发送一个MSG_GET消息到客户端获取图像数据,当扫描完整页数据后,桌面上的TWAIN会接收到一个MSG_ENDXFER消息,通知扫描完成,并关闭SANE管理程序,完成整个扫描作业。
S3、完成所述扫描作业后,本地客户端上的SANE组件接收完成扫描作业的SANE请求,并将所述SANE请求再转换为对应的TWAIN消息,通知云桌面所述扫描作业已经完成,通过TWAIN框架进行取图。
其中,取图的请求以SANE的方式在本地被完成,然后将扫描作业的结果从本地的SANE框架提交到桌面上的TWAIN框架上。
实施例二
本实施例与实施例一的不同在于,如果用户选择连续扫描,当前一页的数据被扫描完成后,使桌面上的TWAIN处于Transferring状态,当后一页数据被扫描完成后,发出一个MSG_TRANSFERREADY消息,通知TWAIN可以获取新的图片,随后继续发送MSG_GET获取图像数据。具体的,当一整页的数据被扫描完成后,不会立刻通知云桌面上的TWAIN协议已结束扫描,而是会让桌面上的TWAIN一直处于状态7(Transferring),当有新的一页数据被扫描完成后,一个MSG_TRANSFERREADY消息会被发出,通知TWAIN可以取新的图片,随后继续发送MSG_GET获取图像数据。这个过程不断循环,直到所有的图像全部扫描完成,本地的SANE管理软件会发送一个结束的指令,通知客户端向桌面上的TWAIN协议发送MSG_ENDXFER消息,结束传输流程。随后关闭SANE管理软件,桌面上的TWAIN在接受完所有图像数据后,会发送一个MSG_CLOSEDS的消息,关闭桌面上被映射的客户端的SANE扫描仪虚拟源,关闭DS后,一个MSG_CLOSEDSM消息会被发出,通知关闭DSM,完成整个扫描流程。
实施例三
请参照图7,一种在云桌面上的扫描仪映射终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述实施例一至二中任一个中的一种在云桌面上的扫描仪映射方法的各个步骤。
综上所述,本发明提供的一种在云桌面上的扫描仪映射方法及其终端,通过在云桌面的虚拟机中创建虚拟的SANE协议扫描仪设备,将扫描任务打包发送到云桌面上的TWAIN协议扫描软件中,从而使得用户可以在跨平台的云桌面上使用本地终端上的物理扫描仪设备。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种在云桌面上的扫描仪映射方法,其特征在于,包括以下步骤:
S1、构建用于被Windows系统云桌面上的TWAIN框架识别的数据源文件,通过基于TWAIN框架的扫描软件唤醒扫描仪;
S2、根据TWAIN框架的工作流程,TWAIN进程组件构造对应的TWAIN请求,将所述TWAIN请求转换为对应的SANE请求,再将转换后的SANE请求发送到本地客户端上的SANE框架中,执行对应的扫描作业;
S3、完成所述扫描作业后,本地客户端上的SANE组件接收完成扫描作业的SANE请求,并将所述SANE请求再转换为对应的TWAIN消息,通知云桌面所述扫描作业已经完成,通过TWAIN框架进行取图。
2.根据权利要求1所述的一种在云桌面上的扫描仪映射方法,其特征在于,步骤S1中所述TWAIN框架由应用软件、设备资源管理器和设备驱动资源三部分组成;通过入口函数实现三部分之间的通讯;
所述应用软件包括选择设备入口和获得扫描入口;
所述设备资源管理器用于选择设备类型;
所述设备驱动资源用于按照TWAIN的规范控制图像设备的底层驱动。
3.根据权利要求2所述的一种在云桌面上的扫描仪映射方法,其特征在于,步骤S1中所述通过基于TWAIN框架的扫描软件唤醒扫描仪具体为:所述应用软件的程序向TWAIN协议发送打开设备消息;所述应用软件的程序选中虚拟设备源,唤醒被映射的本地SANE扫描仪;所述虚拟设备源是从本地的Linux操作系统上的SANE协议扫描仪映射到Windows系统云桌面上的。
4.根据权利要求1所述的一种在云桌面上的扫描仪映射方法,其特征在于,步骤S2具体为:当所述TWAIN进程组件获取所述打开设备消息后,调出本地的用于管理SANE扫描仪的管理界面。
5.根据权利要求4所述的一种在云桌面上的扫描仪映射方法,其特征在于,所述管理界面是运行在本地的打印机管理软件,所述管理界面通过云桌面窗口的子窗口创建。
6.根据权利要求5所述的一种在云桌面上的扫描仪映射方法,其特征在于,当所述管理界面出现后,产生一个回调消息,通知云桌面上的TWAIN协议设备已就绪,由TWAIN框架接收就绪消息并等待图像数据的传输。
7.根据权利要求1所述的一种在云桌面上的扫描仪映射方法,其特征在于,步骤S3中所述取图的请求以SANE的方式在本地被完成,然后将扫描作业的结果从本地的SANE框架提交到云桌面上的TWAIN框架上。
8.根据权利要求1所述的一种在云桌面上的扫描仪映射方法,其特征在于,如果用户选择连续扫描,当前一页的数据被扫描完成后,使云桌面上的TWAIN处于传输状态,当后一页数据被扫描完成后,发出一个传输预备消息,通知TWAIN可以获取新的图片,随后继续发送获取信息获取图像数据。
9.一种在云桌面上的扫描仪映射终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的一种在云桌面上的扫描仪映射方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310065150.XA CN116156069B (zh) | 2023-01-13 | 2023-01-13 | 一种在云桌面上的扫描仪映射方法及其终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310065150.XA CN116156069B (zh) | 2023-01-13 | 2023-01-13 | 一种在云桌面上的扫描仪映射方法及其终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116156069A true CN116156069A (zh) | 2023-05-23 |
CN116156069B CN116156069B (zh) | 2025-06-13 |
Family
ID=86357770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310065150.XA Active CN116156069B (zh) | 2023-01-13 | 2023-01-13 | 一种在云桌面上的扫描仪映射方法及其终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116156069B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749952A (zh) * | 2023-12-29 | 2024-03-22 | 北京辰光融信技术有限公司 | 扫描实现方法、装置、计算机设备和计算机存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140118767A1 (en) * | 2012-11-01 | 2014-05-01 | Samsung Electronics Co., Ltd | Host device and method of controlling the host device |
CN105072190A (zh) * | 2015-08-21 | 2015-11-18 | 刘昌平 | 一种实时性桌面云的实现方法及系统 |
WO2017167176A1 (zh) * | 2016-04-01 | 2017-10-05 | 腾讯科技(深圳)有限公司 | 应用程序中窗口的控制方法和装置 |
CN110933245A (zh) * | 2019-11-21 | 2020-03-27 | 深信服科技股份有限公司 | 一种虚拟机及数据传输方法、系统、设备、计算机介质 |
CN113778305A (zh) * | 2021-11-12 | 2021-12-10 | 江苏航天七零六信息科技有限公司 | 一种监控管理窗口列表实现云桌面窗口始终前置的方法 |
CN114189513A (zh) * | 2021-10-28 | 2022-03-15 | 福建升腾资讯有限公司 | 一种基于信创云桌面的文件扫描方法、装置、设备和介质 |
CN114880136A (zh) * | 2022-04-12 | 2022-08-09 | 统信软件技术有限公司 | 一种扫描仪使用方法、装置、计算设备及存储介质 |
-
2023
- 2023-01-13 CN CN202310065150.XA patent/CN116156069B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140118767A1 (en) * | 2012-11-01 | 2014-05-01 | Samsung Electronics Co., Ltd | Host device and method of controlling the host device |
CN105072190A (zh) * | 2015-08-21 | 2015-11-18 | 刘昌平 | 一种实时性桌面云的实现方法及系统 |
WO2017167176A1 (zh) * | 2016-04-01 | 2017-10-05 | 腾讯科技(深圳)有限公司 | 应用程序中窗口的控制方法和装置 |
CN110933245A (zh) * | 2019-11-21 | 2020-03-27 | 深信服科技股份有限公司 | 一种虚拟机及数据传输方法、系统、设备、计算机介质 |
CN114189513A (zh) * | 2021-10-28 | 2022-03-15 | 福建升腾资讯有限公司 | 一种基于信创云桌面的文件扫描方法、装置、设备和介质 |
CN113778305A (zh) * | 2021-11-12 | 2021-12-10 | 江苏航天七零六信息科技有限公司 | 一种监控管理窗口列表实现云桌面窗口始终前置的方法 |
CN114880136A (zh) * | 2022-04-12 | 2022-08-09 | 统信软件技术有限公司 | 一种扫描仪使用方法、装置、计算设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749952A (zh) * | 2023-12-29 | 2024-03-22 | 北京辰光融信技术有限公司 | 扫描实现方法、装置、计算机设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116156069B (zh) | 2025-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7266761B2 (en) | Special API interface for interfacing an application with a TWAIN module, negotiating and presenting a user interface for inserting an image into a document | |
US5175854A (en) | Inter-applicataion interface system | |
US20110066971A1 (en) | Method and apparatus for providing application interface portions on peripheral computing devices | |
CA3089871A1 (en) | Collaborative editing of media in a mixed computing environment | |
CA3089833A1 (en) | Live-rendered and forkable graphic edit trails | |
US11716428B1 (en) | Method of dynamically mapping scanner names from client to agent | |
US11750749B1 (en) | Method to use native scanning properties dialog to scan in scanner redirection | |
RU2580079C2 (ru) | Инфраструктура активации приложений | |
WO2016082551A1 (zh) | Twain协议的远程重定向方法、装置及系统 | |
CN113778583A (zh) | 一种云桌面的本地应用的发布方法、装置、设备和介质 | |
CN113784049A (zh) | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 | |
WO2023216621A1 (zh) | 云桌面的图像处理方法、装置、服务器和存储介质 | |
CN116156069A (zh) | 一种在云桌面上的扫描仪映射方法及其终端 | |
WO2023246486A1 (zh) | 一种创建连接器的方法及装置 | |
US12135977B2 (en) | Method to realize scanner redirection between a client and an agent using different scanning protocols | |
CN112948129A (zh) | 基于联邦学习的数据传输优化方法、设备及可读存储介质 | |
CN114880136A (zh) | 一种扫描仪使用方法、装置、计算设备及存储介质 | |
US12028491B2 (en) | Scanning preview method for a remote application when using scanner redirection for remote desktop services | |
US20250036446A1 (en) | Unified scanner redirection method across different transfer modes | |
US20250080663A1 (en) | Method to isolate image capturing devices between remote desktop sessions for scanner redirection | |
US20250008030A1 (en) | Scanner redirection in nested mode | |
EP4390852A1 (en) | Scene rendering method and apparatus, device and system | |
US8370434B2 (en) | Workflow system and method of controlling the same | |
US20240205357A1 (en) | Method to adjust image effects when using scanner redirection | |
WO2017088349A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |