INFORMATION PROCESSING DEVICE SETTING VALUE FOR PRINT JOB ON THE BASIS OF SETTINGS INFORMATION ACQUIRED FROM EXTERNAL DEVICE

An information processing device has an operating system and a support program installed thereon. The operating system includes a general-purpose program. The support program is for acquiring, from an external device, settings information indicating whether stored printing is to be performed. The stored printing defines a sequence of printing in which, after the printer stores image data, the printer performs printing based on the stored image when a printing condition is satisfied. The support program is for setting, when the general-purpose program receives a print instruction from an editing application program, a setting value for a print job so that the setting value indicates that the stored printing is to be performed if the settings information indicates that the stored printing is to be performed. The support program is for sending the print job and identification information for the print job to the printer.

BACKGROUND ART

In recent years, practical technologies have been developed for controlling printers without the use of a printer driver. One such technology utilizes a printing program that is embedded in the operating system (OS) as standard. In this technology, the OS associates a printer with the OS-standard printing program. When printing instructions are received for this printer thereafter, the OS-standard printing program can print without the need for a printer driver.

Further, some printers that print image data received from external devices are known to be capable of performing stored printing, for example. In stored printing, the printer does not immediately print image data upon receipt but rather saves the image data or converts the image data and then saves the converted data. The printer subsequently prints the stored image data when printing conditions such as authentication have been met.

DESCRIPTION

Stored printing described above tends to be used in systems requiring a high level of security, and in such systems, it is desirable for operations to be uniform throughout the entire system. However, when an information processing device accepts a setting for stored printing in each print job, the printer driver installed on the information processing device receives the setting for stored printing, making it difficult to achieve consistent operations for stored printing on all information processing devices in the system. Moreover, OS-standard general-purpose printing programs cannot even accept settings for stored printing since stored printing is a printer-specific function.

In view of the foregoing, it is an object of the present invention to provide a technology for an information processing device on which an OS-standard general-purpose printing program is installed for facilitating operations of stored printing that are consistent with those on other information processing devices.

In order to attain the above and other objects, according to one aspect, the present disclosure provides a non-transitory computer readable storage medium storing a support program installed on and executed by a computer included in an information processing device on which an operating system is installed. The operating system includes a general-purpose program embedded therein. The support program supports the general-purpose program and is associated with a printer communicable with the information processing device. The support program, when executed by the computer, causes the information processing device to perform: an acquisition process of acquiring, from an external device, settings information indicating whether or not stored printing is to be performed, the stored printing defining a sequence of printing in which, after the printer stores received image data or image data converted from the received image data, the printer performs printing based on the stored image when a printing condition is satisfied; a setting process of setting, when the general-purpose program receives a print instruction to perform printing using the printer from an editing application program installed on the information processing device, a setting value for a print job based on the print instruction so that the setting value indicates that the stored printing is to be performed if the settings information indicates that the stored printing is to be performed; and a sending process of sending the print job and identification information for the print job to the printer.

According to another aspect, the present disclosure provides a system. The system includes a printer, and an information processing device. The printer is configured to perform stored printing. The stored printing defines a sequence of printing in which, after the printer stores received image data or image data converted from the received image data therein, the printer performs printing based on the stored image data when a printing condition is satisfied. The information processing device is communicable with the printer. The information processing device is configured to perform: an acquisition process of acquiring, from an external device, settings information indicating whether or not stored printing is to be performed, the stored printing defining a sequence of printing in which, after the printer stores received image data or image data converted from the received image data therein, the printer performs printing based on the stored image data on the printing condition; a setting process of setting, when the general-purpose program receives a print instruction to perform printing using the printer from an editing application program installed on the information processing device, a setting value for a print job based on the print instruction so that the setting value indicates that the stored printing is to be performed if the settings information indicates that the stored printing is to be performed; and a sending process of sending the print job and identification information for the print job to the printer.

In the above structure, in an information processing device incorporating the auxiliary program, the operations for stored print are made uniform throughout the entire system.

An embodiment of a personal computer (PC) using a support program will be described while referring accompanied drawings. The following description discloses a printing system including a printer having a printing function, and the PC that is electrically connected to the printer. The PC stores a support program to be executed thereby. The support program can communicate with the printer.

FIG.1shows a printing system100according to the present embodiment that is employed in an office, for example. As shown inFIG.1, the printing system100includes a plurality of personal computers (PCs1and3in this embodiment) and a printer2, which are all connected to a network4. The PCs1and3are examples of the information processing device. The printer2is a device possessing a print function. The printer2is connected to and capable of communicating with a plurality of information processing devices (the PCs1and3in this embodiment). However, the number of information processing devices connected to the printer2is not limited to this example. Further, the information processing devices are not limited to PCs but may be mobile terminals, such as smartphones and tablet computers. Because the PC1and PC3in this example have a similar configuration, the following description will focus on the configuration of the PC1.

As shown inFIG.1, the PC1of this embodiment is provided with a controller10that includes a CPU11, and a memory12. The CPU11is an example of the computer. The PC1is also provided with a user interface13, and a communication interface14, both of which are electrically connected to the controller10. Note that the controller10inFIG.1is a general concept that covers all hardware and software used for controlling the PC1and may not be a single piece of hardware present in the PC1.

The CPU11executes various processes according to programs read from the memory12with user operations. The memory12stores various data and various programs including various application programs (hereinafter also referred to as “apps”). The buffer provided in the CPU11is an example of the memory. The memory12is used as a work area for executing various processes. Examples of the memory12may be ROM, RAM, a hard disk drive, or the like built into the PC1or may be any storage medium that is readable and writable by the CPU11, such as CD-ROM, DVD-ROM, or other storage media.

The user interface13includes hardware that displays screens for reporting information to the user, and hardware that receives operations performed by the user. The user interface13may be a set of devices that includes a display capable of displaying information; and a mouse, keyboard, and the like with input-receiving functions. Alternatively, the user interface13may be a touchscreen that is provided with both a display function and an input-receiving function.

The communication interface14includes hardware for communicating with an external device, such as the printer2. The communication standard employed by the communication interface14may be Ethernet (registered trademark), Wi-Fi (registered trademark), Universal Serial Bus (USB), or the like. Alternatively, the PC1may be provided with a plurality of communication interfaces14supporting a plurality of communication standards.

As shown inFIG.1, the memory12of the PC1stores an operating system (hereinafter “OS”)21, an auxiliary program42, and an editing app43. The OS21includes a general-purpose printing program41. The OS21may be one of Windows (U.S. trademark of Microsoft Corporation), macOS (U.S. trademark of Apple Inc.), LINUX (U.S. trademark of Torvalds, Linus), iOS (U.S. trademark of Cisco Technology, Inc.), and Android (U.S. trademark of Google LLC Limited), for example. The auxiliary program42is an example of the support program. The editing app43is an example of the editing application.

The general-purpose printing program41is an OS-standard program for printing on various printers, including the printer2, in accordance with user instructions. In the present embodiment, the general-purpose printing program41includes a function for generating intermediate image data based on the image data to be printed.

The general-purpose printing program41supports functions that are generally or universally available on printers of a plurality of models provided by various printer vendors. The general-purpose printing program41does not support all functions that are specific to the various types of printers but rather limits support to generic functions available on all printers.

The auxiliary program42is a program or a set of programs that execute processes based on instructions from the OS21in conjunction with the process of the general-purpose printing program41and is an application that provides support for controlling the target hardware. The auxiliary program42of the present embodiment supports the model of printer2connected to the PC1. The auxiliary program42is started from the general-purpose printing program41when the OS21receives an instruction to execute a print on the printer2using the general-purpose printing program41, for example. The auxiliary program42is called a hardware support application (HSA), for example.

The auxiliary program42can receive various types of commands from the general-purpose printing program41and executes various processes based on those commands. The auxiliary program42may be a combination of a plurality of programs each receives execution commands or may be a single program capable of executing different processes according to the received command.

The vendors of printers may prepare auxiliary programs for each type of printer. For example, one auxiliary program may be prepared for inkjet printers and another auxiliary program may be prepared for laser printers. When a new printer is connected to the PC1, for example, the OS21of the PC1downloads an auxiliary program suited to the type of the connected printer from a server or the like and installs the program on the PC1. Next, the OS21stores identification information for the installed auxiliary program in the memory12in association with printer information on the newly connected printer. Note that an auxiliary program may be prepared for each model of printer or for each model series, rather than each type of printer.

The editing app43is used for creating and editing image data and document data, for example. Examples of the editing app43include Word and PowerPoint developed by Microsoft (U.S. trademark of Microsoft Corporation), or an app developed by the vendor of the printer2. The editing app43accepts user operations that include instructions to execute prescribed operations on the printer2. Specifically, the editing app43receives print execution instructions via the user interface13for executing printing operations on the printer2, for example.

The printer2receives a print job from the PC1or the like and executes printing based on the received print job, for example. The print job includes image data, print settings, job identification information for identifying the print job, and user information for identifying the logged-in user who sent the print job, for example. The job identification information is an example of the identification information for the print job.

The printer2receives print settings or changes to print settings via a control panel or an administrator terminal that manages the printer2and stores these settings. The print settings include a setting related to stored printing. The stored printing or stored print is a printing procedure executed by the printer2. According to this printing procedure, the printer2does not immediately perform printing upon receiving image data but rather stores the received image data or converts the image data and stores the converted data and later prints based on the stored data when a printing condition is met. The printing condition may include a condition that the a print instruction is inputted, that an appropriate password is inputted, or that a user logs into the printer2, for example. Such stored printing tends to be used in systems requiring a high level of security, and the operations for the stored printing are preferably made uniform throughout the entire system. The printer2is provided with an embedded web server (EWS)221, which manages settings information regarding whether to perform stored printing.

The setting for the stored printing (hereinafter, referred to as the stored-print setting) is a print setting that is specific to the printer2and is not supported by the general-purpose printing program41. The PC1can receive a stored-print setting in each print job through the auxiliary program42. The PC1may receive a stored-print setting that differs from the stored-print setting saved on the printer2.

Next, a printing procedure that includes operations of the auxiliary program42according to the present embodiment will be described with reference to the sequence charts inFIGS.2and3.FIGS.2and3show operations performed when the auxiliary program42supporting the printer2is installed on the PC1and when an application such as the editing app43, which accepts a print instruction, receives a print execution instruction to execute printing on the printer2using the general-purpose printing program41.

The processes in the present embodiment and process steps in the flowcharts essentially indicate processes performed by the CPU11according to commands described in the auxiliary program42and other programs. Processes performed by the CPU11include hardware control using the API in the OS21. A detailed description of the role of the OS21is omitted in this specification when describing operations according to the programs. Further, the term “acquire” is used as a concept that does not necessarily require a request.

The editing app43receives instructions from the user for creating and editing documents, diagrams, and the like. In A01the editing app43receives an instruction related to printing a selected document or the like. Upon receiving this instruction, in A02the editing app43displays a print screen on the user interface13for receiving user instructions. In the print screen, the editing app43accepts a print execution instruction, a selection of printer to be used for printing, instructions for basic print settings, and an instruction to begin receiving advanced print settings.

When in A03the editing app43receives an instruction to begin receiving advanced print settings while the printer2is selected in the displayed print screen, the editing app43transfers the advanced print settings instruction to the OS21. When the OS21receives the advanced print settings instruction, in A04the OS21launches the general-purpose printing program41and transfers an instruction to the general-purpose printing program41to begin receiving advanced print settings. The instruction to begin receiving advanced print settings is an example of the display instruction. Upon receiving the instruction to begin receiving advanced print settings, in A05the general-purpose printing program41activates the auxiliary program42and sends an execution instruction to the auxiliary program42corresponding to the printer2, i.e., the currently selected printer, instructing the auxiliary program42to accept advanced print settings. In A05user information for identifying the logged-in user of the PC1may be sent together with the instruction.

In response to this execution instruction, in A11the auxiliary program42issues a request to the printer2to transmit storage information on print jobs. In A12the printer2specifies all the print jobs stored on the printer2and returns storage information on the specified print jobs stored on the printer2to the auxiliary program42in response. In A13the auxiliary program42acquires the storage information from the printer2by receiving the storage information via the communication interface14. In A14the auxiliary program42uses the user interface13to notify the user of the stored print jobs based on the acquired storage information. The processes of A11-A13are an example of the storage information acquisition process. The process of A14is an example of the notification information.

The storage information may indicate the number of stored print jobs or the printing quantity (for example, the number of pages to be printed according to the stored print jobs) or may specify the available memory space based on the size of the stored print jobs. Notification information in the notification of A14may be information on the print jobs currently stored on the printer2or may be information on the number or quantity of print jobs that can be stored furthermore. For example, the auxiliary program42displays a message300A on the user interface13. As shown inFIG.4A, the message300A is “The printer currently stores image data for 500 pages and only has a small amount of free memory. If the number of pages to print exceeds 20, please wait awhile before printing.” Through this message, the user can confirm on the PC1the status of stored print jobs and the available memory on the printer2. The user can also learn that, if an instruction for printing is executed now, image data of that print job cannot be properly stored on the printer2and cannot obtain the expected printing results. The message300A is an example of the notification information.

The auxiliary program42may acquire storage information indicating some of the print jobs stored on the printer2rather than acquiring storage information for all print jobs stored on the printer2.

For example, when the auxiliary program42requests the printer2to send storage information in A11, the auxiliary program42may include in the request the user information on the logged-in user received in A05. In this case, when acquiring print jobs stored on the printer2in A12, the printer2extracts print jobs associated with the user information in the request and in A13sends storage information based on the extracted print jobs to the auxiliary program42. In A13the auxiliary program42acquires the storage information that is specific to the logged-in user from the printer2by receiving the storage information via the communication interface14.

Note that the auxiliary program42may also acquire storage information specific to the logged-in user by first receiving storage information for all the print jobs stored on the printer2from the printer2and subsequently extracting only those print jobs associated with the user information on the logged-in user from the received storage information.

In A14the auxiliary program42may then display notification information to the user based on the print jobs associated with the logged-in user. For example, suppose that the auxiliary program42recognizes, from the storage information acquired from the printer2, that print jobs of the logged-in user remain on the printer2. In this case, the auxiliary program42displays a message300B on the user interface13, as shown in the example ofFIG.4B. In this example, the message300B is “You still have print jobs on the printer. Please print them as soon as possible.” The message300B is an example of the notification information.

In this way, when the auxiliary program42does not display notification information on print jobs other than those specific to the logged-in user, the logged-in user can more easily see that user still has print jobs to print. Further, the printer2in this system is configured to store print jobs that were received from a plurality of PCs (the PCs1and3in the present embodiment). Consequently, the printer2may easily accumulate a large number of print jobs. For this reason, a user is more likely to notice the user's own print jobs remaining on the printer2and to print those print jobs when the auxiliary program42displays the message300B on the user interface13, as in the present embodiment. Accordingly, fewer print jobs stored in the printer2will be left unprinted, decreasing the likelihood that the printer2will accumulate a large number of print jobs.

Here, the printer2may have a storage condition limiting the number of print jobs that can be stored by each user identified by corresponding user information (e.g., a condition that allows each user to store only one print job). In this case, in a case that the auxiliary program42determines that the number of print jobs stored on the printer2for the logged-in user reaches the number defined by the storage condition on the basis of the storage information when the logged-in user inputs an instruction for printing, the auxiliary program42may display a message300C on the user interface13, as shown in the example ofFIG.4C. Here, the message300C is “Printing cannot be executed as the user has print jobs remaining on the printer. Please try again after printing for the print jobs stored on the printer is completed.” Accordingly, the logged-in user will quickly print the user's print jobs remaining on the printer2in order to execute the current print job. This method will promote the printing of print jobs stored on the printer2, preventing the printer2from accumulating a large number of print jobs. The message300C is an example of the notification information.

In A21the auxiliary program42displays an advanced settings screen on the user interface13for accepting print settings for printing on the printer2. The advanced setting screen is an example of the settings screen. The process of A21is an example of the display process.FIG.5shows an example of an advanced settings screen230.

As shown in the example ofFIG.5, the advanced settings screen230includes various print settings items. The print settings items include items specific to the printer2that are not supported by the general-purpose printing program41. The items specific to the printer2include the item for the secure print, for example. Hence, print settings not supported by the general-purpose printing program41can be configured in the advanced settings screen230. Note that the print settings items displayed in the advanced settings screen230may also include items that are supported by the general-purpose printing program41.

Each item in the advanced settings screen230displays the value currently set in the auxiliary program42(hereinafter referred to as the “current PC-side value”). The value of each item can be modified by displaying and selecting one of a plurality of values in a menu or by entering an arbitrary value in a field. Each item can be set to a value that cannot be set in the general-purpose printing program41, provided that the value is supported by the printer2.

For example, secure print, which is a type of stored print displayed in the advanced settings screen230, can be set either to “OFF”, indicating that a secure print is not to be performed, or “ON”, indicating that a secure print is to be performed. The secure print is a type of stored printing in which a password is assigned to a print job and the print job is printed on the printing condition that the password was inputted into the printer2. When “ON” has been selected as the secure print setting, the advanced settings screen230displays a password input field for inputting a password. Accordingly, the auxiliary program42can receive a password when accepting print settings for a secure print. The password is an example of the authentication information. The authentication information is not limited to the password but may be a PIN or the like. Additionally, the password input field may be displayed at all times in the advanced settings screen230, but a password inputted into the password input field would be accepted only when the secure print setting is “ON”.

The advanced settings screen230also includes a Set button232, a Return button233, and a System Management button234. The Set button232is an operation receiving icon for receiving an instruction to accept the print settings inputted through the advanced settings screen230. The Return button233is an operation receiving icon for receiving an instruction to return to the previous screen without accepting the print settings. The System Management button234is an operation receiving icon for receiving an instruction to access the EWS221of the printer2. The System Management button234is an example of an operation icon.

Returning toFIG.2, after displaying the advanced settings screen230, in A22the auxiliary program42performs a screen operation reception process. In this process, the auxiliary program42receives operations on the advanced settings screen230via the user interface13. The screen operation reception process will be described with reference to the flowchart inFIG.6. The CPU11of the PC1executes this process.

In51ofFIG.6, the CPU11determines whether the advanced settings screen230was operated. The CPU11continues to wait at51while no operation receiving icons displayed in the advanced settings screen230have been operated (51: NO). When the CPU11determines an operation receiving icon was operated in the advanced settings screen230(51: YES), in S3the CPU11determines whether an operation was received to modify a value for one of the items displayed in the advanced settings screen230shown inFIG.5.

When the CPU11determines that an operation to modify a value for an item was received (S3: YES), in S11the CPU11modifies the value of this setting item and subsequently returns to S1. For example, when the secure print setting in the advanced settings screen230was changed from “ON” to “OFF” through the user interface13, the CPU11modifies the setting stored in the memory12for the secure print setting from “ON” to “OFF”. In this case, the password input field is removed from the display so that passwords are no longer accepted. On the other hand, when the secure print setting in the advanced settings screen230was changed from “OFF” to “ON” through the user interface13, the CPU11modifies the setting stored in the memory12for secure printing from “OFF” to “ON”. In this case, the password input field is displayed in the advanced settings screen230.

When the CPU11determines that an operation receiving icon displayed in the advanced settings screen230ofFIG.5was operated but that the operation was not for modifying a setting (51: YES, S3: NO), in S5the CPU11determines whether the System Management button234was operated. When the System Management button234was operated via the user interface13(S5: YES), in S13the CPU11executes a system management process. The system management process is performed to manage settings for the printer2. The system management process will be described with reference to the flowchart inFIG.7. The CPU11of the PC1executes this process.

In S21ofFIG.7, the CPU11acquires the URL corresponding to the printer2that has been selected as the print execution target in the print settings. The URL may be stored in a nonvolatile area of the memory12through automatic input by the printer2when the auxiliary program42is installed on the PC1or may be stored in nonvolatile memory of the memory12through manual input by the user on the user interface13, for example. Thus, the CPU11acquires the URL from the nonvolatile memory of the memory12. When the URL is not stored in memory, the CPU11may request the user to input the URL in S21. The URL includes information specifying the IP address of the printer2, for example.

In S23the CPU11starts up a browser and accesses the address for the EWS221of the printer2on the basis of the URL acquired in S21. The EWS221provides the PC1with web pages related to system management. In S25the CPU11opens a browser to display the web page provided by the EWS221on the user interface13. In S25the CPU11accepts instructions via the web page, as described later. The CPU11waits at S27while an instruction to close the web page has not been received (S27: NO). When the CPU11receives an instruction to close the web page (S27: YES), in S29the CPU11terminates the browser, disconnects from the EWS221, and subsequently ends the system management process. The process of S25is an example of the web page display process.

The EWS221accepts instructions via the web page, which the CPU11displays in S25on the user interface13of the PC1, to modify settings information indicating whether or not to perform a secure print, which is a type of stored print. In other words, when a function to set or modify the setting for a secure print was selected in the web page, the EWS221requests the user to input an administrator password. When the administrator is successfully authenticated, the EWS221displays a settings information modification reception screen240shown in the example ofFIG.8on the user interface13.

The settings information modification reception screen240accepts changes to settings information in a settings display area241. Specifically, the settings display area241is provided with radio buttons for exclusively selecting “ON” for indicating that a secure print is to be performed or “OFF” for indicating that a secure print is not to be performed. The settings information modification reception screen240also displays an OK button242and a Cancel button243. When the OK button242displayed in the settings information modification reception screen240is operated, the EWS221accepts the modified settings information indicating whether or not to perform a secure print based on the input content in the settings display area241. When the Cancel button243displayed in the settings information modification reception screen240is operated, the EWS221does not accept the modified settings information.

Returning toFIG.6, after completing the system management process of S13, the CPU11returns to Si. Further, when the CPU11determines in S5that the System Management button234was not operated in the advanced settings screen230(S5: NO), in S7the CPU11determines whether the Set button232displayed in the advanced settings screen230was operated via the user interface13. When the Set button232was operated (S7: YES), in S15the CPU11accepts the print settings displayed in the advanced settings screen230and subsequently ends the screen operation reception process. In this case, the existing print settings stored in a nonvolatile area of the memory12accessible by the auxiliary program42are overwritten with the print settings accepted in S15. As a result, the values of these accepted print settings can be displayed as the current PC-side values for the next time the user requests to modify advanced print settings. The print settings accepted in S15may also be stored in a volatile area of the memory12.

When the CPU11determines in S7that the Set button232displayed in the advanced settings screen230was not operated (S7: NO), in S9the CPU11determines whether the Return button233displayed in the advanced settings screen230was operated via the user interface13. When the Return button233was operated (S9: YES), the CPU11ends the screen operation reception process ofFIG.6. However, when the Return button233was not operated (S9: NO), i.e., when an operation other than an operation to modify a setting or an operation on one of the buttons232-234was received, in S17the CPU11executes a process corresponding to the other operation, and subsequently returns to Si.

After completing the screen operation reception process ofFIG.6, the auxiliary program42stops displaying the advanced settings screen230and in A23transfers an end notification to the general-purpose printing program41. At this time, the auxiliary program42also passes the print settings accepted via the advanced settings screen230to the general-purpose printing program41. In A24the general-purpose printing program41passes the end notification and the print settings received from the auxiliary program42to the editing app43.

As shown inFIG.2, in A61the editing app43receives a print execution instruction from the user in the print screen, and in A62transfers a print instruction to the general-purpose printing program41. The general-purpose printing program41acquires information specifying the image data to be printed and information specifying the print settings in the print instruction. These print settings include print settings received through the advanced settings screen230in A24.

In A63the general-purpose printing program41generates intermediate image data by converting the image data included in the print settings to a prescribed format defined for intermediate image data and generates a print job that includes this intermediate image data and information on the print settings. The general-purpose printing program41may receive various types of image data included in the editing app43. The general-purpose printing program41converts the image data received from the editing app43to intermediate image data of the prescribed format suitable for generating print data. When the image data included in the print instruction is already suitable for generating print data, the process of generating intermediate image data may be omitted and the image data may be used in its current form as the intermediate image data. Data in the XPS document format (XPS data) is one example of the intermediate image data.

In A64the general-purpose printing program41outputs an execution instruction to the auxiliary program42. Further, in A64the general-purpose printing program41transmits to the auxiliary program42the intermediate image data generated in A63and information on the print settings together with the execution instruction. The execution instruction may include the user information for the logged-in user. That is, in A64the general-purpose printing program41passes the intermediate image data generated in A63and information on the print settings to the auxiliary program42. Thus, the print settings include those print settings received via the advanced settings screen230in A23. In A64the general-purpose program41activates the auxiliary program42before transmitting the execution instruction.

In A71the auxiliary program42issues a request to the printer2via the communication interface14for the transmission of settings information in response to the execution instruction from the general-purpose printing program41. In A72the printer2acquires the settings information managed in the EWS221and returns the acquired settings information to the PC1as a response. In A73the auxiliary program42acquires the settings information from the printer2by receiving the settings information via the communication interface14. The process of A71-A73are an example of the acquisition process. The printer2is an example of the external device.

In A81the auxiliary program42performs a transmission restriction determination process. The transmission restriction determination process is performed to determine whether to restrict the transmission of print jobs. This process will be described next with reference to the flowchart inFIG.9. The CPU11of the PC1executes the transmission restriction determination process.

In S41ofFIG.9, the CPU11identifies the printing quantity of the print job based on the intermediate image data received from the general-purpose printing program41and determines whether the identified printing quantity of the print job exceeds the printable quantity based on the storage information acquired from the printer2in A13ofFIG.2. When the printing quantity of the print job does not exceed the printable quantity (S41: NO), in S45the CPU11determines that transmission is “not restricted” and ends the transmission restriction determination process. However, when the printing quantity of the print job exceeds the printable quantity (S41: YES), in S43the CPU11determines that transmission is “restricted” and ends the transmission restriction determination process.

The process shown inFIG.2proceeds to the process shown inFIG.3. BothFIGS.2and3show the same step A81to show that the end of the process shown inFIG.2matches the beginning of the process shown inFIG.3. So, the step A81is executed only once in the combined processes ofFIGS.2and3. After completing A81, in A91the auxiliary program42issues a restriction notification when “restricted” was determined in the transmission restriction determination process of A81. For example, the auxiliary program42displays a message300D on the user interface13, as shown inFIG.4D. Here, the message300D is “The number of pages to be printed exceeds the printable number. Therefore, the entire print job cannot be printed.” After receiving an operation on the OK button displayed in the message300D via the user interface13, in A92the auxiliary program42cancels printing. In this way, the auxiliary program42avoids transmitting a print job to the printer2when the image data targeted for printing cannot be printed in its entirety. The process of A91is an example of the notification process. The message300D is an example of the notification information. The process of A92is an example of the restriction process.

Note that the message300D may also include a button for accepting modifications to the printing quantity of the print job (number of pages being printed), for example. In this case, the auxiliary program42may restrict the transmission of a print job in the process of A91by cancelling the print or accepting modifications to the printing quantity of the print job, such as modifications to the number of pages being printed or the printing range.

On the other hand, when “not restricted” was determined in the transmission restriction determination process of A81, in A101the auxiliary program42executes a print data generation process. This process will be described next with reference to the flowchart inFIG.10. The CPU11of the PC1executes the print data generation process.

In S71ofFIG.10, the CPU11determines whether the settings information acquired from the printer2in A73ofFIG.2includes the value “ON” to indicate that a secure print is to be performed. When the settings information specifies “ON” (S71: YES), in S73the CPU11sets the secure print setting included in the print settings of the print job to “ON”. As a result, the secure print setting specified in the print job is consistent with the settings information on the printer2. The process of S73is an example of the setting process.

In S75the CPU11determines whether the secure print setting was modified from “OFF” to “ON” in S73. A secure print requires a password as the printing condition. However, when the secure print setting received via the advanced settings screen230is “OFF”, a password is not included in the print settings for the print job. Therefore, when the secure print setting was changed from “OFF” to “ON” (S75: YES), in S77the CPU11displays a password input screen on the user interface13to receive password input. In S79the CPU11waits while a password has not been received via the password input screen (S79: NO).

When a password is inputted and received through the password input screen (S79: YES), in S81the CPU11includes the password in the print job and subsequently advances to S83. The processes S77-S81is an example of the authentication setting process.

On the other hand, when the secure print setting was not modified from “OFF” to “ON” in the process of S73(S75: NO), the CPU11skips the process from S77to S81and advances directly to S83. Here, password input is unnecessary because a password was received through the advanced settings screen230and is already included in the print settings provided in the print job.

Further, when the settings information acquired from the printer2specifies the value “OFF” to indicate that a secure print is not to be performed (S71: NO), in S87the CPU11sets the secure print setting included in the print settings for the print job to “OFF” and subsequently advances to S83. Note that the CPU11may simply continue the process in accordance with the secure print setting established in the advanced settings screen230in this case. In other words, the process of S87may be omitted. For example, when the user sets the secure print setting in the advanced settings screen230to “ON” while the settings information acquired from the printer2indicates “OFF”, the user setting entered by the user in the advanced settings screen230(“ON”) may be given priority over the settings information acquired from the printer2(“OFF”).

In S83the CPU11includes job identification information and the user information in the print job and advances to S85. In this way, the user can select and print a specific print job based on the job identification information, even when the printer2stores a plurality of print jobs. Further, when the printer2stores print jobs received from a plurality of information processing devices, such as the PCs1and3, print jobs for a specific logged-in user can be extracted and printed, and storage information for the specific logged-in user can be provided to the specific logged-in user based on the user information.

In S85the CPU11performs rasterization based on the intermediate image data received from the general-purpose printing program41to generate print data. Subsequently, the CPU11ends the print data generation process ofFIG.10. The print data generated in S85is in a format that the printer2can use for printing, such as page description language (PDL) data specific to the model of the printer2. When generating print data from intermediate image data, the auxiliary program42may process (modify) the print image according to settings of items for which the image is to be processed.

Since the auxiliary program42is designed to support the printer2, the auxiliary program42has a higher degree of freedom in rasterization than the general-purpose printing program41and can more likely generate print data suited for printing on the printer2. Note that the print data generated by the auxiliary program42may be of a format that can be used for printing on printer models other than the model of the printer2.

The print data may be generated by the general-purpose printing program41rather than the auxiliary program42. In other words, the auxiliary program42may transfer to the general-purpose printing program41information indicating that printing is to be executed when determining that the printing is to be executed, that is, determining that transmission is not restricted. In this case, the general-purpose printing program41generates print data by rasterizing the intermediate image data generated in A63. The general-purpose printing program41then transfers the generated print data to the auxiliary program42.

Print data generated by the general-purpose printing program41is data in an image format that various printers can use for printing, such as PWG Raster data or PDF data. Performing rasterization on the general-purpose printing program41reduces the processing load on the auxiliary program42, thereby avoiding an increase in processing time and reducing the size of the auxiliary program42.

Returning toFIG.3, in A102the auxiliary program42transmits a print job, that is, transmits the print data generated in the print data generation process of A101to the printer2together with a print command instructing the execution of a print. In a case that the auxiliary program42receives print data (rasterized data) from the general-purpose printing program41the auxiliary program42associates the password, job identification information, and user information with the print data received from the general-purpose printing program41and sends all the associated data to the printer2together with a print command instructing the execution of printing as a print job. The process of A102is an example of the transmitting process.

Upon receiving the print command and the print job including the print data, in A103the printer2stores the image data included in the print job in nonvolatile memory of the printer2by storing the print job when the secure print setting included in the print job is set to “ON”. After storing the print job, in A104the printer2transmits a storage complete notification to the PC1.

When the auxiliary program42receives the storage complete notification via the communication interface14in A104, in A105the auxiliary program42notifies the user that the print job has been stored on the printer2by displaying a message on the user interface13encouraging the user to print the print job stored on the printer2, e.g., “Your job has been stored on the printer and is ready to print.” This reduces the possibility of the user forgetting to print out the printed matter. The auxiliary program42may erase the message reporting the completion of storage when the auxiliary program42receives a print complete notification from the printer2, or may erase the message after the message has been displayed for a certain period of time or in response to a user operation. The process of A104is an example of the storage information acquisition process. The process of A105is an example of the notification process.

In A111the user inputs a selection for a print job and a password on the control panel. Upon receiving this selection and password, in A112the printer2determines whether the printing condition is met. The printer2determines that the printing condition is met when a password was acquired from the selected print job and the password received in A111matches the password acquired from the print job. When the passwords match, in A121the printer2executes printing. On the other hand, the printer2determines that the printing condition is not met when the password received from the user does not match the password acquired from the selected print job, for example. In this case, in A131the printer2does not execute printing.

Note that the general-purpose printing program41may also transmit the print data (or the print job) and the like to the printer2. That is, the auxiliary program42may transfer the generated print job including the print data to the general-purpose printing program41so that the print job can be sent from the general-purpose printing program41to the printer2as the destination. Accordingly, the general-purpose printing program41transmits the print job received from the auxiliary program42to the printer2.

As described above in detail, the auxiliary program42according to the present embodiment acquires settings information from the printer2indicating whether or not to execute the secure print. When the acquired settings information indicates that the secure print is to be executed, i.e., when the settings information is “ON”, the print job is automatically configured for the secure print. Thus, the auxiliary program42forcibly sets the print job to be printed as the secure print, even when operations were not performed on the PC1to set the secure print setting. Therefore, by incorporating the auxiliary program on PCs1and3connected to the printer2, the setting indicating whether or not to perform the secure print can be shared among the PCs1and3so that the operations for secure printing are made uniform throughout the entire system.

Further, since the printer2can manage the execution of secure print in the present embodiment, the printer2facilitates the operations and management of secure print on the printing system100. Further, when the settings information indicates “ON” for the secure print setting set in the printer2, the auxiliary program42forcibly configures the setting included in the print job so that the print job is to be printed, even when the user of the PC1does not perform an operation to configure the secure print setting. This reduces the time and effort required for the user to configure the secure print setting in accordance with the settings information on the printer2.

In the present embodiment, the printer2supports the secure print, and a password is included in the print settings of a print job to satisfy the printing condition for the secure print. Accordingly, the PCs1and3and other information processing devices in the system can be made to perform the secure print uniformly in the present embodiment. A particular feature of this embodiment is that the PC1receives a password and adds the password to the print job when the secure print setting in the print settings was changed from “OFF” to “ON” on the basis of the settings information set in the printer2, so that the secure print can be executed properly.

While the invention has been described in conjunction with various example structures outlined above and illustrated in the figures, various alternatives, modifications, variations, improvements, and/or substantial equivalents, whether known or that may be presently unforeseen, may become apparent to those having at least ordinary skill in the art. Accordingly, the example embodiments of the disclosure, as set forth above, are intended to be illustrative of the invention, and not limiting the invention. Various changes may be made without departing from the spirit and scope of the disclosure. Therefore, the disclosure is intended to embrace all known or later developed alternatives, modifications, variations, improvements, and/or substantial equivalents. Some specific examples of potential alternatives, modifications, or variations in the described invention are provided below: For example, a device connected to the PC1is not limited to the printer2, but may be any devices having a printing function, such as a multifunction peripheral, a copying machine, and a facsimile machine. The number of devices connected to the PC1is note limited to that shown inFIG.1, but may be any number larger than or equal to two.

As described in A61-A64and A71-A73ofFIG.2, the PC1acquires settings information from the printer2in response to each print instruction, but the PC1may acquire settings information when the printer2is started up or when advanced print settings are configured, for example. The PC1may also acquire settings information in response to a user instruction. The auxiliary program42may also cache the acquired settings information by storing the acquired settings information in a nonvolatile area of the memory12and may read the cached settings information for subsequent prints, thereby reducing the number of communications with the printer2.

Screens, such as the notification screens including the messages300A-300D shown inFIGS.4A-4D, the advanced settings screen230shown inFIG.5, and the settings information modification reception screen240shown inFIG.8, are all merely examples to which the present invention is not limited.

The settings information may be managed by a management server that also manages the printer2, rather than by the EWS221of the printer2. In this case, the auxiliary program42receives printer-specifying information identifying the printer2and issues to the management server a request that includes this printer-specifying information requesting that the management server send settings information. The management server extracts the settings information associated with the printer-specifying information and returns this settings information as a response. The auxiliary program42acquires the settings information by receiving this settings information transmitted from the management server. In this case, the management server is an example of the external device. However, when the printer2manages the settings information and the auxiliary program42acquires the settings information from the printer2, the stored-print setting for print jobs to be printed on that printer2may be automatically configured, thereby reducing the time and effort required for acquiring management information (the settings information). This also eliminates the need to provide a management server and the like for managing the settings information. Further, having the EWS221manage the settings information stored on the printer2and enabling the user to modify settings information by using the PC1through the web page of the EWS221facilitates the management of settings information for performing stored printing.

In the above embodiment, the auxiliary program42may acquire the number of printable pages calculated by the printer2from the printer2as the storage information. In this case, the printer2calculates the number of printable pages based on the maximum number of storable pages and storage information. Alternatively, the auxiliary program42may calculate the number of printable pages. In this case, the auxiliary program42acquires a maximum number of storable pages from the printer2and may calculate the number of printable pages based on the maximum number of storable pages and storage information acquired from the printer2.

As described in A11-A13and A71-A73ofFIG.2, the storage information and settings information are acquired at different timings, but the settings information and storage information may be acquired from the printer2at the same timing. For example, the process in A11-A14ofFIG.2may be omitted, and the storage information may be acquired through the processes of A71-A73.

The transmission restriction determination process described in A81ofFIG.2may be omitted and the PC1may instead transmit the print job to the printer2, even when the printing quantity of the print job exceeds the printable quantity based on the storage information. However, the auxiliary program42can avoid wasteful communications by restricting the transmission of print jobs when the printing quantity of the print job exceeds the printable quantity based on the storage information.

There is a plurality of types of stored printing. In addition to the secure print, there are various types of stored printing that do not require password input. One type of stored printing that does not require password input is a simple stored printing in which the only printing condition is that a print instruction is inputted. Another example of stored printing that does not require password input is secure function lock. The secure function lock is stored printing that prints under the condition (printing condition) that the user has logged in to the printer by inputting user information. While the stored printing supported by the printer2in the above embodiment is limited to the secure print, the printer2may support the secure function lock instead. In this case, the auxiliary program42need not display a password input field in the advanced settings screen230shown inFIG.5and need not accept a password when the stored print setting set in the printer2is “ON”, and the process in S75-S81ofFIG.10may be omitted. The PC1may also accept a value for specifying whether or not the secure function lock setting is activated in the settings information modification reception screen240ofFIG.8. Alternatively, the printer2and the auxiliary program42may allow one or more of the settings to be selected and used from options including the simple stored printing, the secure print, and the secure function lock. In this case, information on the type of stored printing may be included in the settings information and the auxiliary program42may acquire this settings information from the printer2, and request and transmit a password or other information according to the acquired type of stored printing.

In the above embodiment, only printing operations have been described in detail as the operations of the auxiliary program42, but the auxiliary program42may have other roles and functions. Further, the program that executes the processes described in the embodiment is not limited to the auxiliary program42but may be another program that receives instructions from the OS21or the general-purpose printing program41when printing is performed using the general-purpose printing program41. For example, a print workflow application having specifications published by Microsoft Corporation may be used as the program.

The execution timing of the auxiliary program42is not limited to the examples in the embodiment. For example, the auxiliary program42may be executed in response to an execution instruction received directly from the OS21or the auxiliary program42may be a resident program. In the case of a resident program, the auxiliary program42may perform the operations described above upon receiving an execution command.

In any of the flowcharts disclosed in the embodiment, the plurality of processes that make up any of a plurality of steps may be executed in parallel, or the order in which the processes are performed may be modified in any way that does not produce any inconsistencies in the processes.

The processed disclosed in the embodiment may executed by a single CPU, a plurality of CPUs, hardware such as an application specific integrated circuit (ASIC), a plurality of ASICs, or any combination of these devices. The processes disclosed in the embodiment may be embodied through a computer-readable storage medium storing a program implementing these processes or a method.