An automatic printing method and electronic device

By establishing a communication connection between the electronic device and the printing device, the system automatically identifies and retrieves the print content from the front-end application interface, solving the problem of cumbersome user operations in existing mobile printing methods, achieving automatic and fast printing, and improving the user experience.

CN120929026BActive Publication Date: 2026-05-01HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-04-30
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing mobile printing methods require users to perform multiple steps, resulting in a poor user experience, especially in online education and remote work scenarios, where users need to manually select printing content and devices, making the process cumbersome.

Method used

After establishing a communication connection between the electronic device and the printing device, the interface content of the foreground application is automatically identified, and the printing content is automatically obtained according to the interface, reducing or eliminating the need for additional user operations and realizing automatic and fast printing.

Benefits of technology

It simplifies the printing process, improves the user experience, and reduces user operation steps, enabling users to print automatically when they are near the printing device, meeting the convenience needs of various scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120929026B_ABST
    Figure CN120929026B_ABST
Patent Text Reader

Abstract

The application provides an automatic printing method and an electronic device, and relates to the technical field of terminals. The application can enable a user to only need to place the electronic device close to a printing device, and can automatically and quickly print according to a current interface of the electronic device. The whole process does not need additional operation of the user or only needs a small amount of operation of the user, and the user experience is high. The method comprises the following steps: when the electronic device detects the printing device within a certain distance, it is determined that a foreground application is a non-desktop application and is an application in a whitelist library, the printing content can be automatically determined, and the printing content is automatically sent to the printing device for printing.
Need to check novelty before this filing date? Find Prior Art

Description

An automatic printing method and electronic device

[0001] This application is a divisional application. The original application has the application number 202110485882.5 and the original application date is April 30, 2021. The entire contents of the original application are incorporated herein by reference. Technical Field

[0002] This application relates to the field of terminal technology, and in particular to an automatic printing method and electronic device. Background Technology

[0003] With the promotion of online education and remote work, users' demand for mobile printing is becoming increasingly strong. Currently, mobile printing mainly relies on two solutions: one is printing through the printing service provided by the electronic device's operating system, and the other is printing through third-party printing applications or mini-programs. However, this requires users to perform more steps, leading to inconvenience, longer processing times, and a lower user experience. Therefore, providing a convenient and fast automatic printing method and electronic device has become our need. Summary of the Invention

[0004] To address the aforementioned technical problems, this application provides an automatic printing method and electronic device. The technical solution provided by this application enables users to automatically and quickly print simply by bringing the electronic device close to the printing device, based on the current interface of the electronic device; this process requires minimal or no user intervention, resulting in a superior user experience.

[0005] To achieve the above-mentioned technical objectives, the embodiments of this application provide the following technical solutions:

[0006] Firstly, an automatic printing method is provided, applied to an electronic device. The method includes: when the electronic device is within a certain distance of a printing device, detecting the printing device and establishing a communication connection with it; and, after the foreground application of the electronic device is a non-desktop application and belongs to a preset whitelist, automatically acquiring printable content based on the current interface of the foreground application. In response to received user input, all or part of the printable content is selected, and the electronic device sends all or part of the selected printable content to the printing device; or, in response to received user input, the electronic device sends the printable content to the printing device; or, the electronic device automatically sends the printable content to the printing device.

[0007] In this context, the foreground application refers to the application currently displayed on the electronic device's screen. For example, the application whose interface is currently displayed on the electronic device's screen is the foreground application.

[0008] In some embodiments, the electronic device uses the queried application package name to determine if the application package name is included in the registered whitelist, thus determining that the foreground application is a whitelisted application. The whitelist is a list of registered applications that support printing services.

[0009] In some embodiments, the electronic device and the printing device can support one or more of the following: NFC tap-to-discovery, Bluetooth proximity discovery, IEEE 802.11 proximity discovery, and universal smart sensor hub discovery. Based on one or more of the above-mentioned functions supported by both, the electronic device and the printing device can discover each other. After detecting the printing device and automatically acquiring the print content based on the foreground application interface, the electronic device can, in response to user operation, determine some or all of the content selected by the user as the content to be printed and send it to the printing device. Alternatively, in response to user operation, it can determine that a screenshot of the interface is the content to be printed and send it to the printing device. Alternatively, the electronic device can directly send the acquired print content to the printing device for printing.

[0010] In this way, once the electronic device detects the printing device, it can automatically recognize the foreground application interface, determine the content to be printed, and achieve printing without any additional user operation or with only a small amount of user operation.

[0011] According to the first aspect, after the foreground application of the electronic device is a desktop application, the method further includes: in response to another received user input, at least one display element in the current interface of the desktop application that supports printing is selected, and the electronic device sends the selected display element to the printing device; or, the electronic device automatically sends a screenshot of the current interface of the desktop application to the printing device.

[0012] In some embodiments, if the electronic device determines that the foreground application is the system desktop (i.e., the desktop application) based on its package name, it cannot directly determine the content the user needs to print. Instead, it needs to receive the user's selection of print content on the desktop application's display interface. The selected print content is at least one display element that the current desktop application's display interface supports printing; this display element can be controls, icons, etc., displayed on the interface. Alternatively, it can detect the user's action of opening another application and selecting a file on the desktop application to determine the content to be printed. Or, the electronic device can take a screenshot of the current foreground application's display interface and identify the screenshot file as the content to be printed.

[0013] In this way, even when the foreground application is a desktop application, the electronic device can automatically obtain the print content, ensuring that users can easily print with minimal operations in various scenarios.

[0014] According to the first aspect, or any implementation of the first aspect above, the electronic device automatically obtains the print content based on the current interface of the foreground application; including: after the current interface supports printing services, determining the print content corresponding to the current interface and automatically obtaining the print content; the print content is at least one display content that supports printing included in the current interface.

[0015] In some embodiments, the foreground application display interface supports one or more printable contents. For example, if the foreground application is a music application and the current display interface is a music playback interface, assuming the music playback interface supports displaying lyrics images and album cover images, then the printable contents that the electronic device can acquire are the lyrics images and / or album cover images. Furthermore, the printable contents acquired by the electronic device can be the content currently displayed on the interface, or it can be content not currently displayed on the interface but that supports printing.

[0016] In this way, electronic devices can automatically obtain all or part of the display content that the display interface supports printing, thereby meeting the user's printing needs.

[0017] According to the first aspect, or any of the implementation methods of the first aspect above, the electronic device automatically obtains the print content based on the current interface of the foreground application; including: after the current interface does not support printing services, determining that the screenshot of the current interface is the print content, and automatically obtaining the print content.

[0018] In this way, even if the electronic device determines that the current interface does not support printing, it can still obtain the print content by taking a screenshot and automatically print it to meet the user's printing needs.

[0019] According to the first aspect, or any implementation of the first aspect above, the method further includes: the electronic device sending a query message to a foreground application through a printing service running on the electronic device. The printing service receives the query response sent by the foreground application. Based on the query response, the electronic device obtains the print content.

[0020] In some embodiments, after detecting a printing device, the electronic device invokes a printing service to determine the content to be printed. A communication connection is established between the printing service and the foreground application for signal transmission. Based on this communication connection, information exchange between the printing service and the foreground application is realized, such as obtaining the print content and related information.

[0021] According to the first aspect, or any implementation of the first aspect above, if the query response includes an identifier of the content displayed on the current interface, the current interface supports printing. The identifier indicates that the current interface includes at least one printable display item. If the query response does not include an identifier of the content displayed on the current interface, the current interface does not support printing.

[0022] In some embodiments, after receiving and parsing the query response sent by the foreground application, the printing service can determine whether the currently displayed interface supports printing services, and if so, which printing services are supported. For example, the printing service determines that the foreground application supports printing the displayed content based on the identifier of the displayed content. If the query response contains an identifier for a lyrics image (such as contentname), the printing service determines that the current interface supports printing lyrics images.

[0023] This allows electronic devices to quickly determine the content to be printed based on the identifier carried in the query response, improving the efficiency of automatic content recognition.

[0024] According to the first aspect, or any implementation of the first aspect above, after the electronic device automatically obtains the print content, the method further includes: the electronic device prompting for the print content.

[0025] In some embodiments, after the electronic device determines the print content, it displays a printing interface to prompt the user to check if the print content is correct and whether to confirm printing, thereby avoiding abnormal printing caused by accidental operation. For example, if the user accidentally triggers the printing process (such as accidentally touching the NFC area of ​​the printer and establishing a connection with the printer), the user can choose not to print. Alternatively, after the electronic device determines the print content, it displays the print content. For example, the electronic device prompts the user that the electronic device needs to print through voice prompts, vibration prompts, etc., and asks whether to confirm the print job.

[0026] According to the first aspect, or any of the above implementations of the first aspect, the electronic device prompts for the printed content; including: the electronic device displays a confirmation interface for the printed content.

[0027] In this way, the electronic device receives the user's confirmation operation by displaying a confirmation interface, ensuring the security of the printing operation. The confirmation operation may include, for example, a click on a confirmation control (such as a "Start Printing" control), a double-click on the display screen, or other preset gesture operations on the display screen; it may also include preset operations such as double-clicking the volume button or double-clicking the back of the phone; or it may include an operation that automatically confirms after waiting for a preset time. This application does not specifically limit the specific type of confirmation operation.

[0028] According to the first aspect, or any implementation of the first aspect above, in response to received user input, all or part of the printable content is selected, and the electronic device sends all or part of the selected printable content to the printing device; comprising: the electronic device receiving first user input; in response to the first user input received by the electronic device, all or part of the printable content is selected; the electronic device receiving second user input; in response to the second user input received by the electronic device, the electronic device sending all or part of the selected printable content to the printing device. Wherein, the user input includes both the first user input and the second user input.

[0029] In some embodiments, the number of printable contents is multiple. After acquiring multiple printable contents, the electronic device displays selection information for the user to choose and confirm, i.e., receives the user's first user input. After determining that the user needs to print some or all of the printable contents, it acquires the corresponding printable contents information, receives the user's second user input operation, and determines to send the printable contents to the printing device.

[0030] By detecting user input, the system ensures that the printed content meets user needs, guarantees printing security, and ensures that the final printed result meets user expectations.

[0031] According to the first aspect, or any implementation of the first aspect above, in response to received user input, the electronic device sends print content to the printing device; including: the electronic device receiving second user input. In response to the second user input received by the electronic device, the electronic device sends print content to the printing device. Wherein, the user input includes the second user input.

[0032] In some embodiments, the number of printable contents is one. After acquiring the printable contents, the electronic device directly responds to the user's confirmation of printing by sending the acquired printable contents to the printing device.

[0033] In other embodiments, the number of printable contents is one or more. After the electronic device acquires one or more printable contents and detects the user's confirmation of printing, it sends the one or more printable contents to the printing device for printing.

[0034] This way, the electronic device can ensure printing security by sending the print content to the printing device only after confirming that it has received the user's confirmation.

[0035] According to the first aspect, or any implementation of the first aspect above, the method further includes: the electronic device operating a printing service and a printing module. The electronic device sends all or part of the selected print content to the printing device; including: the electronic device sending all or part of the print content to the printing device through the printing service and the printing module.

[0036] In some embodiments, the printing module may include one or more plug-ins in an electronic device corresponding to a printing device. After detecting a printing device, the printing service can automatically invoke the printing module corresponding to that printing device to process the printing task, thus achieving automatic printing.

[0037] Secondly, an electronic device is provided. The electronic device includes a processor, a memory, and a computer program, wherein the computer program is stored in the memory. When the computer program is executed by the processor, it causes the electronic device to perform the following: Within a certain distance of a printing device, the electronic device detects the printing device and establishes a communication connection with it. When the foreground application of the electronic device is a non-desktop application and belongs to a preset whitelist, the electronic device automatically acquires print content based on the current interface of the foreground application. In response to received user input, all or part of the print content is selected, and the electronic device sends all or part of the selected print content to the printing device; or, in response to received user input, the electronic device sends the print content to the printing device. Alternatively, the electronic device automatically sends the print content to the printing device.

[0038] According to the second aspect, the electronic device also performs the following: after the foreground application of the electronic device is a desktop application, in response to another received user input, at least one display element in the current interface of the desktop application that supports printing is selected, and the electronic device sends the selected display element to the printing device; or, the electronic device automatically sends a screenshot of the current interface of the desktop application to the printing device.

[0039] According to the second aspect, or any implementation of the second aspect above, the electronic device automatically obtains the print content based on the current interface of the foreground application; including: after the current interface supports printing services, determining the print content corresponding to the current interface and automatically obtaining the print content; the print content is at least one display content that supports printing included in the current interface.

[0040] According to the second aspect, or any implementation of the second aspect above, the electronic device automatically obtains the print content based on the current interface of the foreground application; including: after the current interface does not support printing services, determining that the screenshot of the current interface is the print content, and automatically obtaining the print content.

[0041] According to the second aspect, or any implementation of the second aspect above, the electronic device further performs the following: The electronic device sends a query message to the foreground application through a printing service running on the electronic device. The printing service receives the query response sent by the foreground application. Based on the query response, the electronic device obtains the print content.

[0042] According to the second aspect, or any implementation of the second aspect above, if the query response includes an identifier of the content displayed on the current interface, the current interface supports printing. The identifier indicates that the current interface includes at least one printable display item. If the query response does not include an identifier of the content displayed on the current interface, the current interface does not support printing.

[0043] According to the second aspect, or any implementation of the second aspect above, after the electronic device automatically obtains the print content, the electronic device also performs the following: the electronic device prompts for the print content.

[0044] According to the second aspect, or any implementation of the second aspect above, the electronic device prompts for the printed content; including: the electronic device displays a confirmation interface for the printed content.

[0045] According to the second aspect, or any implementation of the second aspect above, in response to received user input, all or part of the printable content is selected, and the electronic device sends all or part of the selected printable content to the printing device; including: the electronic device receiving first user input; in response to the first user input received by the electronic device, all or part of the printable content is selected; the electronic device receiving second user input; and in response to the second user input received by the electronic device, the electronic device sending all or part of the selected printable content to the printing device. Wherein, the user input includes both the first user input and the second user input.

[0046] According to the second aspect, or any implementation thereof, in response to received user input, the electronic device sends print content to the printing device; including: the electronic device receiving second user input; in response to the second user input received by the electronic device, the electronic device sending print content to the printing device; wherein the user input includes the second user input.

[0047] According to the second aspect, or any implementation of the second aspect above, the electronic device further performs: the electronic device operates a printing service and a printing module. The electronic device sends all or part of the selected print content to the printing device; including: the electronic device sending all or part of the print content to the printing device through the printing service and the printing module.

[0048] For the technical effects of the second aspect and any of its implementation methods, please refer to the technical effects of the first aspect and any of its implementation methods mentioned above, which will not be repeated here.

[0049] Thirdly, embodiments of this application provide an electronic device that has the function of implementing the automatic printing method as described in the first aspect and any of its possible implementations. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described function.

[0050] For the technical effects of the third aspect and any of its implementation methods, please refer to the technical effects of the first aspect and any of its implementation methods mentioned above, which will not be repeated here.

[0051] Fourthly, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program (also referred to as instructions or code) that, when executed by an electronic device, causes the electronic device to perform the method of the first aspect or any embodiment of the first aspect.

[0052] For the technical effects of the fourth aspect and any of its implementation methods, please refer to the technical effects of the first aspect and any of its implementation methods mentioned above, which will not be repeated here.

[0053] Fifthly, embodiments of this application provide a computer program product that, when run on an electronic device, causes the electronic device to perform the method of the first aspect or any one of the embodiments of the first aspect.

[0054] The technical effects of the fifth aspect and any of its implementations can be found in the first aspect and any of its implementations, and will not be repeated here.

[0055] In a sixth aspect, embodiments of this application provide a circuit system including a processing circuit configured to perform the method of the first aspect or any of the embodiments of the first aspect.

[0056] For the technical effects of the sixth aspect and any of its implementations, please refer to the technical effects of the first aspect and any of its implementations mentioned above; they will not be repeated here.

[0057] In a seventh aspect, embodiments of this application provide a chip system including at least one processor and at least one interface circuit. The at least one interface circuit is used to perform transceiver functions and send instructions to the at least one processor. When the at least one processor executes the instructions, the at least one processor performs the method of the first aspect or any one of the embodiments of the first aspect.

[0058] The technical effects of the seventh aspect and any implementation thereof can be found in the first aspect and any implementation thereof, and will not be repeated here. Attached Figure Description

[0059] Figure 1 is a schematic diagram of the interface provided in an embodiment of this application;

[0060] Figure 2 is a schematic diagram of the interface provided in an embodiment of this application;

[0061] Figure 3 is a schematic diagram of the interface provided in an embodiment of this application;

[0062] Figure 4 is a schematic diagram of a scenario of an automatic printing method provided in an embodiment of this application;

[0063] Figure 5A is a schematic diagram of the structure of the electronic device provided in an embodiment of this application;

[0064] Figure 5B is a schematic diagram of the software structure of the electronic device provided in the embodiment of this application;

[0065] Figure 6 is a flowchart of the automatic printing method provided in an embodiment of this application;

[0066] Figure 7 is a second flowchart of the automatic printing method provided in an embodiment of this application;

[0067] Figure 8 is a schematic diagram of the interface provided in the embodiment of this application;

[0068] Figure 9 is a schematic diagram of the interface provided in the embodiment of this application;

[0069] Figure 10 is a schematic diagram of the communication framework provided in an embodiment of this application;

[0070] Figure 11 is a schematic diagram of the interface provided in an embodiment of this application;

[0071] Figure 12 is a flowchart of the automatic printing method provided in an embodiment of this application;

[0072] Figure 13A is a schematic diagram of the interface provided in an embodiment of this application;

[0073] Figure 13B is a schematic diagram of the interface provided in an embodiment of this application;

[0074] Figure 14 is a schematic diagram of the interface provided in an embodiment of this application;

[0075] Figure 15 is a flowchart of the automatic printing method provided in the embodiment of this application;

[0076] Figure 16 is a schematic diagram of the interface provided in an embodiment of this application;

[0077] Figure 17 is a second schematic diagram of the structure of the electronic device provided in the embodiment of this application. Detailed Implementation

[0078] The technical solutions of the embodiments of this application are described below with reference to the accompanying drawings. In the description of the embodiments of this application, the terminology used in the following embodiments is for the purpose of describing specific embodiments only and is not intended to be a limitation of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include expressions such as “one or more,” unless the context clearly indicates otherwise. It should also be understood that in the following embodiments of this application, “at least one” and “one or more” refer to one or more (including two).

[0079] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized. The term "connection" includes direct connections and indirect connections, unless otherwise stated. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated.

[0080] In the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.

[0081] In some scenarios, electronic devices can connect to printers and send the content to be printed to the printer. The electronic devices need to receive the user's selection and determine the content to be printed.

[0082] In some embodiments, certain applications in an electronic device (such as libraries) support access via the operating system (e.g., Print using the printing services provided by (etc.).

[0083] For example, if a user wants to print an album cover image while playing music using a music application, they need to save the album cover image first before printing. As shown in interface 101 of Figure 1(a), after the electronic device (such as a mobile phone) detects the user's long-press operation on image 11, it displays interface 102 of Figure 1(b) to determine whether the user wants to save the image (i.e., the album cover image). After detecting the user's click on the "Save Image" control 12, it confirms that the album cover image is saved. Afterwards, the user needs to find the saved location of the album cover in the file system before printing. As shown in interface 201 of Figure 2(a), in response to the user's operation, the electronic device opens the gallery application and saves the album cover image to be printed (such as the image indicated by marker 21) in the gallery application. After detecting the user's click on the image indicated by marker 21, the electronic device opens the album cover image and displays interface 202 of Figure 2(b). After detecting the user's click on the "More" control 22, it displays the more editing menu. After detecting a user's click on the "Print or Generate PDF" control 23, the print interface is invoked, displaying interface 203 as shown in Figure 2(c). After detecting a user's click on the "Select Printer" control 24, interface 204 as shown in Figure 2(d) is displayed. Finally, after detecting a user's click on the "Printer A" control 25, the process confirms that the album cover image will be sent to printer A for printing.

[0084] As can be seen, only some applications that support the operating system's printing interface can utilize the above printing solutions. The printing process requires multiple user actions, and users must explicitly specify the save location of the printed content, making the process quite difficult. Furthermore, the personalized options for image editing, correction, and filters are limited, resulting in a single printing function.

[0085] In other embodiments, the electronic device has a third-party printing application or app installed, which enables printing.

[0086] For example, similar to the printing scheme described above, printing using a third-party printing application or app also requires saving the content to be printed first. Assuming it's still a scenario of printing album cover images, the electronic device saves the album cover image using the method shown in Figure 1. Then, in interface 301 as shown in Figure 3(a), the electronic device responds to the user's operation, launches the third-party printing application, and displays interface 301. After detecting the user's click on the "Print Gallery" control 31, it determines that the user needs to print an image. Next, it needs to detect the content selected by the user for printing. In interface 302 as shown in Figure 3(b), it detects the user's clicks on the "Select Image" control 32 and the "OK" control 33, confirming that the user has selected to print the image. Then, in interface 303 as shown in Figure 3(c), it detects the user's click on the "Printer A" control 34, confirming that the user has selected printer A for image printing, and sends the selected image to printer A for printing.

[0087] As can be seen, this printing solution requires users to first download and launch the corresponding application. Furthermore, the printing process itself involves multiple operations, and users must explicitly specify the save location for the printed content, making the operation quite complex.

[0088] Therefore, this application provides an automatic printing method in which the electronic device can automatically identify the content displayed in the foreground and automatically determine whether the content displayed in the foreground supports printing. Automatic printing can be achieved without requiring too much operation from the user, reducing the difficulty of printing and improving the user experience.

[0089] Figure 4 is a schematic diagram of an automatic printing method provided in an embodiment of this application. As shown in Figure 4, the electronic device 100 and the printing device 200 establish a communication connection. Exemplarily, the electronic device 100 and the printing device 200 establish a wireless communication connection. The electronic device 100 can send the document to be printed on the electronic device 100 to the printing device 200 for printing through the wireless communication connection with the printing device 200.

[0090] Electronic device 100 can establish a wireless communication connection with printing device 200 through wireless communication technology. This wireless communication technology includes, but is not limited to, at least one of the following: near field communication (NFC), Bluetooth (BT) (e.g., classic Bluetooth or Bluetooth Low Energy (BLE)), wireless local area networks (WLAN) (e.g., Wi-Fi), Zigbee, frequency modulation (FM), infrared (IR), etc.

[0091] In some embodiments, both the electronic device 100 and the printing device 200 support proximity detection. For example, both the electronic device 100 and the printing device 200 can achieve proximity detection via NFC sensing. When the electronic device 100 approaches the printing device 200, they can discover each other and establish wireless communication connections such as Wi-Fi peer-to-peer (P2P) or Bluetooth. Then, the electronic device 100 identifies the current interface, automatically determines the print content based on the interface, and sends the print content to the printing device 200 for printing, effectively reducing user operations.

[0092] In some embodiments, electronic device 100 and printing device 200 establish a wireless communication connection via a local area network. For example, electronic device 100 and printing device 200 are both connected to the same router.

[0093] In some embodiments, the electronic device 100 and the printing device 200 establish a wireless communication connection via a cellular network, the Internet, or the like. For example, the printing device 200 accesses the Internet via a router, and the electronic device 100 accesses the Internet via a cellular network; thus, the electronic device 100 and the printing device 200 establish a wireless communication connection.

[0094] For example, electronic device 100 includes, but is not limited to, smartphones, tablets, wearable devices (such as smartwatches, smart bracelets, and smart glasses), laptops, personal digital assistants (PDAs), in-vehicle devices, virtual reality (VR) devices, augmented reality (AR) devices, and artificial intelligence (AI) devices. The operating system installed on electronic device 100 includes, but is not limited to, those that... Alternatively, other operating systems may be used. In some embodiments, the electronic device 100 may be a fixed device or a portable device. This application does not limit the specific type of the electronic device 100 or the operating system installed on it.

[0095] For example, the printing device 200 can be an electronic device with printing capabilities. The printing device 200 may have an operating system installed. The operating system installed on the printing device 200 includes, but is not limited to, […]. Alternatively, it can use another operating system. The printing device 200 may also not have an operating system installed. This application does not limit the specific type of the printing device 200, whether it has an operating system installed, or the type of operating system if it does.

[0096] For example, Figure 5A shows a schematic diagram of the structure of electronic device 100. As shown in Figure 5A, electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.

[0097] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0098] Processor 110 may include one or more processing units. For example, processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors. The controller can generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution. Processor 110 may also include memory for storing instructions and data.

[0099] In some embodiments, processor 110 may include one or more interfaces. Interfaces may include inter-integrated circuit (I2C) interfaces, inter-integrated circuit sound (I2S) interfaces, pulse code modulation (PCM) interfaces, universal asynchronous receiver / transmitter (UART) interfaces, mobile industry processor interfaces (MIPI), general-purpose input / output (GPIO) interfaces, subscriber identity module (SIM) interfaces, and / or universal serial bus (USB) interfaces, etc. USB interface 130 is an interface conforming to the USB standard specification, specifically a Mini USB interface, a Micro USB interface, a USB Type-C interface, etc.

[0100] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 100.

[0101] The charging management module 140 receives charging input from a charger, which can be a wireless charger or a wired charger. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141. In some other embodiments, the power management module 141 may also be located within the processor 110. In still other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

[0102] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0103] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.

[0104] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0105] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), ZigBee, and infrared (IR). The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0106] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0107] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0108] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or M displays 194, where M is a positive integer greater than 1.

[0109] In some embodiments, the display screen 194 of the electronic device 100 displays an interface. The electronic device 100 can automatically identify the displayed content using the processor 110, and determine whether the currently displayed application supports automatic printing based on the application whitelist stored in the internal memory 121, the external memory connected to the external memory interface 120, or the memory in the processor 110. If automatic printing is supported, the electronic device 100 can determine the print content selected by the user based on the user's voice input and / or touch input, and send the print content to the printing device 200 for printing using the wireless communication module 160.

[0110] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.

[0111] The internal memory 121 can be used to store computer executable program code, which includes instructions. The internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, phonebook, etc.).

[0112] In SIM card interface 195, P is a positive integer greater than 1.

[0113] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100. For example, Figure 5B shows a software structure block diagram of electronic device 100 provided in this application embodiment.

[0114] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.

[0115] The application layer can include a series of application packages.

[0116] As shown in Figure 5B, the application package may include applications such as printing services, printing modules, WLAN, camera, gallery, calling, navigation, Bluetooth, and video.

[0117] In some embodiments, the printing service can be provided by a Huawei Hilink-enabled application (e.g., a smart living application, or APP). The printing service can also be a standalone Huawei Hilink-enabled application. Electronic devices discover the printing device via proximity detection and automatically invoke the printing service to handle the printing task. Huawei Hilink provides a way for various smart devices to join an open smart hardware ecosystem. Electronic devices can join the Huawei Hilink ecosystem through hardware access or cloud access, enabling interconnectivity between electronic devices and between applications within those devices.

[0118] It should be noted that this application embodiment uses the Huawei Hilink ecosystem as an example to illustrate the automatic printing method provided in this application embodiment. This automatic printing method can also be applied to other ecosystems that support intelligent communication between applications.

[0119] In some embodiments, the printing module may include one or more plug-ins in an electronic device corresponding to a printing device. After detecting a printing device, the printing service can automatically invoke the printing module corresponding to that printing device to process the printing task, thus achieving automatic printing.

[0120] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0121] As shown in Figure 5B, the application framework layer may include a window manager, content providers, a view system, a phone manager, a resource manager, and a notification manager. The window manager manages window programs. It can obtain the screen size, determine if a status bar is present, lock the screen, and capture the screen. The content provider stores and retrieves data, making this data accessible to applications. This data may include video, images, audio, made and received phone calls, browsing history and bookmarks, and a phone book. The view system includes visual controls, such as controls for displaying text and controls for displaying images. The view system can be used to build applications. A display interface may consist of one or more views. For example, a display interface including a text notification icon may include a view for displaying text and a view for displaying images.

[0122] The Phone Manager provides communication functionality for electronic devices 100. This includes managing call status (including connection and disconnection). The Resource Manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, etc. The Notification Manager allows applications to display notifications in the status bar. These notifications can convey informational messages and disappear automatically after a short pause, requiring no user interaction. For example, the Notification Manager can be used to notify of download completion or message alerts. The Notification Manager can also display notifications as icons or scrolling text in the system's top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting alert sounds, vibrating the electronic device, and flashing indicator lights.

[0123] The Android Runtime consists of the core libraries and the virtual machine. The Android runtime is responsible for the scheduling and management of the Android system. The core libraries consist of two parts: one part contains the functionalities that the Java language needs to call, and the other part contains the core Android libraries.

[0124] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0125] The system library can include multiple functional modules. For example: a surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), and 2D graphics engines (e.g., SGL). The surface manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The media libraries support playback and recording of various common audio and video formats, as well as still image files. The media libraries support various audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. The 3D graphics processing libraries are used for 3D graphics drawing, image rendering, compositing, and layer processing. The 2D graphics engine is the drawing engine for 2D graphics.

[0126] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.

[0127] The following embodiments all use a printer as an example to illustrate the printing device 200.

[0128] For example, Figure 6 is a schematic diagram of an automatic printing method provided in an embodiment of this application. As shown in Figure 6, the method may include S601-S609:

[0129] S601, The electronic device detected the printing device.

[0130] In some embodiments, the electronic device and the printer can support one or more of the following: NFC tap-to-discovery, Bluetooth proximity discovery, IEEE 802.11 proximity discovery, and universal smart sensor hub discovery; based on one or more of the above functions supported by both, the electronic device and the printer can discover each other.

[0131] For example, when an electronic device and / or printer has NFC enabled, the printer is detected when the electronic device approaches or touches the NFC sensing area on the printer.

[0132] S602, Electronic device identification front-end application.

[0133] In this context, the foreground application refers to the application currently displayed on the electronic device's screen. For example, the application whose interface is currently displayed on the electronic device's screen is the foreground application.

[0134] In some embodiments, the electronic device needs to confirm the foreground application displayed on the current screen to determine whether the device can automatically determine the printing content in the current scenario. For example, the UsageStatsManager class can be used for foreground application identification. The UsageStatsManager class is a tool in the Android system used for statistical management of electronic device usage; it can query the device's usage history (such as currently opened applications) and statistical information, thereby obtaining the package name of the currently foreground application and identifying different foreground applications. The application's package name is unique in the Android system and can serve as a unique identifier for the application.

[0135] For example, in the automatic printing method shown in Figure 7, the electronic device may include a printing service, a foreground application, and a printing module. After the electronic device discovers the printer through methods such as touch discovery or proximity discovery, it starts the printing service. As shown in S701, the printing service identifies the foreground application. For example, the printing service determines that the foreground application is the system desktop, or it determines that the foreground application is a music application, etc. The printing service can be called through the startService method.

[0136] It should be noted that when an electronic device is displayed in split-screen or floating window mode, the application is identified as the foreground application by detecting the location corresponding to the most recent user interaction. For example, if the electronic device displays application 1 and application 2 in split-screen mode, and the most recent user interaction detected by the electronic device is a touch operation on the display area corresponding to application 1, then application 1 is identified as the foreground application.

[0137] S603. The electronic device determines whether the foreground application is the system desktop. If yes, i.e., the foreground application is the system desktop, then execute S604; if no, i.e., the foreground application is not the system desktop, then execute S605.

[0138] In some embodiments, the electronic device uses the queried application package name to determine whether the application package name is the system desktop package name, and thus determines whether the foreground application is the system desktop. That is, it determines whether the foreground application is a desktop application.

[0139] For example, as shown in S702 of FIG7, the electronic device can determine whether the foreground application is the system desktop by calling the print service. As shown in FIG8, if the electronic device displays the main interface, it is determined that the currently displayed foreground application is the system desktop, and the following S604 needs to be executed.

[0140] In this way, electronic devices can automatically recognize the content displayed on the front-end interface and select different ways to handle printing business based on different interface content, thereby providing users with more flexible printing methods.

[0141] S604. Electronic devices detect the print content selected by the user.

[0142] In some embodiments, if the electronic device determines that the foreground application is the system desktop, it cannot directly determine the content that the user needs to print. Instead, it needs to receive the user's selection of print content on the desktop application's display interface. The print content selected by the user is at least one display element that the current desktop application's display interface supports printing. This display element can be controls, icons, etc., displayed on the interface. Therefore, as shown in Figure 7, the electronic device needs to execute steps S703 and S704.

[0143] S703, Print Service calls the print module.

[0144] S704 The printing module receives the print content selected by the user.

[0145] For example, in S703-S704, after determining that the foreground application is the system desktop, the printing service calls or starts the printing module, which then receives the print content specified by the user. The printing service can call the printing module across processes using the Android Interface Definition Language (AIDL). AIDL cross-process calls are one of the common cross-process interface call methods in Android, requiring both communicating apps to hold the same AIDL file and bind their respective services to achieve cross-process interface calls. Furthermore, the method for the user to specify the print content can be referred to the methods described in Figures 1-3 above, and will not be repeated here. Alternatively, in other scenarios, the electronic device directly takes a screenshot of the current desktop application's display interface, using this screenshot as the print content.

[0146] S605. The electronic device determines whether the foreground application is a whitelisted application. If not, i.e., the foreground application is not a whitelisted application, then proceed to S606; if yes, i.e., the foreground application is a whitelisted application, then proceed to S607.

[0147] In some embodiments, if the electronic device determines that the foreground application is not on the system desktop, it needs to further determine whether the foreground application is a whitelisted application, i.e., whether it supports automatic printing recognition. The whitelist can be a whitelist library used to store the package names of registered applications. This whitelist can be pre-installed in the electronic device; or the electronic device can request and download the whitelist from a server when a query is needed. The whitelist can contain the package names of registered applications. By querying the whitelist to see if the package name of the current foreground application is included, the electronic device can determine whether the current foreground application is a registered application that supports automatic printing recognition.

[0148] For example, as shown in S705 of FIG7, the printing service can determine whether the foreground application is a whitelisted application. Specifically, the printing service uses the package name of the foreground application obtained in S701 above to match the configuration file in the whitelist to determine whether the foreground application exists in the whitelist, and thus determines whether the foreground application is a whitelisted application.

[0149] In some embodiments, prior to S605, the application needs to register a whitelist. For example, during the configuration process on the developer website, the application developer registers the package name to determine whether the current application is allowed to support automatic printing service recognition. The server receives the registration information and generates a whitelist for electronic devices to download. Electronic devices can periodically update and download the whitelist, query the whitelist online, or periodically download the registration information of newly registered applications.

[0150] For example, an application whitelist is shown below, in which registered applications include: Applications and word processing systems application.

[0151]

[0152] S606. The electronic device determines that the printed content is the content of the screenshot of the display interface.

[0153] In some embodiments, if the electronic device determines that the foreground application is not a whitelisted application, it will determine that the foreground application does not support automatic recognition printing, and thus determine that a screenshot of the currently displayed interface needs to be printed.

[0154] For example, S705 and S706 are shown in FIG7.

[0155] S705, Print Service determines whether the foreground application is a whitelisted application.

[0156] S706, The print service sends a screenshot of the currently displayed interface to the print module.

[0157] In some embodiments, if the printing service determines that the foreground application is not a whitelisted application, it will take a screenshot using the SurfaceControl.screenshot interface in the Android system and save the screenshot file. Then, the saved screenshot file's Uniform Resource Identifier (URI) will be sent to the printing module via an AIDL cross-process call.

[0158] The URI represents the corresponding data reference to be operated on. After receiving the URI, the printing module can determine the location where the corresponding screenshot file is saved, thus obtaining access permissions to the screenshot file and enabling it to print it. For example, content:\ / \ / cn.netease.cloudmusic.fileprovider\ / external_storage_root\ / test\ / Test1.png is an example URI.

[0159] For example, as shown in interface 901 of FIG9, the electronic device displays... During the process of using the chat interface 901, if a printer is detected, the print service is invoked to execute steps S701-S705 above. The print service determines that the foreground application corresponding to the current interface 901 is... If the application is not a whitelisted application, then screenshot 91 is generated, and the URI of the location where screenshot 91 is saved is sent to the printing module, so that the printing module can print the currently displayed interface.

[0160] In this way, even if the foreground application is not a whitelisted application, users do not need to perform multiple operations to achieve automatic printing, reducing the difficulty of user operation.

[0161] S607. The electronic device determines whether the display interface supports printing. If not, i.e., the display interface does not support printing, then proceed to S606; if yes, i.e., the display interface supports printing, then proceed to S608.

[0162] In some embodiments, the foreground application is a whitelisted application that supports printing services. However, the foreground application may contain multiple display interfaces, and the content displayed on some display interfaces may support printing services while the content displayed on others may not support printing services. In such cases, the electronic device needs to further obtain the specific printing content supported by the foreground application's display interfaces in order to implement printing.

[0163] In some embodiments, if the printing service determines that the foreground application is a whitelisted application, it needs to establish a communication connection with the foreground application to determine whether the current display interface of the foreground application supports printing services and to obtain information on supported printing content.

[0164] For example, as shown in Figure 7, S707.

[0165] S707: The printing service establishes a communication connection with the front-end application.

[0166] In some embodiments, the printing service and the foreground application can establish a communication connection for signal transmission based on the Android Lightweight Messenger inter-process communication method.

[0167] For example, as shown in FIG10, a communication connection is established between the print service 101 and the foreground application 102 using Binder entities 1011 and 1012 for transmitting interactive information in subsequent steps. Further, a handler 1013 for processing interactive information is configured on the print service 101 side, for example, for processing messages that can be sent to the foreground application 102 or the print module. A handler 1014 for processing interactive information is configured on the foreground application 102 side, for example, for processing messages that can be sent to the print service 101.

[0168] Thus, the electronic device establishes a communication connection as shown in Figure 10, enabling information exchange between the printing service and the front-end application.

[0169] Optionally, the above S607 can be implemented as S708-S711 as shown in Figure 7.

[0170] S708, the printing service sends query information to the front-end application.

[0171] In some embodiments, the printing service uses a communication connection with the foreground application to send query information to the foreground application. This query information is used to check whether the currently displayed interface of the foreground application supports printing services. The query information may include, for example, the package name (clientName) of the printing service and the business ID (businessID) of the printing service.

[0172] The package name of the print service is used to notify the foreground application of the purpose of the current request message. The print service identifier can default to 0 (or be described as 0x00). The query information can also be described as an application page print business (APPB) request message. The print service encapsulates the APPB request message using a preset encapsulation method and transmits the encapsulated APPB request message across processes through the communication connection established in S707 above. Correspondingly, the foreground application receives the APPB request message. The preset encapsulation method can include, for example, encapsulating the message sequentially as a JSON object (or XML), a Bundle, and a Message.

[0173] For example, the following shows an APPB request message.

[0174]

[0175] S709: The front-end application parses and queries the information to determine the supported printing services.

[0176] In some embodiments, after receiving the query information, the front-end application parses the query information. For example, it parses the Message, Bundle, and JSON Object sequentially to obtain the package name and printing service identifier of the printing service. Based on the package name and printing service identifier of the printing service, the front-end application determines the list of printing services supported by the currently displayed content and generates a query response.

[0177] In some embodiments, the query response can also be described as an APPB response message. This query response is used to notify the printing service of the printing services currently displayed on the screen. The query response may include, for example, the foreground application package name (serverName), the printing service identifier (businessID), the foreground application interface name (foregroundName), and a list of supported printing services (contentlist). The list of supported printing services may include, for example, content encoding (contentId), content name (contentname), and content type (fileType). The content type field value indicates the format of the printed content. For example, a fileType field value of 0 indicates that the printed content is in image format. Alternatively, a fileType field value of 1 indicates that the printed content is in document format. The above fileType field values ​​and their meanings are merely illustrative examples, and this application embodiment does not impose specific limitations on them.

[0178] For example, the following shows an APPB response message.

[0179]

[0180] S710: The foreground application sends a query response to the print service.

[0181] In some embodiments, after the foreground application generates a query response, it encapsulates the query response using a preset encapsulation method (such as JSONObject, Bundle, and Message encapsulation methods) and transmits it across processes through the communication connection established in S707 above. Accordingly, the printing service receives the query response.

[0182] S711, Print Service determines whether the display interface supports printing services.

[0183] In some embodiments, after receiving a query response, the printing service parses the response. For example, it parses the Message, Bundle, and JSON Object sequentially. Based on the length of the contentlist field, it can determine whether the currently displayed interface supports printing, and if so, which printing services it supports. For example, if the contentlist field length is 0, it indicates that the displayed interface does not support printing. Alternatively, the printing service determines whether the current interface supports printing based on whether the query response contains an identifier of the displayed content. For example, if the query response contains an identifier of the displayed content in the current interface, the current interface supports printing; the identifier indicates that the current interface includes at least one printable displayed content. If the query response does not contain an identifier of the displayed content in the current interface, the current interface does not support printing.

[0184] For example, the printing service parses the query response from the example in S709 above and determines, based on the contentlist field, that the current foreground application display interface supports printing lyrics images.

[0185] Thus, the electronic device determines whether the display interface supports printing services through the above S708-S711. If printing services are supported, the electronic device can further obtain the printing content, that is, execute the following S608; if printing services are not supported, the electronic device executes the above S606, that is, takes a screenshot of the display interface and determines that the printing content is the screenshot content.

[0186] For example, as shown in Figure 7, step S712 is the same as step S706 above. If the printing service determines that the current display interface does not support printing, it sends a screenshot of the current display interface to the printing module. Accordingly, after receiving the screenshot, the printing module determines that the content to be printed is the content of the screenshot.

[0187] S608, The electronic device determines the print content of the display interface.

[0188] In some embodiments, after determining the printing services supported by the current display interface, the electronic device needs to further determine the printable content corresponding to the printable services supported by the current display interface. The printable content is at least one printable display item included in the current display interface. For example, if the printable service supported by the current display interface is lyrics images, the electronic device needs to further obtain the lyrics image information of the song currently playing on the current display interface to achieve printing.

[0189] Alternatively, as shown in Figure 7, S608 can be implemented as S713-S716 as described below.

[0190] S713, The print service sends a print request to the foreground application.

[0191] In some embodiments, the printing service uses a communication connection with the foreground application to send a print content request to the foreground application. This print content request requests print content information for printing services supported by the current interface of the foreground application. The print content request may include, for example, the printing service's package name (clientName), print service identifier (businessID), print content identifier (contIdId), print content type (fileType), and the maximum number of prints supported (maxFileNum). The print service identifier can default to 0. The print content request can also be described as an application page data (APPD) request message. The printing service encapsulates the APPD request message using a preset encapsulation method (such as JSONObject, Bundle, and Message encapsulation methods) and transmits it across processes through the communication connection established in S707. Accordingly, the foreground application receives this APPD request message.

[0192] For example, an APPD request message is shown below.

[0193]

[0194] S714. The front-end application parses the print content request and determines the print content information.

[0195] In some embodiments, after receiving a print request, the foreground application parses the request. For example, it parses the Message, Bundle, and JSON Object sequentially to obtain the print service's package name (clientName), print business ID (businessID), print content ID (contIdId), print content type (fileType), and maximum supported print count (maxFileNum). It then determines the print content information to be printed and generates a print response. This print content information may include, for example, the URI data of the print content.

[0196] In some embodiments, the print content response can also be described as an APPD response message, which is used to notify the print service of the URI data of the current print content, i.e., to allow the print service to access the print content. The print content response may include, for example, the foreground application package name (serverName), print business ID (businessID), print content ID (contIdId), print content type (fileType), print content quantity (maxFileNum), and print content file list (fileList). The print content file list (fileList) may include, for example, file index, file format (format), file status (status), file URI (fileUriStr), file path (filePath), and file size (fileSize).

[0197] As an example, an APPD response message is shown below.

[0198]

[0199]

[0200] S715, the foreground application sends a print content response to the print service.

[0201] In some embodiments, after the foreground application generates a print content response, it encapsulates the print content response using a preset encapsulation method (such as JSON Object, Bundle, and Message encapsulation methods) and transmits it across processes through the communication connection established in S707 above. Accordingly, the print service receives the print content response.

[0202] S716, The print service parses the print content response and obtains the print content information.

[0203] In some embodiments, after receiving a print content response, the printing service parses the response. For example, it parses the Message, Bundle, and JSON Object sequentially to obtain print content information, such as information in a file list.

[0204] Thus, the electronic device determines the print content information to be printed on the foreground application display interface through the above S713-S716, obtains access permissions, and is thus able to execute subsequent printing tasks.

[0205] S609: The electronic device displays the printing interface, detects the user's confirmation operation, and prints the corresponding content.

[0206] In some embodiments, after the electronic device determines the print content information, it displays a printing interface to prompt the user to check whether the print content is correct and whether to confirm printing, thereby avoiding abnormal printing caused by accidental operation. For example, if the user accidentally triggers the above S601, the current user can choose not to print. Alternatively, after the electronic device determines the print content, it displays the print content. For example, the electronic device prompts the user that the current electronic device needs to print through voice prompts, vibration prompts, etc., and asks whether to confirm whether to execute the print job.

[0207] It should be noted that, as shown in Figure 6, the print content determined in S609 is the print content included in the print content determined in S604, S606, or S608. That is, the electronic device executes S604 and then executes S609, or the electronic device executes S606 and then executes S609, or the electronic device executes S608 and then executes S609.

[0208] For example, as shown in FIG7, S609 can be implemented as S717 and S718 as described below.

[0209] S717, The print service sends print content information to the print module.

[0210] In some embodiments, after obtaining the printing information, the printing service sends the printing information to the printing module, thereby granting the printing module permission to access the printing content and enabling printing.

[0211] For example, the printing service passes the URI of the data to be printed as a parameter to the printing module via AIDL cross-process calls.

[0212] S718 The printing module responds to the user's confirmation operation and prints the corresponding content.

[0213] In some embodiments, after receiving the print content information, the printing module accesses the print content and displays a confirmation interface to receive user confirmation of the print content. If confirmation is received, the corresponding print content is sent to the printer for printing.

[0214] For example, as shown in Figure 11(a), interface 1101 is used to display gallery content. Assuming that the electronic device discovers the printer via a tap-to-discover method while displaying interface 1101, it invokes the print service and executes the methods shown in Figures 6 and 7. At this time, as indicated by icon 111 on interface 1101, the user has selected an image; that is, the current print content is the image indicated by icon 111, and the print content information is the URI data of the image indicated by icon 111. After obtaining the print content information, the print module causes the electronic device to display interface 1102 as shown in Figure 11(b), prompting the user to confirm the print content. If the electronic device detects that the user clicks the "Start Print" control 112 and confirms that the current print content is being printed, the print module sends the image to the printer for printing.

[0215] The confirmation operation may include, for example, a click on a confirmation control (such as a "Start Printing" control), a double-click on the display screen, or other preset gesture operations on the display screen. It may also include preset operations such as double-clicking the volume button or double-clicking the back of the phone, or an operation that automatically confirms after a preset time. This application does not specifically limit the type of confirmation operation.

[0216] In some embodiments, it is assumed that the print content is the print content obtained from the print service screenshot shown in S706 or S712 of FIG. 7. If the printing module determines to cancel printing in response to the user's operation, the electronic device can automatically delete the print content of the screenshot to save storage space. Alternatively, the electronic device can delete the print content of the corresponding screenshot in response to the user's operation.

[0217] Thus, the automatic printing method provided in this application allows electronic devices to automatically recognize and print displayed content, eliminating the need for users to manually switch between multiple applications to find the print content. This reduces printing difficulty, improves printing efficiency, and meets users' needs for fast and convenient mobile printing.

[0218] In addition, electronic devices can predefine printing strategies for different display interfaces of different applications, or predefine printing strategies for different print content supported by the same display interface, by querying the response (i.e., APPB response message), thus meeting the user's flexible printing needs.

[0219] In some scenarios, after receiving the print content information, the printing module can directly send the print content to the printer for printing without user confirmation, further reducing user operations and ensuring automatic printing without any additional user intervention. Alternatively, in other scenarios, after receiving the print content information, the printing module waits for a preset time before automatically sending the print content to the printer for printing, thus ensuring automatic printing without any additional user intervention.

[0220] For example, in the scenario shown in FIG11, after the electronic device detects the printer while displaying the interface 1101 shown in FIG11(a), it can directly print the image without having to display the interface 1102 shown in FIG11(b) to receive the user's confirmation operation.

[0221] It is understood that in the above embodiments, the division of printing service, front-end application and printing module shown in Figure 7 is only an illustrative example, and other division methods may exist to implement the above automatic printing method.

[0222] In some scenarios, the current display interface of the foreground application supports multiple printable contents, and the electronic device needs to confirm the printable content that the user wants to print. For example, a music playback interface supports printing lyrics images and album cover images. The electronic device cannot directly determine the printable content, so it needs to receive the user's selection operation to determine the printable content. Exemplarily, Figure 12 shows another automatic printing method provided by an embodiment of this application. As shown in Figure 12, after S711 shown in Figure 7, S1201 and S1202 may also be included.

[0223] S1201. The print service determines whether it supports multiple print content. If yes, that is, multiple print content is supported, then proceed to S1202; if no, that is, only one print content is supported, then proceed to S713.

[0224] In some embodiments, the front-end application display interface can support one or more printable contents. After receiving the query response, the print service parses the query response and determines whether the front-end application display interface supports multiple printable contents based on the length of the supported printable contents list field. If the length of the supported printable contents list field is greater than 1, it indicates that the front-end application display interface supports multiple printable contents.

[0225] For example, the printing service determines that the front-end application supports 1 print content data based on the length of the supported print service list (contentlist) field in the APPB response message shown in S709 above, that is, it supports printing lyrics images.

[0226] For example, as shown in Figure 13A(a), interface 1301 is a music playback interface with music playback function and displays a music album cover image. When the electronic device detects a user clicking on a blank area of ​​interface 1301, it can switch the displayed content. For example, it can display interface 1302 as shown in Figure 13A(b). The displayed content switches to the lyrics image of the currently playing music. Interface 1302 is also a music playback interface with music playback function. The current music playback interface can then implement different printing strategies. For example, it can implement three printing strategies: printing lyrics images and / or printing album cover images. That is, the music playback function page supports multiple printable contents. When the electronic device detects the printer while displaying interface 1301 or interface 1302, and determines that the current interface supports multiple printable contents, it executes S1202, whereby the user determines which specific printing strategy to implement.

[0227] The following shows the APPB response message in the current scenario. Based on the length of the supported printing service list (contentlist) field in the APPB response message, the printing service determines that the front-end application supports 2 printable content data, which means it supports printing lyrics images and album cover images.

[0228]

[0229]

[0230] As can be seen, the printed content corresponding to different printing strategies includes both the content visible to the user on the current screen of the electronic device and the content invisible to the user on the current screen. For example, when the electronic device detects a printer while displaying interface 1301 as shown in Figure 13A(a), it triggers the printing process. The current interface 1301 supports printing the content visible to the user (such as the album cover image displayed on interface 1301) and also supports printing the content invisible to the user (such as the lyrics image displayed on interface 1302 as shown in Figure 13A(b)).

[0231] It should be noted that the execution order of S711 and S1201 is not limited in this application embodiment. For example, after receiving the query response, the printing service can determine whether the front-end application display interface supports printing services and the number of supported printable contents based on the query response.

[0232] S1202: The print service displays multiple supported printable content and receives the printable content selected by the user.

[0233] In some embodiments, if the printing service determines that the foreground application supports multiple printable content data, it needs to display a printable content selection interface to receive the printable content selected by the user. For example, the printing service generates a prompt message based on the list of supported printable content in the parsed APPB response message, and uses a custom dialog or activity in Android to provide an interface prompt and receive the printable content selected by the user.

[0234] For example, as shown in interface 1303 of Figure 13B(a), assuming the music playback interface supports two printable contents, including lyrics images and album cover images. After the electronic device discovers the printer via tap-to-discovery or other methods, a pop-up prompt box 131 is displayed to show the prompt information generated by the printing service. After the electronic device detects the user's click on the "lyrics image" control 132, it determines that the printable content to be printed is a lyrics image. The printing service then determines the printable content selected by the user and executes S713 to request the corresponding printable content information from the foreground application. Alternatively, after the electronic device discovers the printer via tap-to-discovery or other methods, it displays interface 1304 as shown in Figure 13B(b), prompting the user to select printable content by displaying notification information 133.

[0235] In some scenarios, the foreground application displays multiple printable items. The print service can obtain printable content information for these multiple items from the foreground application and then send all of this information to the print module. The print module directly determines the printable content upon receiving the user's confirmation to print. That is, the print service does not execute steps S1201 and S1202 as described above; instead, in the method flow shown in Figure 7, it directly determines the specific printable content in step S718.

[0236] For example, as shown in interface 1401 of Figure 14(a), assuming that the electronic device discovers the printer through a method such as tap-to-discover, as shown in interface 1401, the electronic device has selected images 141 and 142. Then, during the automatic print content recognition process described above, the print content response obtained by the print service in S715 of Figure 7 includes the URI data of image 141 and image 142. The print service sends the URI data of image 141 and image 142 to the print module, which at this time has permission to access images 141 and 142 (i.e., can print images 141 and 142). As shown in interface 1402 of Figure 14(b), the print module receives the print content selected by the user. As shown in interface 1402, both the "Page 1" control 143 and the "Page 2" control 144 are currently selected, and both images 141 and 142 can be printed (i.e., both printable content can be printed). If the electronic device detects that the user clicks on the "Page 2" control 144 and deselects it, it determines that the user will not print the image corresponding to the "Page 2" control 144, but will only print the image corresponding to the "Page 1" control 143.

[0237] Thus, in scenarios where the front-end application display interface supports multiple printable contents, the electronic device can flexibly determine the printable contents based on the user's selection.

[0238] In some scenarios, after receiving and parsing the query information, the front-end application can not only determine the supported printing services but also directly determine the print content information corresponding to the supported printing services. Therefore, when sending a query response to the printing service, the print content information can be directly included in the query response. Figure 15 is a schematic flowchart of another automatic printing method provided in an embodiment of this application. As shown in Figure 15, after S711 shown in Figure 7, the printing service can execute S1501.

[0239] S1501, Print service determines print content information.

[0240] In some embodiments, after receiving a query response, the printing service determines whether the query response carries print content information. The print content information determined by the printing service can be the print content information of all printable content supported by the foreground application's display interface. Alternatively, the print content information determined by the printing service can be the print content information selected by the user for printing, corresponding to the process shown in Figure 15. In the process shown in Figure 12, S1501 can also be executed after S1202. After determining the print content information, the printing service no longer needs to request print content information from the foreground application, i.e., it no longer needs to execute S713-S716 and no longer needs to interact with the foreground application using the APPD message.

[0241] For example, in the scenario shown in Figure 11, during S710 as shown in Figure 7, the query response determined by the front-end application carries information including that interface 1101 (as shown in Figure 11(a)) supports printing services, the number of printable contents is 1 (i.e., the printable content is the image indicated by icon 111), and the URI data of the image indicated by icon 111. Therefore, after receiving the query response, the printing service can directly send the URI data of the image indicated by icon 111 to the printing module for printing.

[0242] In this way, electronic devices can reduce the number of steps involved in the exchange of information between the printing service and the front-end application, thereby improving printing efficiency.

[0243] In some scenarios, electronic devices can receive user edits of whitelisted applications. For example, application developers register applications A, B, and C on a developer website, making these three applications whitelisted applications that support automatic printing. After obtaining the whitelist, the electronic device receives user edits. If the user does not allow printing content corresponding to application B, they can remove application B's whitelist permission. Then, in step S605 as shown in Figure 6, the electronic device determines that application B is not a whitelisted application, and printing is only possible via screenshot. As another example, application developers register application A's print content 1, print content 2, print content 3, print content 4, and print content 5 on a developer website, making application A whitelisted and supporting 5 print content items. After obtaining the whitelist, the electronic device receives user edits. If the user's frequently used printing requirement is print content 1, the electronic device can respond to the user's choice and remove application A's print content 2, print content 3, print content 4, and print content 5 from the whitelist. Therefore, in the subsequent process shown in Figure 12, the printing service no longer needs to execute S1201 and S1202, that is, it no longer needs to receive user selections, further reducing user operations and improving printing efficiency.

[0244] For example, as shown in interface 1601 of Figure 16, the electronic device receives user edits of whitelist applications on interface 1601. For instance, if the electronic device detects the user clicking the "Switch Edit" control 161, it can switch the whitelist application being edited, such as currently editing application A. If the electronic device detects the user clicking the "Select" control 162 corresponding to the print content option, it can determine whether the user has selected or deselected the whitelist permission for the corresponding print content, such as the current electronic device determining that the user has deselected the whitelist permission for print content 2 and print content 4. After the electronic device detects the user clicking the "Deselect All" control 163, it can determine that the user has deselected the whitelist permission for application A (i.e., deselected the whitelist permission for all print content of application A). Afterwards, if the electronic device detects the user clicking the "OK" control 164, it determines that the user has completed editing the whitelist application.

[0245] In this way, electronic devices can edit the whitelist of applications according to the user's personalized needs, further enhancing the user experience.

[0246] In some scenarios, the printing service can also perform the operations executed by the printing module in the above method embodiments. For example, after determining the print content, the printing service can directly send the print content to the printing device for printing.

[0247] The automatic printing method provided by the embodiments of this application has been described in detail above with reference to Figures 6-16. The automatic printing device provided by the embodiments of this application is described in detail below with reference to Figure 17.

[0248] In one possible design, Figure 17 is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. As shown in Figure 17, the electronic device 1700 may include a display unit 1701, a processing unit 1702, and a transceiver unit 1703. The electronic device 1700 can be used to implement the functions of the electronic device involved in the above method embodiments.

[0249] Optionally, the display unit 1701 is used to support the electronic device 1700 in displaying interface content; and / or to support the electronic device 1700 in executing S609 in FIG6.

[0250] Optionally, the processing unit 1702 is used to support the electronic device 1700 in executing S602, S603, S605, S606, S607 and S608 in FIG6.

[0251] Optionally, the transceiver unit 1703 is used to support the electronic device 1700 in performing S601, S604 and S609 in FIG6.

[0252] The transceiver unit may include a receiving unit and a transmitting unit, and may be implemented by a transceiver or transceiver-related circuit components, and may be a transceiver or transceiver module. The operation and / or function of each unit in the electronic device 1700 are respectively for implementing the corresponding process of the automatic printing method described in the above method embodiments. All relevant content of each step involved in the above method embodiments can be referred to the functional description of the corresponding functional unit, and for the sake of brevity, it will not be repeated here.

[0253] Optionally, the electronic device 1700 shown in FIG17 may further include a storage unit (not shown in FIG17) storing a program or instructions. When the display unit 1701, processing unit 1702, and transceiver unit 1703 execute the program or instructions, the electronic device 1700 shown in FIG17 can perform the automatic printing method described in the above method embodiments.

[0254] The technical effect of the electronic device 1700 shown in Figure 17 can be referred to the technical effect of the automatic printing method described in the above method embodiments, and will not be repeated here.

[0255] In addition to being in the form of electronic device 1700, the technical solution provided in this application can also be a functional unit or chip in an electronic device, or a device used in conjunction with an electronic device.

[0256] This application also provides a chip system, including: a processor coupled to a memory, the memory being used to store programs or instructions, wherein when the program or instructions are executed by the processor, the chip system implements the methods in any of the above method embodiments.

[0257] Optionally, the chip system may contain one or more processors. These processors can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor, implemented by reading software code stored in memory.

[0258] Optionally, the chip system may contain one or more memories. The memory may be integrated with the processor or disposed separately from it; this application embodiment does not limit this. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or disposed separately on different chips. This application embodiment does not specifically limit the type of memory or the arrangement of the memory and processor.

[0259] For example, the chip system may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0260] It should be understood that each step in the above method embodiments can be completed by integrated logic circuits in the processor hardware or by instructions in software form. The method steps disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or being executed by a combination of hardware and software modules in the processor.

[0261] This application also provides a computer-readable storage medium storing a computer program. When the computer program is run on a computer, it causes the computer to perform the aforementioned steps to implement the automatic printing method described in the above embodiments.

[0262] This application also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the automatic printing method described in the above embodiments.

[0263] In addition, this application also provides an apparatus. Specifically, the apparatus may be a component or module, and may include one or more processors and a memory connected together. The memory is used to store a computer program. When the computer program is executed by one or more processors, the apparatus performs the automatic printing method described in the above-described method embodiments.

[0264] The apparatus, computer-readable storage medium, computer program product, or chip provided in the embodiments of this application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.

[0265] The steps of the methods or algorithms described in conjunction with the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an application-specific integrated circuit (ASIC).

[0266] Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, the division of the above functional modules is only used as an example. In practical applications, the above functions can be assigned to different functional modules as needed; that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0267] In the several embodiments provided in this application, it should be understood that the disclosed methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical functional division, and there may be other division methods in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of modules or units may be electrical, mechanical or other forms.

[0268] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0269] Computer-readable storage media include, but are not limited to, any of the following: USB flash drive, portable hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and other media capable of storing program code.

[0270] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. An automatic printing method, characterized in that, The method includes: after an electronic device approaches or touches the NFC sensing area of ​​a printing device, the electronic device detects the printing device; the electronic device automatically obtains the printable content based on the current interface of its foreground application and displays a printable content confirmation interface, wherein the printable content is not a screenshot of the current interface, and the printable content includes at least one of the following: at least one display content that the current interface supports printing, or display content that is not displayed on the current interface but supports printing; the foreground application is a whitelisted application, and the foreground application is a word processing system WPS application; the printable content confirmation interface includes a confirmation control; in response to receiving a confirmation operation from the user on the confirmation control, the electronic device sends the printable content to the printing device.

2. The method according to claim 1, characterized in that, The method further includes: the electronic device sending a query message to the foreground application through a printing service running on the electronic device; the printing service receiving a query response from the foreground application; and the electronic device obtaining the print content based on the query response.

3. The method according to claim 1, characterized in that, The electronic device and the printing device have established a communication connection, which includes any of the following: Wi-Fi P2P connection, Bluetooth connection, NFC connection, Zigbee connection, infrared connection, Wi-Fi network connection, cellular network connection, or Internet connection.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: the electronic device having a printing application installed; the electronic device sending the print content to the printing device includes: the electronic device sending the print content to the printing device through the printing application.

5. The method according to any one of claims 1 to 3, characterized in that, The print content confirmation interface also includes paper type.

6. The method according to any one of claims 1 to 3, characterized in that, The print content confirmation interface also includes the number of copies to be printed.

7. The method according to any one of claims 1 to 3, characterized in that, The print content confirmation interface also includes the print range.

8. An electronic device, characterized in that, The electronic device includes: a processor; a memory; and a computer program, wherein the computer program is stored in the memory and, when executed by the processor, causes the electronic device to perform the method as described in any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a computer program that, when run on an electronic device, causes the electronic device to perform the method as described in any one of claims 1 to 7.

10. A computer program product, characterized in that, When the computer program product is run on an electronic device, it causes the electronic device to perform the method as described in any one of claims 1 to 7.

11. An automatic printing system, characterized in that, include: Printing equipment and electronic equipment as claimed in claim 8.

12. A chip system, characterized in that, include: A processor coupled to a memory for storing programs or instructions that, when executed by the processor, cause the chip system to perform the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Print data processing method of mobile device and the mobile device

    CN108701010A

  • Operation terminal, program, and printing system

    US20190114129A1