CN112035074A - Printing implementation method, device and system and storage medium - Google Patents

Printing implementation method, device and system and storage medium Download PDF

Info

Publication number
CN112035074A
CN112035074A CN201910479974.5A CN201910479974A CN112035074A CN 112035074 A CN112035074 A CN 112035074A CN 201910479974 A CN201910479974 A CN 201910479974A CN 112035074 A CN112035074 A CN 112035074A
Authority
CN
China
Prior art keywords
printing
printer
print
virtual
client
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
CN201910479974.5A
Other languages
Chinese (zh)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201910479974.5A priority Critical patent/CN112035074A/en
Priority to PCT/CN2020/091032 priority patent/WO2020244379A1/en
Publication of CN112035074A publication Critical patent/CN112035074A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

The application discloses a printing implementation method, a device and a system, wherein the printing implementation method comprises the following steps: adding a printer of a client side in a virtual machine, wherein a port of the printer is set as a virtual printing port; after receiving an instruction of printing a target document by using a target printer, converting the target document into printing data, and transmitting the printing data to a printing port monitor; and the printing port monitor sends the printing data and the virtual printing port information of the target printer to the client. The scheme provided by the embodiment does not relate to kernel state drive, and is more efficient and stable.

Description

Printing implementation method, device and system and storage medium
Technical Field
The embodiment of the invention relates to a printing implementation method, a printing implementation device, a printing implementation system and a computer readable storage medium.
Background
The virtual desktop is used as the earliest project in the cloud computing industry, and the market scale is huge. In recent years, virtual desktops have been developed vigorously in China, and banks, armed police, government agencies, and the like have successively adopted virtual desktop technology to replace traditional PCs (Personal computers). The virtual desktop is a revolution of enterprise IT architecture, brings mobile computing experience, and simultaneously meets the requirements of a plurality of specific industries.
Among clients such as governments and banks, printers are peripherals that are used particularly frequently when handling business. Generally, there are two ways to use a printer in a cloud desktop, one of which is to share the printer on a terminal and add a Network printer in the cloud desktop, and this way is only applicable to Windows terminals, and the cloud desktop must be able to access a terminal Network, and in practice, many times the terminal is behind a NAT (Network Address Translation), this condition cannot be satisfied. The second way is to redirect the printer port to the virtual machine using port redirection (such as USB (Universal Serial Bus), Serial port, parallel port), which is slow in processing speed.
Disclosure of Invention
At least one embodiment of the invention provides a printing implementation method, a printing implementation device, a printing implementation system and a computer readable storage medium, and improves the cloud desktop printing speed.
At least one embodiment of the present invention provides a method for implementing printing, including:
adding a printer of a client side in a virtual machine, wherein a port of the printer is set as a virtual printing port;
after receiving an instruction of printing a target document by using a target printer, converting the target document into printing data, and transmitting the printing data to a printing port monitor;
and the printing port monitor sends the printing data and the virtual printing port information of the target printer to the client.
At least one embodiment of the present invention provides a method for implementing printing, including:
receiving printing data and virtual printing port information from a virtual machine, wherein the virtual printing port information has a corresponding relation with a printer of a client;
and determining a target printer according to the virtual printing port information, and writing the printing data into the target printer for printing.
At least one embodiment of the present invention provides a print implementation apparatus, including a memory and a processor, where the memory stores a program, and the program, when read and executed by the processor, implements the print implementation method according to any one of the embodiments.
At least one embodiment of the present invention provides a computer-readable storage medium storing one or more programs, which are executable by one or more processors to implement a print implementing method according to any one of the embodiments.
At least one embodiment of the present invention provides a print implementation system, including: client and virtual machine, wherein:
the virtual machine is used for converting a target document into printing data after receiving an instruction of printing the target document by using a target printer, transmitting the printing data to a printing port monitor in the virtual machine, and sending the printing data and virtual printing port information of the target printer to the client by the printing port monitor;
the client is used for receiving the printing data and the virtual printing port information from the virtual machine, determining a target printer according to the virtual printing port information, and writing the printing data into the target printer for printing.
Compared with the prior art, the method comprises the steps of adding a printer of a client side to a virtual machine, wherein a port of the printer is provided with a virtual printing port; after receiving an instruction of printing a target document by using a target printer, converting the target document into printing data, and transmitting the printing data to a printing port monitor; and the printing port monitor sends the printing data and the virtual printing port information of the target printer to the client. According to the scheme provided by the embodiment, data is intercepted in the user mode, kernel mode driving is not involved, more efficient and stable realization is realized, the whole system of the virtual machine is not influenced, and other functions of an operating system are not influenced.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the example serve to explain the principles of the invention and not to limit the invention.
FIG. 1 is a schematic diagram of a printer used by a virtual desktop in the related art;
FIG. 2 is a Windows print framework diagram;
FIG. 3 is a static view of a virtual machine printer redirection module provided by an embodiment of the present invention;
FIG. 4 is a flowchart of a method for implementing printing (virtual machine side) according to an embodiment of the present invention;
FIG. 5 is a flowchart of a print implementation method (client side) provided by an embodiment of the invention;
FIG. 6 is a flow diagram of virtual machine printer redirection provided by an embodiment of the present invention;
FIG. 7 is a block diagram of a print implementation apparatus provided by an embodiment of the invention;
FIG. 8 is a block diagram of a computer-readable storage medium provided by an embodiment of the invention;
fig. 9 is a block diagram of a print implementation system according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
The steps illustrated in the flow charts of the figures may be performed in a computer system such as a set of computer-executable instructions. Also, while a logical order is shown in the flow diagrams, in some cases, the steps shown or described may be performed in an order different than here.
As shown in fig. 1, in the scheme, a printer port is redirected into a virtual machine through a USB, where the terminal includes: fast cut drive (UsbHubHook drive): hot plug target device and modify PID (Product identity) and VID (Vendor identity) of the device; LibUsbK drive: a function driver as a target device is loaded; usbsip client user state program: receiving a USB request of the virtual machine through a socket, sending the USB request to the LibUsbK for driving processing, and replying a response to the virtual machine; the virtual machine side includes: simulating a USB bus and installing virtual equipment; usbsip server program: the USB request is transmitted to the terminal and the reply packet is transmitted to a VHCI (Virtual Host Controller Interface) bus.
The scheme intercepts the printing data from a port driver layer (kernel state) in the virtual machine, and has the following defects:
when redirection is carried out, equipment drive needs to be switched on the terminal, and the process is slow;
after redirection is successful, the cloud desktop operating system also needs to load a driver for the printer, and the process is slow;
during printing, the virtual machine intercepts URB (universal serial bus) Request packets, the number of the URB Request packets is very large, serial processing is needed, and after the URB Request packets pass through a network, the URB Request packets are delayed and accumulated continuously, so that response is slow;
the processing object is a URB request packet which is in a data form of a kernel layer, in order to intercept and process the data, a virtual machine and a terminal respectively need to develop 2 drivers, and in addition, a service module for network communication is added, so that the number of the modules needing to be developed is too large and complex.
Based on the analysis, the application provides a printing implementation method and system using a printer in a cloud desktop by deeply researching a printing framework of a Windows system. The method realizes the interception of printing data by replacing a module in a Windows printing frame in a virtual machine, thereby sending the printing data to a physical printer on a terminal for printing.
FIG. 2 is a Windows print framework diagram. As shown in fig. 2, the Windows print framework includes: the method comprises the steps of customizing an interface, a configuration plug-in, a configuration module, a rendering plug-in, a rendering module, a Windows configuration file, a printing processor, a language monitor, a printing port monitor, a data file and a language resource of a third party and the like, and a bus driver, wherein the configuration module, the rendering module and the bus driver are provided by a Windows operating system, the customization interface, the configuration plug-in, the Windows configuration file, the printing processor, the language monitor, the data file and the language resource of the third party and the like are provided by equipment manufacturers, in the embodiment of the application, the printing port monitor of a virtual desktop (virtual machine) is modified, the printing port monitor provided by the application is used for replacing a default port monitor in a Windows printing frame, a virtual printing port is created for a printer in the virtual machine to use, when a user prints a document, printing data processed by the printer processor and the printer driver can be transmitted to the printing port monitor of the virtual, the print port monitor of the virtual machine transmits the print data to the client through the network, and the printer in the client prints the print data. The print data may be compressed without loss and then transferred, or may be directly transferred without compression.
In addition, a printer management service running in a virtual machine is modified. The printer management service adds a printer of the client, and sets an attribute such as a port or a driver of the printer as a virtual print port. The printer management service of the virtual machine can monitor a connection request of a client, receive printer list information from the client and automatically add a printer according to the printer list information. Of course, the printers may be added according to other ways, such as adding the printer of the client through the administrator's settings.
In addition, the client is modified. When a user prints a document, the client receives print data from a print port monitor of the virtual machine and writes the print data into a printer of the client for printing.
In one embodiment, all printers on the client are enumerated and sent to the virtual machine when the client is connected; it should be noted that the virtual machine may add the printer on the client in other manners, for example, the printer is manually configured by the user, and at this time, the client may not report the local printer to the virtual machine.
Fig. 3 is a schematic diagram illustrating virtual machine printer redirection according to an embodiment of the present invention. As shown in fig. 3, in the virtual machine, the target document is processed by a printer driver or the like to generate print data, and the print data is sent to the print port monitor, and after receiving the print data, the print port monitor sends the print data to the client, and the client writes the print data into the target printer to realize printing. The virtual printing port and the printer have a corresponding relationship, for example, the virtual printing port 1 corresponds to the printer 1, the virtual printing port 2 corresponds to the printer 2, and the virtual printing port 3 corresponds to the printer 3.
As shown in fig. 4, an embodiment of the present invention provides a method for implementing printing, including:
step 401, adding a printer of a client in a virtual machine, wherein a port of the printer is set as a virtual printing port;
step 402, after receiving an instruction for printing a target document by using a target printer, converting the target document into printing data, and transmitting the printing data to a printing port monitor;
in step 403, the print port monitor sends the print data and the virtual print port information of the target printer to the client.
According to the scheme provided by the embodiment, the printing data is intercepted from a printing port monitor layer (user mode) in the virtual machine, the printing data is not in the kernel mode, kernel mode driving is not involved, more efficient and stable realization is realized, the whole system of the virtual machine is not influenced, and other functions of an operating system are not influenced. The data transmitted to the client by the virtual machine is processed by the virtual machine printing driver, and the terminal does not need to install the printer driver provided by a manufacturer. In addition, the deployment is convenient and fast, and the method has practical use value. The scheme provided by the embodiment can stably and efficiently meet the requirement of a client on using the printer in the virtual machine, is a very practical function, and plays a positive role in popularization of the virtual desktop.
In step 401, before adding a printer of a client to a virtual machine, receiving printer list information sent by the client;
the printer list information includes all local printers of the client and attribute information thereof, and the attribute information includes: printer name, drive version number, resolution paper attribute (size, single side or not, etc.), page attribute (color or black and white, number of copies, etc.), port, etc. The attribute information is stored in the Devmode structure and can be viewed through printer attributes and printer preferences, etc.
The adding of the printer of the client to the virtual machine comprises the following steps: and adding a printer of the client in the virtual machine according to the printer list information. Specifically, the virtual machine checks whether a printer of the same name exists, and if not, automatically adds the printer, and if so, skips.
Wherein the port setting of the printer to the virtual print port comprises: the properties of the printer (e.g., driver or port) are modified to a virtual print port.
In one embodiment, the print data is in RAW format. Since the RAW format is supported by various printers, whatever operating system the terminal is, can directly send print data to the printer without additional processing, thereby shielding the difference of the operating systems where the clients are located. Including but not limited to client operating systems of the Linux series, Windows series, android and iOS series, etc. The present invention is not limited to this, and may be print data in other formats.
In one embodiment, the print port monitor sending the print data and virtual print port information of a target printer to the client comprises: and after compressing the printing data, the printing port monitor sends the compressed printing data and the virtual printing port information of the target printer to the client. The compressed print data is transmitted to save bandwidth. Wherein, after lossless compression is used, the bandwidth can be saved by 30-50%.
The embodiment does not relate to kernel mode driving, is more stable to realize, and does not influence the whole system of the virtual machine.
In the embodiment, any change of the document attribute or the printer attribute only needs to be modified in the virtual desktop, so that the thinking habit of the user for using the virtual desktop is met, and the using habit of the user is not changed, so that the customer experience can be rapidly improved.
The scheme provided by the embodiment is suitable for printers with any interface, including but not limited to USB, serial port, parallel port and network port.
The embodiment also shields the difference of the operating system where the virtual desktop client is located. The method has no difference processing to client operating systems of Linux series, Windows series, android and iOS series. Aiming at the invention, the client operating systems can be linux, wes, android and iOS respectively, and are matched in different modes to form various embodiments.
Fig. 5 is a schematic diagram (client side) illustrating a print implementation method according to an embodiment of the present invention. As shown in fig. 5, an embodiment of the present invention provides a method for implementing printing, including:
step 501, receiving print data and virtual print port information from a virtual machine; the virtual printing port information and a printer of the client have a corresponding relation;
the print data refers to data processed by a print driver or the like, and can be directly written into a printer for printing without being processed by the print driver.
Step 502, determining a target printer according to the virtual printing port information, and writing the printing data into the target printer for printing.
In one embodiment, the print data is in RAW format. Due to the received RAW format data, whatever operating system the terminal is, can send directly to the printer without additional processing. The RAW format print data may be uncompressed or compressed.
In one embodiment, the method further comprises sending local printer information to the virtual machine. The printer may be a local printer or a partial printer.
The scheme provided by the embodiment is suitable for printers with any interface, including but not limited to USB, serial port, parallel port and network port.
The embodiment also shields the difference of the operating systems of the clients. The method has no difference processing to client operating systems of Linux series, Windows series, android and iOS series. Aiming at the invention, the client operating systems can be linux, wes, android and iOS respectively, and are matched in different modes to form various embodiments.
The embodiment provides a printing implementation method, which includes firstly installing and replacing a printing port monitor module of a Windows printing frame in a virtual machine, when a user logs in a virtual desktop, a client enumerates all printers locally and reports information to the virtual machine, when the user prints a document in the virtual machine, the printing port monitor receives printing data, the printing data is sent to the client through network connection, the client opens a corresponding printer, and the printing data is directly written into the printer to complete printing. Specifically, the method comprises the steps of automatically adding a printer in the virtual machine according to the printer on the terminal and intercepting printing data in the virtual desktop. The process of automatically adding the printer in the virtual machine is as follows:
after the virtual machine is established, installing a printing port monitor in the virtual machine, wherein a printer driver provided by a manufacturer is also required to be installed in the virtual machine;
after a user logs in the virtual desktop, the client enumerates all local printers and attribute information of the terminal, generates printer list information, and transmits the printer list information to the printer management service of the virtual machine through a network.
The printer management service in the virtual machine calls an API (application program interface) provided by a printing port monitor to add virtual printing ports according to the number of the printers, then judges whether the printers in the printer list exist or not, and automatically adds the same printers according to the received attribute information if the printers do not exist; and then modifying the port of the printer into a virtual printing port according to the index of the printer in the list, wherein the virtual printing port and the index of the printer in the list have a corresponding relation, namely an index can be determined according to the virtual printing port, and a target printer can be determined according to the index.
The process of intercepting the printing data in the virtual machine is as follows:
receiving a printing instruction of a user, wherein the printing instruction instructs to print a target document by using a target printer;
after processing a target document, each module in the Windows printing frame converts the target document into printing data and transmits the printing data to a printing port monitor and virtual printing port information of a target printer;
the print data is, for example, print data in RAW format.
The printing port monitor receives the printing data and the virtual printing port information of the target printer, and sends the printing data and the virtual printing port information of the target printer to the client;
and the client determines a target printer according to the virtual printing port information and sends the printing data to the target printer for printing.
Specifically, there is a corresponding relationship between the virtual printing port information and the index of the printer, so that an index can be determined according to the virtual printing port information, and the target printer can be determined according to the index.
Fig. 6 is a flowchart of a virtual machine printer using service according to an embodiment of the present invention. Wherein, a print port monitor and a printer driver are installed in the virtual machine. As shown in fig. 6, the method includes:
601, starting a client, logging in a virtual machine, and requesting an ip address from a virtual machine agent;
step 602, the virtual machine agent returns the ip address of the virtual machine to the client;
step 603, the client and the printer management service establish a socket link;
step 604, after the user logs in the virtual machine, the client enumerates all local printers and attribute information of the terminal, generates printer list information, and transmits the printer list information to the printer management service of the virtual machine through the network.
Step 605, the printer management service in the virtual machine calls an API provided by the print port monitor to add the print port according to the number of the printers;
step 606, the printer management service determines whether the printers in the list already exist, and if not, automatically adds the same printers according to the received attribute information; if so, skip;
in step 607, the printer management service changes the port of the printer to a virtual print port of the same index according to the printer's index in the list.
At step 608, the virtual machine receives a print instruction instructing printing of the target document using the target printer.
Step 609, generating printing data in a RAW format after the target document is processed by the printing drive, and transmitting the printing data to the printing port monitor;
step 610, the StartDoc function provided by the print port monitor is called to inform the virtual machine agent;
step 611, the virtual machine agent notifies the client to connect through the main channel;
step 612, the client establishes a socket link with a print port monitor of the virtual machine according to the known ip address and the fixed port number of the virtual machine;
in step 613, the print port monitor obtains print data in RAW format and virtual print port information (such as specific name of print), and sends the print data and the virtual print port information to the client via the socket link.
And step 614, the client determines a target printer according to the virtual printing port information, and sends the printing data to the target printer for printing.
Specifically, the client determines an index according to the virtual printing port information, and the index is the index information of the target printer.
Step 615, the document printing is completed, the EndDoc function provided by the print port monitor in the virtual machine is called, and the print port monitor is disconnected from the client.
According to the scheme provided by the embodiment, the printer of the terminal can be redirected to the virtual machine from the application program level for use, so that the realization is more concise and efficient, and the occupation of the bandwidth is effectively saved. In addition, user experience can be rapidly improved, and the method has practical significance for popularization of the virtual machine.
As shown in fig. 7, an embodiment of the present invention provides a print implementation apparatus 70, which includes a memory 710 and a processor 720, where the memory 710 stores a program, and when the program is read and executed by the processor 720, the program implements the print implementation method according to any embodiment.
As shown in fig. 8, an embodiment of the present invention provides a computer-readable storage medium 80, which stores one or more programs 81, and the one or more programs 81 can be executed by one or more processors to implement the printing implementation method according to any one of the embodiments.
As shown in fig. 9, an embodiment of the present invention provides a print implementation system, including: a client 91 and a virtual machine 92, wherein:
the client 91 is configured to receive print data and virtual print port information from a virtual machine, determine a target printer according to the virtual print port information, and write the print data into the target printer for printing;
the virtual machine 92 is configured to, after receiving an instruction to print a target document using a target printer, convert the target document into print data, transmit the print data to a print port monitor in the virtual machine, and send the print data and virtual print port information of the target printer to the client by using the print port monitor.
For other functions of the virtual machine 92 and the client 91, reference is made to the foregoing embodiments, and details are not repeated here.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.

Claims (10)

1. A print implementation method, comprising:
adding a printer of a client side in a virtual machine, wherein a port of the printer is set as a virtual printing port;
after receiving an instruction of printing a target document by using a target printer, converting the target document into printing data, and transmitting the printing data to a printing port monitor;
and the printing port monitor sends the printing data and the virtual printing port information of the target printer to the client.
2. The method for implementing printing according to claim 1, further comprising, before the virtual machine adds a printer of a client, receiving printer list information sent by the client;
the adding of the printer of the client to the virtual machine comprises the following steps: and adding the printer of the client to the virtual machine according to the printer list information.
3. The print implementing method of claim 1, wherein the print data is in RAW format.
4. The print implementation method of any one of claims 1 to 3, wherein the print port monitor sending the print data and virtual print port information of a target printer to the client comprises: and after compressing the printing data, the printing port monitor sends the compressed printing data and the virtual printing port information of the target printer to the client.
5. A print implementation method, comprising:
receiving printing data and virtual printing port information from a virtual machine, wherein the virtual printing port information has a corresponding relation with a printer of a client;
and determining a target printer according to the virtual printing port information, and writing the printing data into the target printer for printing.
6. The print implementation method of claim 5, further comprising sending local printer information to the virtual machine.
7. The print implementing method according to claim 5 or 6, wherein the print data is print data in a RAW format.
8. A print realization apparatus comprising a memory and a processor, the memory storing a program which, when read and executed by the processor, realizes the print realization method according to any one of claims 1 to 7.
9. A computer-readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the print implementation method of any one of claims 1 to 7.
10. A print realization system, comprising: client and virtual machine, wherein:
the virtual machine is used for converting a target document into printing data after receiving an instruction of printing the target document by using a target printer, transmitting the printing data to a printing port monitor in the virtual machine, and sending the printing data and virtual printing port information of the target printer to the client by the printing port monitor;
the client is used for receiving the printing data and the virtual printing port information from the virtual machine, determining a target printer according to the virtual printing port information, and writing the printing data into the target printer for printing.
CN201910479974.5A 2019-06-04 2019-06-04 Printing implementation method, device and system and storage medium Pending CN112035074A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910479974.5A CN112035074A (en) 2019-06-04 2019-06-04 Printing implementation method, device and system and storage medium
PCT/CN2020/091032 WO2020244379A1 (en) 2019-06-04 2020-05-19 Printing implementation method, device, and system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910479974.5A CN112035074A (en) 2019-06-04 2019-06-04 Printing implementation method, device and system and storage medium

Publications (1)

Publication Number Publication Date
CN112035074A true CN112035074A (en) 2020-12-04

Family

ID=73576542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910479974.5A Pending CN112035074A (en) 2019-06-04 2019-06-04 Printing implementation method, device and system and storage medium

Country Status (2)

Country Link
CN (1) CN112035074A (en)
WO (1) WO2020244379A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612431A (en) * 2020-12-28 2021-04-06 北京金万维科技有限公司 Printing method based on Windows application virtualization
CN113434100A (en) * 2021-08-27 2021-09-24 统信软件技术有限公司 Cloud printing method, computing device and storage medium
CN113885816A (en) * 2021-09-29 2022-01-04 广东天波信息技术股份有限公司 Method, system, device and storage medium for printing by virtual printing device
CN114721606A (en) * 2022-02-28 2022-07-08 阿里巴巴(中国)有限公司 Cloud desktop printing processing method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326511A1 (en) * 2012-05-31 2013-12-05 Red Hat, Inc. Hypervisor printer emulation for virtual machines
US20160205276A1 (en) * 2015-01-14 2016-07-14 Canon Kabushiki Kaisha Information processing apparatus, control method therefor, and medium
CN107256134A (en) * 2017-04-25 2017-10-17 百富计算机技术(深圳)有限公司 It is virtually method and apparatus, the POS terminal of computer printer by POS terminal

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077085B (en) * 2013-03-26 2017-06-30 西门子(中国)有限公司 For the virtual printing system of automation control system
CN103279720B (en) * 2013-05-30 2016-05-04 北京立思辰计算机技术有限公司 The monitoring of a kind of USB printer secure print and auditing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326511A1 (en) * 2012-05-31 2013-12-05 Red Hat, Inc. Hypervisor printer emulation for virtual machines
US20160205276A1 (en) * 2015-01-14 2016-07-14 Canon Kabushiki Kaisha Information processing apparatus, control method therefor, and medium
CN107256134A (en) * 2017-04-25 2017-10-17 百富计算机技术(深圳)有限公司 It is virtually method and apparatus, the POS terminal of computer printer by POS terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王春海: ""在VM7虚拟机中使用主机打印机"", pages 1 - 9, Retrieved from the Internet <URL:https://blog.51cto.com/wangchunhai/386010> *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612431A (en) * 2020-12-28 2021-04-06 北京金万维科技有限公司 Printing method based on Windows application virtualization
CN113434100A (en) * 2021-08-27 2021-09-24 统信软件技术有限公司 Cloud printing method, computing device and storage medium
CN113434100B (en) * 2021-08-27 2021-12-07 统信软件技术有限公司 Cloud printing method, computing device and storage medium
CN113885816A (en) * 2021-09-29 2022-01-04 广东天波信息技术股份有限公司 Method, system, device and storage medium for printing by virtual printing device
CN114721606A (en) * 2022-02-28 2022-07-08 阿里巴巴(中国)有限公司 Cloud desktop printing processing method and system
WO2023160404A1 (en) * 2022-02-28 2023-08-31 阿里巴巴(中国)有限公司 Cloud desktop printing processing method and system

Also Published As

Publication number Publication date
WO2020244379A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
CN112035074A (en) Printing implementation method, device and system and storage medium
EP3425501B1 (en) Mirror image file conversion method and apparatus
US8937730B2 (en) System, image forming apparatus, server, and control method thereof
CN202394219U (en) Printer and system convenient for non-driven printing
US8806013B2 (en) Methods and systems for sharing a printer
US9426204B2 (en) Network connection system for sharing data among independent networks
US10120706B2 (en) Techniques to migrate a virtual machine
MX2008014244A (en) Stack signaling to application lack of requested bandwidth.
US20120297375A1 (en) Methods and systems for providing software updates using a cloud administration system
US20050179934A1 (en) System and method for walk-up printing
CN111711801B (en) Video data transmission method, device, server and computer readable storage medium
CN106557288B (en) Method and device for acquiring printing data
CN115080479B (en) Transmission method, server, device, bare metal instance and baseboard management controller
CN113169997B (en) Method, apparatus, and storage medium for providing variable-sized file based on device and network conditions
US10846033B2 (en) Print server, control method, and storage medium
US9691010B2 (en) Information processing apparatus, distributed printing system, and method of controlling printing
US11003397B2 (en) Printing computing device for processing a print job to print a document at a multi-function printing device
US11755263B2 (en) Information processing apparatus, control method, and storage medium
WO2022095650A1 (en) Image forming control method and apparatus, device, system, and storage medium
US20160210085A1 (en) Printing apparatus and control method
WO2019182208A1 (en) Work form sharing
US10599588B1 (en) Interconnection of peripheral devices on different electronic devices
US20130182283A1 (en) Printable object processing
CN113703676B (en) Calling method, device, equipment and medium for double live volumes
US11343408B2 (en) Terminal and non-transitory computer readable medium for transmitting first identification information in place of second identification information

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