Program, information processing device, and control method
The program addresses the need for enhanced convenience in cloud printing by enabling direct transmission of print data when restrictions are not satisfied, reducing error recognition delays and improving usability in cloud printing services.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-28
- Publication Date
- 2026-04-13
AI Technical Summary
Cloud printing services require further improvements in convenience, particularly in handling printing restrictions and error notifications to enhance user experience.
A program that includes a first acquisition step for print data, a second acquisition step for restriction information, and a notification step for errors, with an option to transmit print data directly to the printing device if it does not satisfy predetermined conditions, thereby avoiding unnecessary cloud service interactions.
Enhances user convenience by reducing delays in error recognition and improving usability by allowing direct transmission of print data when restrictions are not met, thus streamlining the printing process.
Smart Images

Figure 0007844192000001 
Figure 0007844192000002 
Figure 0007844192000003
Abstract
Description
Technical Field
[0005] , , , , notification
[0001] The present invention relates to a program, an information processing apparatus, and a control method.
Background Art
[0002] Printing services using the cloud from information processing apparatuses such as personal computers are known. In such services, the information processing apparatus issues a print request to the cloud printing service and transmits the print request to a printing apparatus associated with the cloud printing service. By doing so, printing can be executed via the cloud. (Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, further improvement in convenience of cloud printing services is required.
Means for Solving the Problems
[0005] To solve the above problems, a program according to the present disclosure is a program that causes a computer of an information processing apparatus communicable with a printing apparatus to execute a first acquisition step of acquiring print data for which printing processing is to be executed by the printing apparatus, a second acquisition step of acquiring restriction information regarding printing of a server outside the information processing apparatus and communicable with the printing apparatus, and a notification step of executing a notification regarding an error in which printing processing is not executed when information regarding the print data satisfies a predetermined condition based on the restriction information. notification A program characterized by causing the above to be executed. If the information regarding the print data does not satisfy the aforementioned restriction information, a transmission step is performed to transmit the print data to the printing device via the server without performing the notification step. [Effects of the Invention]
[0006] According to this disclosure, further improvements in convenience can be achieved for cloud printing services. [Brief explanation of the drawing]
[0007] [Figure 1] This diagram shows the hardware configuration of the system. [Figure 2] This diagram shows the configuration of each software component in the information processing device and the printing device. [Figure 3] This diagram shows the data flow and data format related to printing. [Figure 4] This diagram shows the system's configuration for printing. [Figure 5] This is a flowchart of the print data editing unit. [Figure 6] This figure shows an example of a restricted list. [Figure 7] This figure shows an example of a list of restriction details. [Figure 8] This figure shows an example of an error message. [Figure 9] This is a flowchart of the print data editing unit. [Figure 10] This figure shows an example of a list of cloud printing-related services. [Modes for carrying out the invention]
[0008] Preferred embodiments of the present invention will be described below with reference to the drawings. However, it should be understood that the present invention also includes modifications and improvements made to the embodiments described below, without departing from the spirit of the invention, based on the ordinary knowledge of those skilled in the art.
[0009] (First Embodiment) This invention describes the information processing device and printing device included in the printing system of this embodiment. The host computer 101 is an example of an information processing device and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. NETIF 120 is a network interface that controls data transfer to and from external devices via the network.
[0010] The ROM 112 stores the initialization program. The external storage device 114 stores application programs, the operating system (OS), print data generation software, and various other data. The extended application 204, described later, is also stored in the external storage device 114. The RAM 113 is used as work memory for executing the various programs stored in the external storage device 114, enabling the various programs to run on the host computer 101.
[0011] In this embodiment, the CPU 111 performs processing according to the procedures of the program stored in the ROM 112, thereby executing the functions and flowchart-related processing described later in the host computer 101.
[0012] The printing device 1004 is connected to the host computer 101 via the input / output interface 116. Here, the host computer 101 and the printing device 1004 are configured separately, but they could also be configured as a single information processing unit. The printing device 1005, described later, will have the same configuration as the printing device 1004.
[0013] In this embodiment, a host computer 101 is used as an example of an information processing device, but it is not limited to this. For example, various devices such as mobile terminals, personal computers, tablet terminals, PDAs (Personal Digital Assistants), and digital cameras can be used as information processing devices. Also, in this embodiment, a printer is used as an example of a printing device 1004, but it can be applied to, for example, an inkjet printer, a full-color laser beam (electrophotographic) printer, a monochrome printer, etc.
[0014] Note that a configuration is known in which a printer driver installed on the host computer 101 as control software for the printing apparatus 1004 is used to issue a printing instruction to the printing apparatus 1004 connected to the host computer 101. An operating system (OS), which is basic software, is installed on the host computer 101. The printer driver is configured according to the specifications defined by the OS and is called from the OS to operate. By providing a printer driver that conforms to the specifications of the OS, the vendor that provides the printing apparatus 1004 can provide a means for instructing the printing apparatus 1004 to print using that OS. In recent years, in Windows (registered trademark), a standard class driver (hereinafter also referred to as a "standard driver") that can be commonly used with printing apparatuses provided by a plurality of vendors has been provided. Such a standard driver is included in the OS package and can be easily used by connecting an arbitrary printing apparatus to the host computer 101. Therefore, there is no need to separately install a model-specific printer driver suitable for the printing apparatus 1004, which is highly convenient. Further, the standard driver is configured to be able to specify a printing function according to PrintCapabilities generated based on information acquired from the connected printing apparatus 1004. Thereby, a user using the standard driver can specify a printing function according to the capabilities of the connected printing apparatus 1004 even though using one standard driver. In the present embodiment, the standard driver will be described as printing data generation software 202.
[0015] Here, an application for function extension (extension application 204) can be associated with the standard driver. The extension application 204 can be provided by the vendor that provides the printing apparatus 1004. By providing this extension application 204, the vendor can provide a function (extended function) that cannot be realized only by the standard driver.
[0016] The extension application 204 is software that extends the functionality of the print data generation software 202, which is equivalent to the standard driver and will be described later. It is not pre-installed (not bundled) with the OS. Therefore, the user needs to download and install the extension application 204 from a server via the Internet on the host computer 101. Alternatively, it may be automatically installed based on the connection of the printer 1004 to the host computer 101. Specifically, when the printer 1004 is connected to the host computer 101, the OS obtains device identification information (device ID) from the printer 1004. The OS may download and install the extension application 204 corresponding to the obtained device identification information from a server via the Internet. In other words, the print data generation software 202 and the extension application 204 are kept as separate files on the host computer 101. Note that the print data generation software 202 and the extension application 204 may be updated and upgraded, but this update process is also performed at different times. In other words, the timing at which the host computer 101 acquires the print data generation software 202 and the timing at which the extended application 204 is acquired are different. Also, the triggers for the host computer 101 acquiring the print data generation software 202 and the triggers for the host computer 101 acquiring the extended application 204 are different. When the extended application 204 is installed, the OS associates the extended application 204 with the print data generation software 202 and the printing device 1004.
[0017] The extended application 204 described in this embodiment includes a print settings screen extension unit 205, a skip control unit 206, a print function extension unit 207, a print data editing unit 208, and a notification unit 209. The extended application 204 also includes shared information (shared information section) 210 that can be commonly accessed from each unit. The actual form of the shared information 210 is a file stored in the external storage device 114 or information stored on the RAM 113. The extended application 204 writes and reads information to and from the shared information 210 by using an API (Application Program Interface) provided by the OS.
[0018] FIG. 2 is a diagram schematically showing the configuration of a printing system by each software of the host computer 101 and the printing device 1004. Here, a printing system using the host computer 101 equipped with Microsoft (registered trademark)'s Windows (registered trademark) 11 as the OS will be described as a premise. FIG. 2(a) is a diagram showing a general configuration when the extended application 204 is not associated with the print data generation software 202 and the printing device 1004.
[0019] The drawing application 201 is software that creates drawing data (image data) to be printed. For example, a document creation application or a spreadsheet application corresponds to the drawing application 201. When the drawing application 201 receives a print request from the user, it issues a print instruction to the OS. The print instruction includes print setting information for instructing the operations of the print data generation software 202 and the printing device 1004. The print setting information is also called a PrintTicket (hereinafter, "PT").
[0020] The drawing application 201 can display a print settings screen provided by either the print data generation software 202, the OS, or the drawing application 201 itself, in order to output print setting information. The print settings screen displays setting items indicating configurable printing functions and control items indicating the setting values of the setting items, according to the capability information (information on the capabilities of the printing device 1004) obtained from the print data generation software 202. Capability information is also called PrintCapabilities (hereinafter, "PC"). The print data generation software 202 determines the PC based on the print function information 203. The print function information 203 is data indicating the printing function that describes all configurable printing functions and their setting values, as well as the mutual exclusion relationships between the setting values. The print function information 203 is also called PDC (Print Device Capabilities). The print function information 203 is included in the configuration file of the print data generation software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, the print function information 203 can be dynamically generated by the print data generation software 202. Specifically, the print data generation software 202 or the OS can be configured to acquire attribute data of the printing device 1004 from the printing device 1004 and generate print function information 203 according to the attribute information in the acquired attribute data. If the print function information 203 is generated dynamically, the generated print function information 203 is editable. The attribute data of the printing device 1004 acquired from the printing device 1004 is a response obtained by issuing the IPP (Internet Print Protocol) Get-Printer-Attributes operation to the printing device 1004. The response includes attribute information indicating the functions that the printing device 1004 can operate (the capabilities of the printing device 1004) and setting values related to that attribute information. This response is stored in RAM 113.
[0021] With the above configuration, the print data generation software 202 can be configured so that the user can specify the printing functions available on each printing device 1004, depending on the connected printing device. In other words, even when printing devices with different functions or printing devices developed (provided) by different vendors are connected, the print data generation software 202 can be configured so that the user can specify the printing functions available on each connected printing device. Here, we will describe a configuration using the IPP Class Driver or UP Class Driver included in Windows® 11 as the print data generation software 202. The IPP Class Driver and UP Class Driver are printer drivers that perform printing processing according to the specifications of a standard printing protocol called IPP (Internet Print Protocol), and are included in the OS package. The IPP Class Driver and UP Class Driver are not specific printer drivers for each model of printing device 1004, but are standard class drivers that can be used in common with multiple printing devices. The IPP Class Driver is a standard driver that performs local printing according to the above specifications, and the UP Class Driver is a standard driver that performs cloud printing. Local printing is a method in which print data is sent directly to the printing device and printed without going through cloud services such as the cloud printing-related services described later. Cloud printing is a method in which print data is not sent directly to the printing device, but is sent via the cloud printing-related services described later and printed. In addition, the IPP Class Driver and UP Class Driver acquire capability information of the connected printing device 1004 and generate print function information 203 based on that information so that the user can specify the printing functions supported by the connected printing device.
[0022] If the extended application 204 is associated with an IPP Class Driver, the host computer 101 and the printer 1004 are connected in a way that allows them to communicate with each other (hereinafter also referred to as the direct communication configuration). If the extended application 204 is associated with an UP Class Driver, the host computer 101 and the printer 1004 communicate indirectly via cloud printing-related services (hereinafter also referred to as the indirect communication configuration). Among the cloud printing-related services, the configuration in which the host computer 101 and the printer 1004 communicate via at least one cloud service is also referred to as the indirect communication configuration.
[0023] As an example of direct communication between the host computer 101 and the printer 1004, the host computer 101 may be directly connected to the printer 1004 via a physical cable such as a USB cable through the input / output interface 116. Alternatively, the host computer 101 and the printer 1004 may be connected over a local area network via NETIF 120. The connection to the local area network can be either wired or wireless. In this case, the host computer 101 and the printer 1004 can communicate in accordance with the IPP protocol specifications.
[0024] In contrast, when the host computer 101 and the printing device 1004 use an indirect communication method, the host computer 101 and the printing device 1004 are not connected in a way that allows them to communicate with each other. The host computer 101 can communicate with cloud printing-related services via the Internet, and the printing device 1004 is also configured to communicate with cloud printing-related services via the Internet. Print commands from the host computer 101 to the printing device 1004 are executed via the cloud printing-related services.
[0025] Here, we will explain the process by which print data is sent to the printing device 1004 and printed, as shown in Figure 2(a). The OS generates intermediate data 302 (also called input data) based on the print instruction output from the drawing application 201 and passes it to the print data generation software 202. The data output by the drawing application 201 for printing is either Graphic Device Interface format data (GDI format data) or XML Paper Specification format data (XPS format data). When using the IPP Class Driver as the print data generation software 202, if the data output by the drawing application 201 is in GDI format, the OS converts the GDI format data output from the drawing application 201 to XPS format data. Then, the converted XPS format data is passed to the print data generation software 202 as intermediate data 302. If the data output by the drawing application 201 is in XPS format, the OS passes the XPS format data to the print data generation software 202 as intermediate data 302. The intermediate data 302 includes image data, which is information about the picture to be formed on the paper, and print setting information set by the user.
[0026] The print data generation software 202 converts the acquired intermediate data 302 into print data that can be interpreted by the printing device 1004 and transmits it to the printing device 1004. The print data includes drawing data, which is information about the image formed on the paper, and print setting attribute information (attribute information that specifies the print settings) generated based on the print setting information set by the user. The print setting attribute information includes attribute information that indicates the functions that the printing device 1004 can operate (capabilities of the printing device) and setting values related to that attribute information.
[0027] The printing device 1004 prints (prints) onto the paper based on the print data sent from the print data generation software 202. At this time, the printing device 1004 forms the drawing data contained in the print data on the paper in accordance with the print setting attribute information contained in the print data. The print setting attribute information includes information on print quality (image quality priority, speed priority, etc.), the size of the drawing data, and the drawing position (margins).
[0028] Figure 2(b) shows the configuration when the extended application 204 is associated with the print data generation software 202 and the printing device 1004. Unless otherwise specified below, the configuration and processes are equivalent to those in Figure 2(a).
[0029] When the drawing application 201 receives a print request from the user, it issues a print command to the OS. In this configuration, as in the configuration shown in Figure 2(a), the drawing application 201 can display the print settings screen. In this configuration, the print settings screen provided by the extension application 204 is displayed. Specifically, the print settings screen provided by the print settings screen extension unit 205 of the extension application 204 is displayed. Whether or not the print settings screen provided by the print settings screen extension unit 205 is displayed depends on the user's operation. As mentioned above, the print settings screen displays only setting items that indicate the configurable printing functions according to the capability information obtained from the print data generation software 202. This reduces the possibility of the user setting print settings that are not included in the printer's capability information.
[0030] Furthermore, when the drawing application 201 receives a print request from the user and a print command is issued to the OS, the OS activates the skip control unit 206. The skip control unit 206 controls whether or not to skip the processing of the print data generation software 202. After the skip control processing by the skip control unit 206, the OS generates intermediate data 302 based on the print command output from the drawing application 201, and the intermediate data 302 is passed to the print data generation software 202. If the skip control unit 206 does not perform skip control, the intermediate data 302 is processed by the print data generation software 202 into print data 303 that can be interpreted by the printing device 1004, and passed to the print data editing unit 208. On the other hand, if the print data generation software 202 performs a skip, the intermediate data 302 is not processed by the print data generation software 202 and is passed to the print data editing unit 208. This makes it possible for the print data editing unit 208 to process the intermediate data 302.
[0031] The print data editing unit 208 edits the intermediate data 302 received from the print data generation software 202 or the print data processed by the print data generation software 202. For example, in the case of layout printing, the print data editing unit 208 modifies the layout of the intermediate data 302 or the print data based on the layout printing settings information received from the OS. The print data editing unit 208 can also display a UI screen on the display unit 119, allowing it to display a preview image of the print result of the intermediate data 302 or the print data. Note that the print data editing unit 208 does not send print data to the printing device 1004 while the screen is open; the print data transmission process is initiated when the screen is closed.
[0032] After the print data editing unit 208 edits the intermediate data 302 or the print data, the print data is sent to the printing device 1004. The printing device 1004 prints on the paper based on the received print data.
[0033] If the skip control unit 206 skips the print data generation software 202, the print data editing unit 208 may convert the received intermediate data 302 into print data that the printing device 1004 can interpret. Alternatively, the OS may be used to convert the intermediate data 302 into print data.
[0034] The extended application 204 has a print function extension unit 207. The print function extension unit 207 can edit the print function information 203 (PDC) generated by the print data generation software 202 or the OS. This allows the print function extension unit 207 to add functions provided by the extended application 204, add functions supported by the printing device 1004 but not by the print data generation software 202, add mutual exclusion relationships between print function settings, etc. The OS starts the print function extension unit 207 when the extended application 204 is first associated with the printing device 1004 and the print data generation software 202. Furthermore, the OS may start the print function extension unit 207 at other times, such as when the OS starts up. In this way, in cases where optional devices (e.g., finishers) are later added to the printing device 1004 and the functions related to printing are extended, the print function extension unit 207 can detect the extended functions and add them to the print function information 203.
[0035] Furthermore, the extended application 204 has a notification unit 209. The notification unit 209 can display a notification (status notification) to the user in response to an error occurring in the printer 1004. For example, if a no-paper error occurs in the printer 1004, the print data generation software 202 detects the no-paper error, and the OS uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the notification unit 209 of the extended application 204 is called by the OS, and the UI screen of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message about the no-paper error or instructions on how to load paper.
[0036] It should be noted that the configuration of the extended application 204 for realizing this embodiment is not limited to having all of the functions (units) described above, but may have only some of the functions or other functions. Also, the extended application 204 is sometimes simply called the printing software. As described above, the extended application 204 includes at least one of the following: a function to display a settings screen (print settings screen extension unit 205), a function to control whether or not to skip the processing of the print data generation software 202 (skip control unit 206), a function to edit the print data input to the printing device (print data editing unit 208), a function to extend the functions that can be specified in the print data generation software (print function extension unit 207), and a function to display a screen in response to an error occurring in the printing device 1004 (notification unit 209).
[0037] Alternatively, the extended application 204 may terminate its operation after each unit has finished processing. In that case, the OS would start the extended application 204 each time a request to use each unit is received. Another configuration is also possible. For example, the OS terminates the operation of the extended application 204 after the processing of the print settings screen extended unit 205 is completed, but the OS may keep the extended application 204 running even after the processing of the skip control unit 206 is completed.
[0038] Furthermore, the extended application 204 may cancel processing within each unit. If canceled, the OS will delete the print job currently being processed on the print queue. Note that the print job contains print data.
[0039] Furthermore, the format of the print data in each process from when the print data is sent to the printing device 1004 until it is printed will be explained.
[0040] The print data generation software 202 acquires capability information from the printing device 1004, determines the print data format supported by the printing device 1004, and converts the intermediate data 302 into print data that can be interpreted by the printing device 1004 based on the determination result. Note that, in the following, the term "print data format" may actually refer to the format of the drawing data included in the print data.
[0041] Figure 3 shows the data format (data type) handled in each process of the printing system of this embodiment. While Figure 3 illustrates a printing system where the host computer 101 and the printing device 1004 are configured to communicate directly, the host computer 101 and the printing device 1004 may be indirectly connected and able to communicate via a cloud service or the like. Specifically, the host computer 101 and the printing device 1004 may be indirectly connected and able to communicate via a cloud printing-related service described later. Figure 3(a) shows the data format handled in each process of the printing system when the extended application 204 is not associated. Upon receiving a print command from the drawing application 201, the OS generates intermediate data, XPS data 302. The print data generation software 202 converts the XPS data 302 into print data that the printing device 1004 can interpret. Specifically, the print data generation software 202 determines the print data format supported by the printing device 1004 from the attribute data acquired from the printing device 1004, and generates print data that the printing device 1004 can interpret. Possible print data formats include PDF and PWGRaster, but are not limited to these. In this embodiment, PWGRaster is used as the print data format supported by the printing device 1004. Therefore, the print data generation software 202 converts the XPS data 302 into PWGRaster data 303 and sends it to the printing device 1004. The printing device 1004 then performs printing based on the received PWGRaster data 303. Note that the intermediate data 302 and print data 303 are also referred to as print data, as they are data related to print data.
[0042] Figure 3(b) shows the data format handled by each process of the printing system when the extended application 204 is associated and no instruction to skip the print data generation process is given by the print data generation software 202. When a print instruction is received from the drawing application 201, the skip control unit 206 of the extended application 204 is called. However, in Figure 3(b), the skip control unit 206 does not give an instruction to skip the process of the print data generation software 202. As a result, as in the case of Figure 3(a), the print data generation software 202 converts the XPS data 302 into PWGRaster data 303. The print data editing unit 208 receives the PWGRaster data 303 as input data. Since the PWGRaster data 303 is print data that the printing device 1004 can interpret, the print data editing unit 208 sends the input data, the PWGRaster data 303, directly to the printing device 1004. The printing device 1004 performs printing based on the received PWGRaster data 303.
[0043] Figure 3(c) shows the data format handled when the extended application 204 is associated and a skip instruction has been given for the print data generation process by the print data generation software 202. When a print instruction is received from the drawing application 201, the skip control unit 206 of the extended application 204 is called. The skip control unit 206 instructs the OS or the print data generation software 202 not to perform the conversion process from intermediate data 302 to print data. Upon receiving the skip instruction from the skip control unit 206, the print data generation software 202 passes the intermediate data 302 to the print data editing unit 208 of the extended application 204 without converting the intermediate data 302 to print data. Based on the print setting information, the print data editing unit 208 performs necessary editing on the XPS data, such as layout changes for the print data, converts it to PWGRaster data 303, and sends it to the printing device 1004. The printing device 1004 prints based on the received data. However, if the print data format that the printing device 1004 can interpret includes XPS data, the print data editing unit 208 can also send the XPS data to the printing device 1004 and perform printing without converting it to another format.
[0044] In this embodiment, the XPS data before conversion will also be referred to as intermediate data 302 or pre-conversion data 302, and the data after conversion to PWGRaster data 303 will also be referred to as print data 303 or post-conversion data 303.
[0045] Next, the configuration of the printing system in an indirect communication configuration will be explained using Figure 4. Figure 4 is a schematic diagram showing an example of the printing system of this embodiment. The host computer 101, printing devices 1004 and 1005 are connected to the Internet. Cloud printing services 1001 that are not supported by printing devices 1004 and 1005, cloud printing intermediary service 1002, and cloud printing services 1003 that are supported by printing devices 1004 and 1005 (hereinafter also referred to as printing device-compatible cloud printing service 1003) are also connected to the Internet. In this embodiment, cloud printing service 1001, cloud printing intermediary service 1002, and printing device-compatible cloud printing service are collectively referred to as cloud printing-related services. Each of the services in the cloud printing-related services is a cloud server (server).
[0046] When a user logs in to the cloud printing service 1001 from the host computer 101, the host computer 101 can send print data to the cloud printing service 1001. The UP Class Driver, one of the print data generation software 202 provided by the OS, is used when sending print data from the host computer 101 to the cloud printing service 1001. By using this UP Class Driver to issue a print command, the user can execute the printing process via Universal Print (registered trademark), one of the cloud printing services 1001.
[0047] Furthermore, the cloud printing service 1003, which is compatible with the printing devices, is a cloud service that provides print services over the internet through which the printing devices 1004 and 1005 communicate. By sending print data to the cloud printing service 1003 associated with the printing devices 1004 and 1005, the printing device 1004 or 1005 can be made to execute the print process.
[0048] The cloud printing intermediary service 1002 can mediate print data between the cloud printing service 1001 and the printer-compatible cloud printing service 1003. Specifically, based on the transmission of print data from the host computer 101 to the logical printing device of the cloud printing service 1001, the cloud printing intermediary service 1002 converts the print data transmitted to the logical printing device of the cloud printing service 1001 into a format compatible with the printer-compatible cloud printing service 1003. The converted print data is then transmitted to the printer-compatible cloud printing service 1003, which in turn transmits the print data to the printer 1004 or 1005, thereby enabling the printer 1004 or 1005 to execute the printing process.
[0049] The host computer 101 and the cloud printing intermediary service 1002 can communicate with the cloud printing service 1001 via the internet. The printing devices 1004 and 1005 and the cloud printing intermediary service 1002 can communicate with the printing device-compatible cloud printing service 1003 via the internet. The host computer 101 and the printing devices 1004 and 1005 do not communicate directly, but communicate via cloud printing-related services. Specifically, the host computer 101 sends print data to the cloud printing service 1001, and the cloud printing service 1001 sends print data to the cloud printing intermediary service 1002. The cloud printing intermediary service 1002 then sends print data to the printing device-compatible cloud printing service 1003, and the printing device-compatible cloud printing service 1003 sends print data to the printing device 1004 or 1005, thereby executing the printing process on the printing device 1004 or 1005.
[0050] In this embodiment, the cloud printing service 1001 is assumed to be Universal Print (registered trademark) provided by Microsoft, but any cloud printing service provided by a company other than Microsoft may be used. Furthermore, the cloud printing intermediary service 1002 and the cloud printing service 1003 compatible with the printing device are cloud services provided by the vendor that provides (manufactures) the printing devices 1004 and 1005. Although the printing devices 1004 and 1005 in this embodiment are not compatible with the cloud printing service 1001, the printing process is executed when the print data sent from the host computer 101 is transmitted to the printing devices 1004 and 1005 via the cloud printing service 1001 through the cloud printing intermediary service 1002.
[0051] The printing system of this embodiment is not limited to the above, and only the host computer 101, the cloud printing service 1001, the cloud printing service 1003 compatible with the printer, the cloud printing intermediary service 1002, and the printers 1004 and 1005 are connected to each other via a network so that they can communicate with each other. Furthermore, the communication method on the network may be wireless or wired. In addition, the cloud printing intermediary service 1002 and the cloud printing service 1003 compatible with the printer may be a single cloud service. Also, although the printers 1004 and 1005 of this embodiment do not support the cloud printing service 1001, they may support it if they wish.
[0052] Incidentally, the cloud printing service 1003 compatible with printing devices, used when the printing method is an indirect communication method, may have printing restriction information (hereinafter referred to as printing restriction information). In other words, printing restriction information (hereinafter also referred to as restriction information) may exist in a printing system that uses the cloud printing service 1003 compatible with printing devices (i.e., the indirect communication method described above). Printing restriction information is information set in the cloud printing service 1003 compatible with printing devices, and it indicates that an error occurs in which control for executing the printing process is not executed when the information related to the print data satisfies predetermined conditions based on predetermined restriction information related to the print data.
[0053] When the cloud printing service 1003, which is compatible with the printing device, receives print data, it performs a restriction determination to determine whether the information regarding the print data satisfies predetermined conditions based on predetermined print restriction information. If the cloud printing service 1003 determines in the restriction determination that the information regarding the print data satisfies predetermined conditions based on predetermined print restriction information, it performs a process to issue a notification regarding an error that prevents the printing process from being executed. Specifically, the cloud printing service 1003 sends information regarding the error that prevents the printing process from being executed to the cloud printing intermediary service 1002 and does not send the print data to the printing device 1004 or 1005. The cloud printing intermediary service 1002 then sends the received error information to the cloud printing service 1001. The cloud printing service 1001 then issues an error notification on the cloud printing service 1001 indicating that an error has occurred that prevents the printing process from being executed, based on the received error information. Furthermore, if the cloud printing service 1003 compatible with the printing device determines in its restriction determination that the information regarding the print data does not meet predetermined conditions based on predetermined print restriction information, it transmits the print data to the printing device 1004 or 1005.
[0054] The specified print restriction information is, for example, a predetermined limit value related to print data used in restriction determination, and is a value that indicates an error has occurred in which the control necessary for the print process to be executed is not performed. The predetermined condition is a condition that indicates an error has occurred in which the print process of the print data is not executed. In other words, if it is determined that the predetermined value related to the print data exceeds the predetermined limit value related to the print data, it is determined that the information related to the print data satisfies the predetermined condition based on the specified print restriction information. For example, the predetermined value related to the print data and the predetermined limit value related to the print data are values indicating the number of pages or the data size, but they may be other values. Note that the specified print restriction information does not have to be a predetermined limit value related to the print data, but any predetermined restriction information related to the print data is acceptable.
[0055] Furthermore, if the printer-compatible cloud printing service 1003 has print restriction information, the cloud printing intermediary service 1002 may also have print restriction information. In this case, when the cloud printing intermediary service 1002 receives print data, it performs a restriction determination to determine whether the information regarding the print data satisfies predetermined conditions based on predetermined print restriction information. If the cloud printing intermediary service 1002 determines in the restriction determination that the information regarding the print data satisfies predetermined conditions based on predetermined print restriction information, it sends information regarding an error that prevents the printing process from being executed to the cloud printing service 1001 and does not send the print data to the printer-compatible cloud printing service 1003. Then, an error notification indicating that an error has occurred that prevents the printing process from being executed based on the received error information is executed on the cloud printing service 1001. Also, if the cloud printing intermediary service 1002 determines in the restriction determination that the information regarding the print data does not satisfy predetermined print restriction information, it sends the print data to the printer-compatible cloud printing service 1003. Then, the printer-compatible cloud printing service 1003 sends the print data to the printer 1004 or 1005. Furthermore, if the cloud printing service 1003 compatible with the printing device has print restriction information, the cloud printing intermediary service 1002 does not need to have print restriction information.
[0056] Furthermore, if an error notification is displayed on the cloud printing service 1001, the user can recognize the error notification displayed on the cloud printing service 1001 by logging into the cloud printing service 1001.
[0057] However, in the above configuration, the user becomes aware of the error only after the print data has already been sent from the extended application 204, resulting in a delay before the user recognizes the error. Furthermore, the user can only recognize the error notification when logged into the cloud printing service 1001, which reduces usability.
[0058] In this embodiment, before sending print data to the cloud printing service 1001, the extended application 204 obtains print restriction information from the cloud printing intermediary service 1002 or the cloud printing service 1003 compatible with the printing device, and determines whether the information regarding the print data satisfies predetermined conditions based on the print restriction information. If the values regarding the print data satisfy the predetermined conditions based on the print restriction information, the extended application 204 executes a process to notify the user of the error and does not send the print data to the cloud printing service 1001. If the values regarding the print data do not satisfy the print restriction information, the extended application 204 sends the print data to the cloud printing service 1001. This reduces the time it takes for the user to recognize the occurrence of an error. Furthermore, since the user can recognize the error notification without logging into the cloud printing service 1001, usability is improved.
[0059] Furthermore, as a process for notifying of the occurrence of an error executed in the extended application 204, the extended application 204 may not execute the error notification itself, but rather have the extended application 204 have another program capable of executing notification processing on the information processing device execute the notification.
[0060] Figure 5 is a flowchart of the operations performed by the print data editing unit 208 of the extended application 204 in this printing system. The processing in this flowchart begins when a print command is issued by the user and intermediate data 302 is sent from the print data generation software 202. Hereafter, the print data editing unit 208 of the extended application 204 may be described as the main entity for each process, but in reality, the corresponding functions are realized by the CPU 111 executing the corresponding program.
[0061] In S501, the print data editing unit 208 obtains intermediate data 302 from the print data generation software 202. In this embodiment, the intermediate data 302 is obtained in the form shown in Figure 3(c) above, and the obtained intermediate data 302 is assumed to be XPS data. However, the print data 303 may be obtained in the form shown in Figure 3(b) above, and the obtained print data 303 may be PWGRaster data.
[0062] In S502, the print data editing unit 208 converts the acquired intermediate data 302 into converted data 303, which is in a format that the printing device 1004 can interpret. Here, the converted data 303 is PWGRaster data. In S502, editing processing such as layout modification is performed on the intermediate data 302 based on the print setting information included in the print instruction.
[0063] In S503, the print data editing unit 208 queries the OS using an API to obtain the name information of the print queue associated with the extended application 204, and retrieves it as information about the name of the printing device. Alternatively, the print data editing unit 208 may issue the IPP Get-Printer-Attributes operation to the printing device 1004 and obtain the information about the name of the printing device 1004 as returned information. For example, it may obtain "Printer A" as information about the name of the printing device. Note that in S503, the IPP Get-Printer-Attributes operation described later in S504 may also be issued to obtain information about the name of the printing device.
[0064] In S504, the print data editing unit 208 issues an IPP Get-Printer-Attributes operation to the printing device 1004 to obtain information about the type of printing device, thereby identifying the type of printing device. For example, suppose the print data editing unit 208 obtains information indicating that the consumable is ink as the return information from the Get-Printer-Attributes operation. In this case, based on the information about the consumable, the print data editing unit 208 identifies that the type of printing device for printer A is an inkjet printer. The types of printing devices that can be identified include inkjet printers and laser beam printers. In addition, types of printing devices include MFPs (Multi Function Printers) equipped with scanner and fax functions, and SFPs (Single Function Printers) equipped only with printing functions. Furthermore, even among inkjet and laser beam printers, it may be possible to identify whether they are printers intended for general consumers or office use, or printers intended for specialized use cases such as large-format printing used for drawings and advertisements.
[0065] In S505, the print data editing unit 208 identifies the connection configuration for the printing process. Specifically, the print data editing unit 208 identifies whether the print data generation software 202 associated with the extended application 204 is an IPP Class Driver or a UP Class Driver. This process will be explained in detail. First, in S504, when the print data editing unit 208 issues the IPP Get-Printer-Attributes operation to the printing device 1004, it obtains the device ID of the printing device 1004. The device ID is accompanied by information indicating whether the print data generation software 202 associated with the extended application 204 is an IPP Class Driver or a UP Class Driver (for example, information indicating a prefix). Therefore, the print data editing unit 208 refers to, for example, the prefix of the device ID and identifies whether the print data generation software 202 associated with the extended application 204 is an IPP Class Driver or a UP Class Driver. The print data editing unit 208 identifies the connection type as direct communication if the extended application 204 is associated with an IPP Class Driver. The print data editing unit 208 also identifies the connection type as indirect communication if the extended application 204 is associated with a UP Class Driver. Whether the print data generation software 202 to which the extended application 204 is associated is an IPP Class Driver or a UP Class Driver may be identified and stored at the time the extended application 204 is associated with the Class Driver. In this case, the print data editing unit 208 may obtain information in S505 regarding whether the Class Driver to which the extended application 204 is associated is an IPP Class Driver or a UP Class Driver from a storage unit such as RAM.Furthermore, whether the print data generation software 202 to which the extended application 204 is associated is an IPP Class Driver or an UP Class Driver may be identified and remembered at the time the extended application 204 is first launched after being associated with a Class Driver.
[0066] In S506, the print data editing unit 208 obtains a list containing information about print restrictions (hereinafter also referred to as the print restriction target list) from the shared information 210. The print restriction target list is a list containing information indicating whether or not print restrictions exist in a given printing system, based on at least one of the following pieces of information: information about the name of the printing device, information about the type of printing device, and information about the connection configuration of the printing device. The stored information may also be information indicating whether or not print restrictions exist based on a combination of the information about the name of the printing device, information about the type of printing device, and information about the connection configuration of the printing device. The print restriction target list is assumed to be pre-stored in the shared information 210 when the extended application 204 is generated by the vendor, based on the print restriction information of the cloud printing intermediary service 1002 or the printing device-compatible cloud printing service 1003 provided by the same vendor. The print restriction target list will now be explained in detail using Figure 6.
[0067] Figure 6 shows an example of a print restriction list, where information indicating whether or not a print restriction exists is stored when information about the type of printing device and the connection method are combined. For example, if the type of printing device is an inkjet printer and the connection method is indirect communication, it indicates that a print restriction exists. Also, if the type of printing device is a laser beam printer and the connection method is indirect communication, it indicates that there is no print restriction.
[0068] Let's return to Figure 5 for explanation. In S507, the print data editing unit 208 determines whether the printing system including the extended application 204 is a printing system for which print restriction information exists. Specifically, the print data editing unit 208 refers to the print restriction target list obtained in S506 and determines whether the printing system including the extended application 204 is a printing system for which print restriction information exists, based on the information regarding the name of the printing device obtained in S503, the information regarding the type of printing device obtained in S504, the information regarding the connection configuration of the printing device obtained in S505, and combinations of each piece of information. In other words, it determines whether or not it is a printing system that includes the printing device-compatible cloud printing service 1003. For example, this determination includes determining (identifying) whether the type of printing device identified in S504 is an inkjet printer or a laser beam printer. More specifically, for example, if the print restriction target list is Figure 6, and the type of printing device is identified as an inkjet printer in S504, and the connection configuration is identified as an indirect communication configuration in S505, then it is determined that it is a printing system for which print restriction information exists. For example, if the print restriction target list is as shown in Figure 6, and in S504 the type of printing device is identified as a laser beam printer, and in S505 the connection type is identified as an indirect communication type, then it is determined that the system does not fall under the category of a printing system in which print restriction information exists. Here, if the type of printing device is a laser beam printer, in the case of cloud printing, the host computer 101 and the printing devices 1004 and 1005 may communicate only through the cloud printing service 1001, without going through the cloud printing intermediary service 1002 or the printing device-compatible cloud printing service 1003. Therefore, if the type of printing device is identified as a laser beam printer in S504, and in S505 the connection type is identified as an indirect communication type, then it is determined that the system does not fall under the category of a printing system in which print restriction information exists. Furthermore, if the connection type is a direct communication type, then since it is not a printing system that includes the printing device-compatible cloud printing service 1003, it is determined that the system does not have print restriction information (determined as NO in S507).If the result in S507 is YES, proceed to S508; if the result in S507 is NO, proceed to S509.
[0069] In S508, the print data editing unit 208 obtains a list containing print restriction information values (hereinafter also referred to as the print restriction detail list) from the shared information 210. The print restriction detail list contains predetermined restriction information related to print data. For example, predetermined restriction values related to print data are stored as predetermined restriction information. Specific predetermined restriction values include, for example, the number of printable pages, the printable data size, and the printable data format. The printable data size may be on a job-by-job basis or on a page-by-page basis. The print restriction detail list will be explained in detail using Figure 7. In Figure 7, the number of printable pages is stored as a predetermined restriction value, indicating that the number of printable pages is 100. Also, the printable data size is stored as a predetermined restriction value, indicating that the printable data size is 100MB. In the print restriction target list shown in Figure 6, YES or NO is indicated in the column for the existence of a restriction, but a restriction value may also be entered in the column for the existence of a restriction, in which case it is not necessary to obtain the print restriction detail list again from the shared information 210 in S508.
[0070] In S509, the print data editing unit 208 obtains information corresponding to predetermined restriction information, specifically information about the print data in the converted data 303, from the converted data 303. For example, if the print restriction details list is Figure 7, the values for the number of pages and data size in the converted data 303 are obtained, respectively. Alternatively, information about the print data may be obtained from the intermediate data 302 instead of the converted data 303.
[0071] In S510, the print data editing unit 208 determines whether the information corresponding to predetermined restriction information and the information regarding the print data in the converted data 303 exceeds the predetermined restriction information stored in the print restriction details list. For example, if the print restriction details list is Figure 7, the print data editing unit 208 determines whether the number of pages in the converted data 303 exceeds 100 (101 or more). The print data editing unit 208 also determines whether the data size of the converted data 303 exceeds 100MB. If the result in S510 is YES, the process proceeds to S511; if the result in S510 is NO, the process proceeds to S512. If there are multiple pieces of information in the print restriction details list that correspond to predetermined restriction information and concern the print data in the converted data 303, the result in S510 is YES if at least one of these pieces of information exceeds the predetermined restriction information stored in the print restriction details list.
[0072] In S511, the print data editing unit 208 outputs (displays) a notification (hereinafter also called an error notification) indicating that an error has occurred via the display unit 119. Figure 8 is an example of an error notification displayed by the print data editing unit 208 on the display unit 119. In Figure 8, the notification screen displays information indicating that printing has failed and the reason why printing failed. For example, if the print restriction details list is Figure 7, and the number of pages in the converted data 303 exceeds 100, and the data size exceeds 100MB, notification screen 801 is displayed. Also, if the print restriction details list is Figure 7, and the number of pages in the converted data 303 exceeds 100, and the data size does not exceed 100MB, notification screen 802 is displayed. Furthermore, if the print restriction details list is Figure 7, and the number of pages in the converted data 303 does not exceed 100, and the data size exceeds 100MB, notification screen 803 is displayed. In other words, the content of the notification may be changed depending on the reason why printing failed. Furthermore, although the notification screen is shown to display the reason for the printing failure, in reality, in S511, the converted data 303 is not sent to the cloud printing service 1001, so the notification screen may display information indicating that the print data cannot be sent. In this embodiment, it is assumed that the error notification is displayed on the display unit 119 provided on the host computer 101, but for example, the print data editing unit 208 may send a command to the printing device 1004 indicating that it falls under the printing restriction, and the error notification may be displayed on the display unit provided on the printing device 1004. Alternatively, the print data editing unit 208 may send an instruction command to a program other than the extended application 204 on the host computer 101 to execute the error notification, and the error notification may be executed by that program. In addition, in Figure 8, the notification screen displays information indicating that printing failed and the reason for the printing failure, but it may also display information such as the name of the print job that failed, the name of the printing device that failed to print, the type of printing device, and the connection configuration, or at least one of the above-mentioned pieces of information may be displayed.Furthermore, the output of a notification indicating that an error has occurred does not necessarily have to be via the display unit 119; for example, if the host computer 101 is equipped with an audio unit, it may be output via the audio unit.
[0073] Let's return to Figure 5 for explanation. In S512, the print data editing unit 208, based on the fact that the OK button on the notification screen in Figure 8 was pressed, executes control to prevent the printing process of the converted data 303 from being executed. Specifically, the print data editing unit 208 executes control to prevent the converted data 303 from being sent to the specified printing device 1004 or 1005, or to the cloud printing service 1001, and terminates the processing of this flowchart. Note that if the connection method is direct communication, control may be executed to prevent the converted data 303 from being sent to the specified printing device 1004 or 1005. Also, if the connection method is indirect communication, control may be executed to prevent the converted data 303 from being sent to the cloud printing service 1001.
[0074] If the answer is NO in S507 or NO in S510, in S513, the print data editing unit 208 executes control to execute the printing process of the converted data 303. Specifically, the print data editing unit 208 executes control to send the converted data 303 to the specified printing device 1004 or 1005, or to the cloud printing service 1001, and terminates the processing of this flowchart. For example, if the type of printing device is a laser beam printer and indirect communication is used, the print data editing unit 208 sends the converted data 303 to the cloud printing service 1001. Subsequently, the converted data 303 is sent from the cloud printing service 1001 to the printing device 1004 or 1005. Alternatively, if the type of printing device is an inkjet printer and indirect communication is used, and a predetermined value related to the print data does not exceed a predetermined limit value, the print data editing unit 208 sends the converted data 303 to the cloud printing service 1001. Subsequently, the converted data 303 is transmitted from the cloud printing service 1001 to the printing device 1004 or 1005 via the cloud printing intermediary service 1002 or the printing device-compatible cloud printing service 1003. Note that if the connection is in the direct communication mode, control may be executed to transmit the converted data 303 to the specified printing device 1004 or 1005. Also, if the connection is in the indirect communication mode, control may be executed to transmit the converted data 303 to the cloud printing service 1001.
[0075] In the above embodiment, the extended application 204 obtains information regarding print restrictions before sending the print data to the cloud printing service 1001, and determines whether the information regarding the print data satisfies predetermined conditions based on the print restriction information. If the information regarding the print data satisfies the predetermined conditions based on the print restriction information, the extended application 204 notifies the user of the error and interrupts the transmission of the print data to the cloud printing service 1001. If the information regarding the print data does not satisfy the predetermined restriction information regarding the print data, the extended application 204 sends the print data to the cloud printing service 1001. This reduces the time it takes for the user to recognize the occurrence of an error. Furthermore, since the user can recognize the error notification without logging into the cloud printing service 1001, usability is improved.
[0076] In the embodiment described above, the print data editing unit 208 obtained the print restriction target list and the print restriction details list from the shared information 210 within the extended application 204. However, it is also possible to set up a server outside the host computer 101 that pre-stores the print restriction target list and the print restriction details list, and to set up a server separate from the cloud printing-related service, and for the print data editing unit 208 to obtain the print restriction target list and the print restriction details list by querying this server. In this case, the server is connected to the internet and can communicate with the host computer 101. This reduces the effort required to update the extended application 204 when the restriction target list and the print restriction details list are updated. When the print restriction target list and the print restriction details list are obtained from an external server, they may be stored in the shared information 210, in which case they can be obtained from the shared information 210 on subsequent occasions.
[0077] (Second embodiment) In the first embodiment, the print data editing unit 208 obtained the print restriction details list from shared information 210 within the extended application 204 or from an external server. In this configuration, for example, if the print restrictions set in the cloud print mediation service 1002 or the cloud printing service 1003 compatible with the printer device are updated, the print restriction details list in the extended application 204 or the external server also needs to be updated in conjunction with the update of the print restrictions. However, while the update of the print restriction details list is being performed, there is a time lag until it matches the print restriction values set in the cloud print mediation service 1002 or the cloud printing service 1003 compatible with the printer device, and there may be a period of time when the print restriction values listed in the print restriction details list differ from the actual print restriction values set in the cloud print mediation service 1002 or the cloud printing service 1003 compatible with the printer device. In addition, the update of the print restriction details list is time-consuming. Therefore, in this embodiment, depending on the connection configuration in the printing process, the system switches between obtaining the print restriction details list from shared information 210 or from the cloud print mediation service 1002 or the cloud printing service 1003 compatible with the printer device. Specifically, if the connection is a direct communication type, the print restriction details list is obtained from the shared information 210, and if the connection is an indirect communication type, the print restriction details list is obtained from the cloud printing-related service. The print restriction details list may be obtained from the cloud printing intermediary service 1002 or from the printing device-compatible cloud printing service 1003 among the cloud printing-related services. In this embodiment, configurations not specifically mentioned in the following description are processed the same as in Embodiment 1, so their description is omitted.
[0078] Figure 9 is a flowchart of the operations performed by the print data editing unit 208 of the extended application 204 in this printing system. The processing in this flowchart begins when a print command is issued by the user and intermediate data 302 is sent from the print data generation software 202. Hereafter, the print data editing unit 208 of the extended application 204 may be described as the main entity for each process, but in reality, the corresponding functions are realized by the CPU 111 executing the corresponding program.
[0079] The processes in S901 to S906 are the same as those in S501 to S506 in Figure 5, so their explanation will be omitted.
[0080] In S907, the print data editing unit 208 refers to the print restriction list obtained in S906 during the printing process and determines whether each piece of information or combinations of each piece of information corresponds to a printing system in which print restriction information exists, based on the information regarding the name of the printing device obtained in S903, the information regarding the type of printing device obtained in S904, and the information regarding the connection type obtained in S905. In other words, it determines whether or not it is a printing system that includes the printing device-compatible cloud printing service 1003. If the result in S907 is YES, the process proceeds to S911; if the result in S907 is NO, the process proceeds to S908. Specifically, the case where the obtained print restriction information list is as shown in Figure 6 will be explained as an example. Figure 6 shows that when the type of printing device is an inkjet printer and the connection type is indirect communication, it corresponds to a printing system in which print restriction information exists. Using the information regarding the type of printing device and the connection type obtained up to S905, and the print restriction information list shown in Figure 6, the print data editing unit 208 determines that if the inkjet printer uses indirect communication, it corresponds to a printing system in which print restriction information exists. Furthermore, Figure 6 shows that when the type of printing device is a laser beam printer and the connection method is indirect communication, it does not fall under the category of a printing system with print restriction information. In this case, the print data editing unit 208 uses the information on the type of printing device and the connection method obtained up to S905, along with the list of print restriction target information shown in Figure 6, to determine that when a laser beam printer uses indirect communication, it does not fall under the category of a printing system with print restriction information.
[0081] In S908, the print data editing unit 208 determines whether the connection type is direct communication or indirect communication. If the result in S908 is YES, the process proceeds to S917; if the result in S908 is NO, the process proceeds to S909. If the connection type is indirect (if the result in S908 is YES), the print data editing unit 208 can determine, based on the processing in S907 and S908, that the system does not belong to a printing system with print restriction information, and therefore proceeds to S917. For example, if the print restriction target information list shown in Figure 6 is obtained, and the laser beam printer uses indirect communication based on the information on the type of printing device and the connection type obtained up to S905, then the result in S908 is YES.
[0082] Since steps S909 to S910 are the same as steps S507 to S508 in Figure 5, their explanation will be omitted.
[0083] In S911, the print data editing unit 208 obtains information about the type of cloud printing service in order to determine from which cloud printing service the print restriction details list should be obtained. The type of cloud printing service refers to information indicating either the cloud printing intermediary service 1002 or the printer-compatible cloud printing service 1003. Specifically, the print data editing unit 208 obtains the printer-compatible cloud printing service list shown in Figure 10 from the shared information 210. The printer-compatible cloud printing service list is a list that indicates from which cloud printing service the print restriction details list should be obtained, based on information about the name of the printer, information about the type of printer, information about the connection configuration of the printer, and combinations of these pieces of information. The print data editing unit 208 refers to Figure 10 and identifies the type of cloud printing service from which the print restriction details list should be obtained, based on the information about the name of the printer, information about the type of printer, information about the connection configuration of the printer, and combinations of these pieces of information obtained in the processing up to S905 of this flowchart. For example, if the combination of information regarding the type of printing device and the connection method obtained by the print data editing unit 208 in the processing up to S905 of this flowchart is an inkjet printer and indirect communication method, then the type of cloud printing-related service from which to obtain the print restriction details list from the print device-compatible cloud printing service list in Figure 10 is identified as cloud printing intermediary service A. Note that cloud printing intermediary service A is an example of the name of cloud printing intermediary service 1002, and its inclusion in the print device-compatible cloud printing service list indicates that print restrictions are also imposed on print device-compatible cloud printing service 1003, which is associated with cloud printing intermediary service A. Note that the print device-compatible cloud printing service list may also include an example of the name of print device-compatible cloud printing service 1003.
[0084] In S912, the print data editing unit 208 obtains print restriction details from a cloud printing-related service identified based on the list of cloud printing services compatible with the printing device. For example, if the combination of information regarding the type of printing device and the connection method obtained by the print data editing unit 208 in the processing up to S905 of this flowchart is information indicating an inkjet printer and information indicating an indirect communication method, then the print restriction details are obtained from cloud printing intermediary service A in Figure 10.
[0085] Since steps S913 to S917 are the same as steps S509 to S513 in Figure 5, their explanation will be omitted.
[0086] As a result, depending on the connection configuration during the printing process, it is possible to switch between obtaining the detailed print restriction list from shared information 210 or from the cloud printing service 1003 compatible with the printing device. This reduces the time when the print restriction values listed in the detailed print restriction list differ from the actual print restriction values set in the cloud printing service 1003 compatible with the printing device. It also eliminates the need to manually update the detailed print restriction list.
[0087] (Other embodiments) The embodiments described above can also be realized by performing the following process: supplying software (programs) that realize the functions of the embodiments described above to a system or device via a network or various storage media, and having the computer (CPU, MPU, etc.) of that system or device read and execute the program. The program may be executed on a single computer or executed in conjunction with multiple computers. Furthermore, it is not necessary to realize all of the above processes in software; some or all of the processes may be realized in hardware such as ASICs. Also, the CPU is not limited to one CPU that performs all the processing; multiple CPUs may perform the processing in coordination as appropriate.
[0088] Furthermore, the functionality of the aforementioned embodiment is not only realized by the execution of program code read by the computer. It also includes cases where the operating system running on the computer performs some or all of the actual processing based on the instructions of that program code, and the functionality of the aforementioned embodiment is realized through that processing. [Explanation of symbols]
[0089] 101 Host computer 1004 Printing device 202 Print Data Generation Software 204 Extended Applications
Claims
1. It is a program, In the computer of the information processing device that can communicate with the printing device, A first acquisition step of acquiring print data on which the printing process is performed by the printing device, A second acquisition step involves acquiring printing restriction information from a server located outside the information processing device and capable of communicating with the printing device. If the information regarding the print data satisfies predetermined conditions based on the aforementioned restriction information, a notification step is performed to execute a notification regarding an error in which the print process is not executed. If the information regarding the print data does not satisfy the aforementioned restriction information, a transmission step is performed to transmit the print data to the printing device via the server without performing the notification process. A program characterized by causing the execution of a specific action.
2. The program according to claim 1, characterized in that if the information regarding the print data satisfies predetermined conditions based on the restriction information, it executes control to prevent the print data from being transmitted to the printing device.
3. The program according to claim 1, characterized in that, in the transmission step, the print data is transmitted to the printing device via an external server different from the server, without going through the server.
4. To the aforementioned computer, A third acquisition step involves acquiring information about the printing apparatus. The computer is further instructed to perform a first determination step of determining whether the system relating to the printing device is a system including the server, based on the information relating to the printing device. If the system relating to the printing device is determined to be a system including the server, the restriction information is acquired, The program according to any one of claims 1 to 3, characterized in that, if it is determined that the system relating to the printing device does not fall under the category of a system including the server, it does not acquire the restriction information and does not perform the notification process, and instead performs a transmission process for sending the print data to the printing device.
5. The program according to any one of claims 1 to 4, characterized in that the restriction information is obtained from a shared information section stored in the program.
6. The program according to any one of claims 1 to 5, characterized in that the restriction information is obtained from an external server located outside the information processing device and different from the server.
7. The program according to any one of claims 1 to 5, characterized in that the aforementioned restriction information is obtained from the server.
8. The program according to any one of claims 1 to 7, characterized in that the limitation information includes at least one of a value indicating the number of pages of the print data and a value indicating the data size.
9. The program according to claim 4, wherein the information relating to the printing apparatus includes at least one of the following: information relating to the name of the printing apparatus, information relating to the type of the printing apparatus, and information relating to the connection configuration between the printing apparatus and the information processing apparatus.
10. The program according to claim 9, wherein the information relating to the connection configuration includes at least one of the following: information indicating a first connection configuration in which the printing device and the information processing device can communicate without going through the cloud; and information indicating a second connection configuration in which the printing device and the information processing device can communicate via the cloud.
11. The program according to claim 9, characterized in that the information relating to the type of printing device is at least one of the following: information indicating that the printing device is an inkjet printer and information indicating that it is a laser beam printer.
12. The program according to claim 4, characterized in that, if the information regarding the type of printing device included in the information regarding the printing device is information indicating that it is a laser beam printer, in the first determination step it is determined that it does not fall under a system including the server, in the second acquisition step the restriction information is not acquired and the notification step is not performed and a transmission process is performed to send the print data to the printing device.
13. If the information regarding the type of printing device included in the information regarding the printing device is information indicating that it is an inkjet printer, then in the first determination step, it is determined that it corresponds to a system including the server, and the second acquisition step is executed. If the second acquisition step is performed, the computer is further instructed to perform a second determination step to determine whether the information regarding the print data satisfies predetermined conditions based on the restriction information. If, in the second determination step, it is determined that the information regarding the print data satisfies predetermined conditions based on the restriction information, the notification step is executed, and control is performed to prevent the print data from being transmitted to the printing device. The program according to claim 4, characterized in that, if it is determined in the second determination step that the information regarding the print data does not satisfy predetermined conditions based on the restriction information, it executes a transmission process to send the print data to the printing device without executing the notification process.
14. The program according to any one of claims 1 to 13, characterized in that the print data is in a data format before it is converted into data that can be interpreted by the printing device.
15. The program according to any one of claims 1 to 13, characterized in that the print data is data that can be interpreted by the printing device.
16. The server is either a first server or a second server that can communicate with each other. The program according to any one of claims 1 to 15, characterized in that the restriction information is restriction information relating to either the first server or the second server.
17. The program according to claim 16, characterized in that the first server is a server that cannot communicate with a third server with which the printing device cannot communicate, and the second server is a server that can communicate with the third server.
18. The program according to any one of claims 1 to 17, characterized in that the predetermined condition is a condition that indicates an error occurs in which the printing process of the print data is not executed.
19. An information processing device capable of communicating with a printing device, A first acquisition means for acquiring print data on which the printing process is performed by the aforementioned printing device, A second acquisition means for acquiring printing restriction information from a server located outside the information processing device and capable of communicating with the printing device, If the information regarding the print data satisfies predetermined conditions based on the aforementioned restriction information, a notification means performs a notification process to provide notification regarding an error in which the print process is not executed. An information processing apparatus comprising: a transmission means that, if the information relating to the print data does not satisfy the aforementioned restriction information, performs a transmission process to send the print data to the printing device via the server without performing the notification process.
20. A control method for an information processing device that can communicate with a printing device, A first acquisition step of acquiring print data on which the printing process is performed by the printing device, A second acquisition step involves acquiring printing restriction information from a server located outside the information processing device and capable of communicating with the printing device. If the information regarding the print data satisfies predetermined conditions based on the aforementioned restriction information, a notification step is performed to execute a notification regarding an error in which the print process is not executed. A control method characterized by having a transmission step of executing a transmission process to send the print data to the printing device via the server without executing the notification process if the information regarding the print data does not satisfy the restriction information.
Citation Information
Patent Citations
Status monitor
JP2001309104A
Program and terminal device
JP2017182181A
Print server, printing system, and program
JP2018060541A
Image forming apparatus and program
JP6672596B2