Patent Description:
An MFP which is a printing apparatus executing a print job in accordance with an executing instruction issued by a user is known. When instructing the MFP to execute a print job, the user determines execution conditions for the print job, for example, print settings such as a designation of a document file (hereafter referred to as a "file") to be printed, a sheet size, and the number of copies. To designate a file stored in one folder in the MFP as an object to be printed, the user designates the one folder and designates a desired file from all files stored in the one folder.

In general, the MFP is shared by a plurality of users. For this reason, in the MFP, when a predetermined time period has elapsed, the execution conditions are automatically cleared so as to prevent other users from using the execution conditions without noticing. In this usage pattern, the user needs to set execution conditions whenever he or she performs printing on the same execution conditions, and this is inconvenient. Accordingly, a custom button registration function has conventionally been used. The user registers a custom button, with which desired execution conditions are associated, in the MFP in advance. When the user selects the custom button displayed on an operating unit of the MFP, an operating screen on which the execution conditions associated with the custom button have been set is displayed on the operating unit of the MFP. This enables the user to easily issue an executing instruction when performing printing on the same execution conditions. However, in a case where the custom button registration function is used, the user needs to perform a complicated registration operation, which takes a lot of time and effort. Accordingly, a reprint function has conventionally been used. With the reprint function, the same settings are used based on setting histories of print jobs executed in the past, and more specifically, the same file is printed with the same print settings (see, Japanese Laid-Open Patent Publication (Kokai) No. <CIT>). This enables the user to easily issue an executing instruction based on execution conditions set in the past without performing the complicated registration operation.

With the reprint function described above, however, when issuing an instruction to execute a print job for which a part of execution conditions set in the past has been changed, for example, a print job in which another file stored in the same folder is printed, the user needs to start over by designating a folder. For this reason, the user cannot easily issue an instruction to execute a print job for another file stored at the same storage location.

Further, document <CIT> discloses an image forming apparatus, image forming method and storage medium storing image forming program thereof.

In addition, document <CIT> discloses a smarter printing where a print log is provided that stores first print jobs that have been used for printing and that include first settings. A print queue is provided that stores second print jobs that have not been used for printing and that include second settings. First settings from a selected print job in the print log are used as corresponding second settings for anew print job. The new print job is placed in the print queue to be used in response to a printer corresponding to the new print job being available. Another method is disclosed that provides a print log storing print jobs that have been used for printing. A print queue stores print jobs to be used for printing. A new print job is formed from a selected print job in the print log. The new print job is placed in the print queue and is printed.

It is an object of the present invention to provide a printing apparatus and a control method therefor, which are capable of easily issuing an instruction to execute a print job in another file stored at the same storage location without the need to perform complicated registration operations, as well as a storage medium.

This object is achieved by a printing apparatus as specified in claims <NUM> to <NUM>.

Furthermore, there is provided a control method for a printing apparatus as specified in claims <NUM>.

Moreover, there is provided a computer-readable non-transitory storage medium storing a program for causing a computer to execute a control method for a printing apparatus as specified in claim <NUM>.

According to the present invention, an instruction to execute a print job in another file stored at the same storage location is easily issued without the need to perform complicated registration operations.

An embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

<FIG> is a block diagram schematically showing an arrangement of an MFP <NUM> which is a printing apparatus according to the embodiment of the present invention.

Referring to <FIG>, the MFP <NUM> has a controller unit <NUM>, an operating unit <NUM>, a scanner <NUM>, and a printer <NUM> as units. The controller unit <NUM> is connected to the operating unit <NUM>, the scanner <NUM>, and the printer <NUM>. The controller unit <NUM> has a CPU <NUM>, a communication unit <NUM>, a RAM <NUM>, an HDD <NUM>, a ROM <NUM>, a timer <NUM>, and a fax unit <NUM>. The CPU <NUM>, the communication unit <NUM>, the RAM <NUM>, the HDD <NUM>, the ROM <NUM>, the timer <NUM>, and the fax unit <NUM> are connected to one another via a system bus <NUM>.

The MFP <NUM> has a plurality of functions such as a copying function, a scanning function, a printing function, a fax communication function, and an authentication function. The MFP <NUM> uses these functions to execute jobs. The MFP <NUM> is able to expand its functions by additionally installing applications from outside the MFP <NUM> via the communication unit <NUM>. The control unit <NUM> controls operation of the units connected thereto. The CPU <NUM> controls the entire control unit <NUM>. The communication unit <NUM> sends and receives data to and from an external apparatus (not shown) via the LAN <NUM>. The LAN <NUM> is a network for the MFP <NUM> to send and receive data to and from the external apparatus. The MFP <NUM> is connected to an internet via the LAN <NUM>. The RAM <NUM> is used as system work memory for the CPU <NUM>. The HDD <NUM> is a hard disk drive. The HDD <NUM> is a storage medium such as a magnetic disk, an optical medium, or a flash memory. The HDD <NUM> stores files, setting data, programs, and so forth. It should be noted that in the present embodiment, the HDD <NUM> may not be incorporated in the MFP <NUM>, but for example, a storage of a server or PC, not shown, may be used as an alternative to the HDD <NUM> via the communication unit <NUM>.

The ROM <NUM>, which is a boot ROM, stores a system boot program. The CPU <NUM> expands programs stored in the HDD <NUM> and the ROM <NUM> into the RAM <NUM> and provides various types of control based on the expanded programs. The timer <NUM> starts measuring the amount of time in accordance with an instruction from the CPU <NUM>. When a time period designated in advance has elapsed since the timer <NUM> started measuring the amount of time, the timer <NUM> sends an interruption notification to the CPU <NUM>. The fax unit <NUM> sends and receives fax data to and from the external apparatus, which is capable of carrying out facsimile communications, via a telephone line <NUM>.

The operating unit <NUM> displays a variety of information about the MFP <NUM> and also receives a job executing instruction, a setting changing instruction, and so forth from a user. As shown in <FIG>, the operating unit <NUM> has a touch panel <NUM>, a start key <NUM>, an LED <NUM>, a stop key <NUM>, a numeric keypad <NUM>, and a home key <NUM>. The touch panel <NUM> is a liquid crystal display, and a surface of its liquid crystal is covered with a touch panel sheet. The touch panel <NUM> displays an operating screen and a software keypad. When the user depresses the software keypad displayed on the touch panel <NUM>, the operating unit <NUM> sends positional information indicating a depressed position to the CPU <NUM>. The start key <NUM> is used when, for example, the user issues an instruction to start reading an original. A central area of the start key <NUM> is comprised of LEDs <NUM> of two colors i.e. green and red. In the present embodiment, the color that lights up indicates whether or not the start key <NUM> is allowed to be used. The stop key <NUM> is used when, for example, the user issues an instruction to stop an operation being performed. The numeric keypad <NUM> is comprised of numeral and character buttons. The numeric keypad <NUM> is used when, for example, the user sets the number of copies and issues an instruction to switch screens on the touch panel <NUM>. The home key <NUM> is used to, for example, display a home screen <NUM> in <FIG>, to be described later, on the touch panel <NUM>. It should be noted that the operating buttons such as the start key <NUM>, the stop key <NUM>, the numeric keypad <NUM>, and the home key <NUM> are examples, and the operating unit <NUM> may be equipped with other operating buttons as well as the above operating buttons. The above operating keys may be placed as software buttons on the touch panel <NUM>.

The scanner <NUM> scans a placed original and generates image data by digitalizing an image on the original and then stores the generated image data in the RAM <NUM> or the HDD <NUM>. The printer <NUM> prints files and others stored in the RAM <NUM> and the HDD <NUM>.

<FIG> is a flowchart showing the procedure of an authentication process which is carried out by the CPU <NUM> in <FIG>. The process in <FIG> is implemented by the CPU <NUM> executing programs in the ROM <NUM> or the like. The process in <FIG> is carried out when, for example, an authentication request issued by a user is received via the operating unit <NUM>. The process in <FIG> is based on the assumption that information about the user permitted to use the MFP <NUM> (hereafter referred to as "the use permitted user information") was registered in advance. In the MFP <NUM>, the use permitted user information is managed by a user information DB <NUM> in <FIG> stored in the HDD <NUM>. The user information DB <NUM> includes user IDs <NUM>, user names <NUM>, domain names <NUM>, passwords <NUM>, e-mail addresses <NUM>, and administrator rights <NUM>. Identifiers uniquely assigned to respective registered users are set as the user IDs <NUM>. User names of the respective registered users are set as the user names <NUM>. Domain names of the respective registered users are set as the domain names <NUM>. Passwords associated with the respective registered users are set as the passwords <NUM>. E-mail addresses of the respective registered users are set as the e-mail addresses <NUM>. Information as to whether or not the registered users have administrator rights for the MFP <NUM> is set as the administrator rights <NUM>.

Referring to <FIG>, first, the CPU <NUM> displays an authentication screen <NUM> in <FIG> on the touch panel <NUM> (step S301). The authentication screen <NUM> has a user name input field <NUM>, a password input field <NUM>, and an OK button <NUM>. When a user enters user information into the input fields and depresses the OK button <NUM>, the CPU <NUM> receives the user information (step S302). Next, the CPU <NUM> compares the user information with the user information DB <NUM> (step S303). The CPU <NUM> determines whether or not use permitted user information including the user name <NUM> and the password <NUM> matching the user information (hereafter referred to as "matching use permitted user information") is registered in the user information DB <NUM> (step S304).

As a result of the determination in the step S304, when the matching use permitted user information is not registered in the user information DB <NUM>, the CPU <NUM> displays an authentication error screen (not shown) on the touch panel <NUM> (step S305), followed by the process returning to the step S301.

As a result of the determination in the step S304, when the matching use permitted user information is registered in the user information DB <NUM>, the CPU <NUM> reads out the matching use permitted user information from the user information DB <NUM> (step S306). Then, the CPU <NUM> starts a login session (step S307). This enables the user to use the functions of the MFP <NUM>. After that, the CPU <NUM> ends the present process.

Applications which are programs of software controlling the installed functions such as a copying application and a saved file using application are stored in the HDD <NUM> of the MFP <NUM>. The copying application converts image data, which is obtained by the scanner <NUM> scanning an original, into printing data. The copying application also prints the printing data with the printer <NUM> based on execution conditions set on a copy setting screen <NUM> in <FIG>, to be described later. The saved file using application converts a file designated by the user into printing data based on execution conditions set on a file selection screen <NUM> in <FIG> and a print setting screen <NUM> in <FIG>, to be described later. The saved file using application also prints the printing data with the printer <NUM>. The user who has logged in the MFP <NUM> is permitted to operate the home screen <NUM> in <FIG> to set execution conditions for jobs to be executed by the applications.

The home screen <NUM> is a screen for calling screens on which execution conditions for jobs to be executed by each application are set (hereafter referred to as "application screen"). The home screen <NUM> has a menu <NUM>, a slide bar <NUM>, and a user name display area <NUM>. App buttons <NUM> to <NUM> for the respective applications and custom buttons <NUM> and <NUM> are displayed in the menu <NUM>. The menu <NUM> is comprised of one or more screens. The number of buttons is determined by a button layout setting (not shown) stored in the HDD <NUM>.

The app buttons <NUM> to <NUM> are operating buttons for shifting to the corresponding application screens. The MFP <NUM> manages types of the applications associated with the respective app buttons <NUM> to <NUM> by using app button information <NUM> in <FIG>. The app button information <NUM> is stored in the HDD <NUM> and includes app button IDs <NUM> and application types <NUM>. IDs uniquely assigned to the respective app buttons <NUM> to <NUM> are set as the app button IDs <NUM>. Identifiers indicating types of the applications corresponding to the respective app buttons <NUM> to <NUM> are set as the application types <NUM>.

For example, when the user depresses the app button <NUM> on the home screen <NUM>, the CPU <NUM> reads out an identifier "copy" corresponding to the app button <NUM> from the app button information <NUM>. Based on the read identifier "copy", the CPU <NUM> displays the copy setting screen <NUM> in <FIG>, which is an application screen for the copying application, on the touch panel <NUM>. The copy setting screen <NUM> is a screen for making print settings which are execution conditions for a print job to be executed by the copying application. The user is allowed to set a color mode, a sheet size, a magnification, the number of copies, and double-sided printing by operating the copy setting screen <NUM>.

When the user depresses the app button <NUM> on the home screen <NUM>, the CPU <NUM> reads out an identifier "use saved file" corresponding to the app button <NUM> from the app button information <NUM>. Based on the read identifier "use saved file", the CPU <NUM> displays the file selection screen <NUM> in <FIG>, which is a first application screen for the saved file using application, on the touch panel <NUM>. The file selection screen <NUM> is a screen for setting data to be printed, which are execution conditions for a print job to be executed by the saved file using application. The file selection screen <NUM> has a folder path <NUM>, a file list <NUM>, a scroll button <NUM>, a cancel button <NUM>, and a print button <NUM>.

A folder path, which indicates a storage location designated by the user, is displayed as the folder path <NUM>. A list of information on files stored at the storage location indicated by the folder path <NUM> (hereafter referred to as "file-related information") is displayed as the file list <NUM>. The file-related information is comprised of a file name, a data format of a file, the number of pages in the file, and so forth. By depressing desired file-related information in the file list <NUM>, the user switches files to be selected. A selection is represented by, for example, highlighting a color of a row in which file-related information on a selected file is displayed. In the example in <FIG>, "Minutes of Meeting. pdf" in the second row is selected. The scroll button <NUM> is a button for, when the entire list of file-related information cannot be displayed within one screen, issuing an instruction to display buttons lying off the screen. The cancel button <NUM> is an operating button for issuing an instruction to cancel a print job to be executed by the saved file using application. The print button <NUM> is an operating button for issuing an instruction to display the print setting screen <NUM> in <FIG>, which is a second application screen for the saved file using application. The print setting screen <NUM> is a screen for making print settings which are execution conditions for a print job executed by the saved file using application. On the print setting screen <NUM>, the user is allowed to set a color mode, a sheet size, a magnification, the number of copies, and double-sided printing. The cancel button <NUM> is an operating button for issuing an instruction to cancel a print job to be executed by the saved file using application. The print start button <NUM> is an operating button for issuing an instruction to start a print job using the setting values on the file selection screen <NUM> and the print setting screen <NUM>.

Referring again to <FIG>, the custom buttons <NUM> and <NUM> are operating buttons for shifting to application screens set in advance. The application screens are displayed in a state where setting values registered in advance have been set. The custom buttons <NUM> and <NUM> are each categorized as either of a My button or a shared button. Only a user who has logged in is allowed to refer to the custom button categorized as the My button. All users are allowed to refer to the custom button categorized as the shared button. In the MFP <NUM>, new custom buttons are registered by carrying out a custom button registration process in <FIG>, to be described later.

The slide bar <NUM> switches pages of the menu <NUM>. It should be noted that in the present embodiment, pages of the menu <NUM> are not always switched in this way, but for example, pages of the menu <NUM> may be switched when a flick operation is detected on the touch panel <NUM>. In response to notification of a page switching instruction from the operating unit <NUM>, the CPU <NUM> reads out information on buttons displayed on pages after page switching from the HDD <NUM> or the RAM <NUM> and carries out a process to switch pages of the menu <NUM>.

A name of a user who is currently logged in the MFP <NUM> is displayed in the user name display area <NUM>. The CPU <NUM> reads out the name of the user who is currently logged in the MFP <NUM> from the user information DB <NUM> and displays it on the touch panel <NUM>. When a login session is not valid, a character string, an icon, or the like indicating that no one is logged in the MFP <NUM> is displayed, and for example, a fixed mark such as "-------" is displayed.

<FIG> is a flowchart showing the procedure of the custom button registration process which is carried out by the MFP <NUM> in <FIG>. The process in <FIG> is implemented by the CPU <NUM> executing programs in the ROM <NUM> or the like. The process in <FIG> is carried out when, for example, a request to register a custom button for predetermined print settings has been issued by the user on a copy setting screen <NUM> in <FIG>. In this example, the predetermined print settings are comprised of a color mode "monochrome", sheet size "B4", finishing "punching", a magnification "<NUM>%", the number of copies "<NUM>", and "double-sided printing".

Referring to <FIG>, first, when the user depresses a setting button <NUM> in <FIG> on the copy setting screen <NUM>, the CPU <NUM> displays a setting menu <NUM> on the copy setting screen <NUM>. The user depresses a registration button <NUM> in the setting menu <NUM> to make a custom button registration request. Upon receiving the custom button registration request (step S1001), the CPU <NUM> displays a setting screen <NUM> in <FIG> on the touch panel <NUM> (step S1002). The setting screen <NUM> has a confirmation screen display setting <NUM>, an immediate execution setting <NUM>, a next button <NUM>, and a cancel button <NUM>. As the confirmation screen display setting <NUM>, the user sets on-off information indicating whether or not to display a setting confirmation screen <NUM> in <FIG>, to be described later, when a registered custom button is depressed. As the immediate execution setting <NUM>, the user sets on-off information indicating whether or not to immediately execute a job based on setting values associated with a registered custom button when the custom button is depressed. When the cancel button <NUM> is depressed, the CPU <NUM> ends the present process.

Upon detecting depression of the next button <NUM> (step S1003), the CPU <NUM> displays a button type setting screen <NUM> in <FIG> on the touch panel <NUM> (step S1004). The button type setting screen <NUM> is a screen for setting a name and type of a custom button. The button type setting screen <NUM> has a button name <NUM>, a button type <NUM>, an OK button <NUM>, and a cancel button <NUM>. As the button name <NUM>, a name of the custom button to be registered is input by the user. As the button type <NUM>, either of the My button and the shared button is selected by the user as a type of the custom button. When the cancel button <NUM> is depressed, the CPU <NUM> ends the present process. Upon detecting depression of the OK button <NUM> (step S1005), the CPU <NUM> determines whether or not the amount of a free space in the HDD <NUM> is equal to or greater than a predetermined value (step S1006).

As a result of the determination in the step S1006, when the amount of free space in the HDD <NUM> is equal to or greater than the predetermined value, the CPU <NUM> registers the custom button. Specifically, the CPU <NUM> registers the setting values set on the copy setting screen <NUM>, the setting screen <NUM>, and the button type setting screen <NUM> as custom button information <NUM> in <FIG> (step S1007). The custom button information <NUM> is stored in the HDD <NUM> and manages information related to registered custom buttons. The custom button information <NUM> includes a custom button ID <NUM>, a button type <NUM>, an owner user ID <NUM>, a button name <NUM>, an application type <NUM>, an update date <NUM>, application data <NUM>, a confirmation setting <NUM>, and an immediate execution setting <NUM>. The components of the custom button information <NUM> are only examples, and the custom button information <NUM> may have other items as well as the above described items.

As the custom button ID <NUM>, an ID uniquely assigned to the registered custom button is set. As the button type <NUM>, a setting value set as the button type <NUM>, and more specifically, either of the shared button and the My button is set. When the button type <NUM> is the My button, a user ID for identifying the user who has made the request to register the custom button is set as the owner user ID <NUM>. The setting value set as the button name <NUM> is set as the button name <NUM>. As the application type <NUM>, an identifier indicating a type of an application corresponding to the registered custom button is set. As the update date <NUM>, a registration date and time or update date and time for the custom button is set. As the application data <NUM>, the setting values set on the copy setting screen <NUM> are set using HashMap i.e. "KEY/VALUE". The setting value set as the confirmation screen display setting <NUM> is set as the confirmation setting <NUM>. The setting value set as the immediate execution setting <NUM> is set as the immediate execution setting <NUM>. In the step S1007, custom button-related information <NUM> in <FIG> is registered as the custom button information <NUM>.

Next, the CPU <NUM> displays a home screen <NUM> in <FIG> on the touch panel <NUM> (step S1008). On the home screen <NUM>, a custom button <NUM> corresponding to the custom button-related information <NUM> is displayed in addition to the custom button <NUM> and <NUM>. A NEW icon <NUM> indicating a new registration is displayed on the custom button <NUM>. The NEW icon <NUM> is hidden with arbitrary timing such as login, logout, auto clear, sleep, shutdown, or depression of the custom button <NUM>. After that, the CPU <NUM> ends the present process.

As a result of the determination in the step S1006, when the amount of free space in the HDD <NUM> is less than the predetermined value, the CPU <NUM> displays a registration error screen (not shown) on the touch panel <NUM> (step S1009) and ends the present process.

<FIG> is a flowchart showing the procedure of a job execution process which is carried out by the MFP <NUM> in <FIG>. The process in <FIG> is implemented by the CPU <NUM> executing programs in the HDD <NUM>. The process in <FIG> is carried out when the user has depressed any of the custom buttons <NUM>, <NUM>, and <NUM> on the home screen <NUM>.

Referring to <FIG>, first, the CPU <NUM> reads out custom button-related information corresponding to the depressed custom button from the custom button information <NUM> (step S1701). For example, when the user has depressed the custom button <NUM>, the CPU <NUM> reads out custom button-related information <NUM> in <FIG> corresponding to the custom button <NUM> from the custom button information <NUM>. Next, the CPU <NUM> determines whether a setting value of the confirmation setting <NUM> in the custom button-related information <NUM> is "ON" or "OFF" (step S1702).

As a result of the determination in the step S1702, when the setting value of the confirmation setting <NUM> is "OFF", the CPU <NUM> carries out a process in step S1704, to be described later. As a result of the determination in the step S1702, when the setting value of the confirmation setting <NUM> is "ON", the CPU <NUM> displays a setting confirmation screen <NUM> in <FIG> on the touch panel <NUM> (step S1703). The setting confirmation screen <NUM> includes a message <NUM> asking whether or not to call the custom button-related information <NUM>. Then, the CPU <NUM> determines whether or not a setting value of the immediate execution setting <NUM> in the custom button-related information <NUM> is "ON" or "OFF" (step S1704).

As a result of the determination in the step S1704, when the setting value of the immediate execution setting <NUM> is "OFF", the CPU <NUM> displays a copy setting screen <NUM> in <FIG> on the touch panel <NUM> (step S1705). The setting values of the application data <NUM> in the custom button-related information <NUM> are set in respective setting fields of the copy setting screen <NUM>. Then, upon detecting depression of the start key <NUM> by the user and receiving a job starting request (step S1706), the CPU <NUM> executes a copy job based on the print settings configured on the copy setting screen <NUM> (step S1707). While the copy job is being executed, an in-execution screen <NUM> in <FIG> is displayed on the touch panel <NUM>. After that, the CPU <NUM> ends the present process.

As a result of the determination in the step S1704, when the setting value of the immediate execution setting <NUM> is "ON", the CPU <NUM> carries out the processes in the step S1707 and the subsequent steps without displaying the copy setting screen <NUM> in <FIG> on the touch panel <NUM>.

As described above, the MFP <NUM> enables the user to easily issue an instruction to execute a print job by using the custom button registration function, but the user needs to perform the custom button registration function described above, which takes a lot of time and effort. To save the time and effort, for example, a reprint function of performing printing the same file using the same settings, and more specifically, print settings based on setting histories of print jobs executed in the past is used. The user can easily issue an instruction to execute a job based on execution conditions set in the past without performing the custom button registration function described above. With the reprint function, however, it is necessary for the user to restart by designating a folder so as to issue an instruction to execute a print job for which a part of execution conditions set in the past has been changed, for example, a print job of printing another file stored in the same folder. Thus, the user cannot easily issue an instruction to execute a print job for another file stored at the same storage location.

Accordingly, in the present embodiment, an execution condition for an executed print jobs is managed as a record. When the user selects the record, a file selection screen is selected so that the user can select data to be printed from all files stored at a storage location associated with the record.

<FIG> is a flowchart showing the procedure of a record registration process which is carried out by the MFP <NUM> in <FIG>. The process in <FIG> is implemented by the CPU <NUM> executing programs in the ROM <NUM> or the like. The process in <FIG> is carried out when, for example, a job executing instruction issued by the user is received. The process in <FIG> is based on the assumption that, for example, an instruction to execute a print job using the saved file using application for which the execution conditions in <FIG> are set has been received.

Referring to <FIG>, first, the CPU <NUM> determines a record name (step S2201). The record name is represented by a character string or an icon so that the user can easily recognize what is included in a record. For example, a file name is represented by an absolute path that identifies a storage location, and setting values of main setting items among print settings are represented by character strings or icons. The main setting items include, for example, print settings items such as a color mode, double-sided printing, finishing, and the number of copies. The record name may also be a setting value changed from a factory default setting value through operation by the user.

Next, the CPU <NUM> displays a selection screen <NUM> in <FIG> on the touch panel <NUM>. On the selection screen <NUM>, information that identifies an application screen to be displayed when the user selects a record with which the above execution conditions are associated is set. Specifically, on the selection screen <NUM>, the user selects either of a job setting screen and a file selection screen. When the job setting screen is selected, an application screen for making print settings on the print setting screen <NUM> or the like is displayed on the touch panel <NUM> when the user depresses a record with which the above execution conditions are associated. When the file selection screen is selected, an application screen for setting data to be printed on the file selection screen <NUM> or the like is displayed on the touch panel <NUM> when the user depresses a record with which the above execution conditions are associated.

Upon detecting depression of an OK button <NUM> by the user, the CPU <NUM> determines a screen transition setting based on the setting value on the selection screen <NUM> (step S2202). The setting value on the selection screen <NUM> may be used as either a setting value unique to the user or a setting value common to the MFP <NUM>.

Then, the CPU <NUM> issues a new record ID so as to register the record associated with the above execution conditions in record information <NUM> in <FIG> in which information on records is managed. The record information <NUM> is stored in the HDD <NUM> and includes a record ID <NUM>, a record type <NUM>, an owner user ID <NUM>, a record name <NUM>, an application type <NUM>, an update date <NUM>, application data <NUM>, and a screen transition setting <NUM> (identification information). The components of the record information <NUM> are only examples, and the record information <NUM> may include other items in addition to the above described items, for example, items similar to the confirmation setting <NUM> and the immediate execution setting <NUM> in the custom button information <NUM>. The number of items in the record information <NUM> may vary with application types.

As the record ID <NUM>, an ID uniquely assigned to the record is set. As the record type <NUM>, either of a shared record and my record is set. When the record type <NUM> is the my record, a user ID for identifying the user who has set the execution conditions for the record is set as the owner user ID <NUM>. As the record name <NUM>, the record name determined in the process in the step S2201 is set. As the application type <NUM>, an identifier indicating a type of an application corresponding to the record is set. As the update date <NUM>, a registration date and time for the record is set. As the application data <NUM>, the job setting values are set using HashMap i.e. "KEY/VALUE". For example, as the application data <NUM>, a folder path indicating a storage location for print settings and data to be printed is set. As the screen transition setting <NUM>, the screen transition setting made in the process in the step S2202 is set.

After that, the CPU <NUM> generates a setting history <NUM> in <FIG> based on the issued record ID, the result of the process in the step S2201, the above execution conditions, and the setting values on the selection screen <NUM> (step S2203) and reads out the record information <NUM>. The CPU <NUM> then compares the setting history <NUM> and the record information <NUM> with each other. The CPU <NUM> determines whether or not another setting history including the application data <NUM> matching the setting history <NUM> is registered in the record information <NUM> (step S2204).

As a result of the determination in the step S2204, when the other setting history is not registered in the record information <NUM>, the CPU <NUM> determines whether or not the amount of free space in the HDD <NUM> is equal to or greater than a predetermined value (step S2205).

As a result of the determination in the step S2205, when the amount of free space in the HDD <NUM> is equal to or greater than the predetermined value, the CPU <NUM> registers the setting history <NUM> in the record information <NUM> (step S2206) and ends the present process.

As a result of the determination in the step S2205, when the amount of free space in the HDD <NUM> is less than the predetermined value, the CPU <NUM> displays a record registration error screen (not shown) on the touch panel <NUM> (step S2207) and ends the present process.

As a result of the determination in the step S2204, when the other setting history is registered in the record information <NUM>, the CPU <NUM> ends the present process without registering the setting history <NUM> in the record information <NUM>.

Thus, an executing instruction for an executed print job is managed as a record in the MFP <NUM> without the need to perform the above described custom button registration operation.

<FIG> is a flowchart showing the procedure of a record display control process which is carried out by the MFP <NUM> in <FIG>.

The process in <FIG> is implemented by the CPU <NUM> executing programs in the HDD <NUM>. The process in <FIG> is carried out when a login session has been started by the authentication process in <FIG>.

Referring to <FIG>, first, the CPU <NUM> generates the menu <NUM> based on the app button information <NUM> and the custom button information <NUM> (step S2601). Next, the CPU <NUM> obtains one setting history from the record information <NUM> (step S2602), and based on the one obtained setting history, generates a record that is to be displayed on the home screen <NUM> (step S2603). Then, the CPU <NUM> determines whether or not records for all of setting histories registered in the record information <NUM> have been generated (step S2604).

As a result of the determination in the step S2604, when a record for any of the setting histories registered in the record information <NUM> has not been generated, the process returns to the step S2602.

As a result of the determination in the step S2604, when records for all of the setting histories registered in the record information <NUM> have been generated, the CPU <NUM> displays the generated menu <NUM> and a home screen <NUM> in <FIG> including the records on the touch panel <NUM> (step S2605). In a timeline <NUM> on the home screen <NUM>, records <NUM> and <NUM> generated by the process in the step S2603 are displayed. In the present embodiment, when a job is executed, a record with which execution conditions for the job are associated is placed at the top in the timeline <NUM>. When the number of records has increased to such an extent as not to fit in the timeline <NUM>, a scroll bar (not shown) is displayed in the timeline <NUM>. The user uses the scroll bar to display records extending off the timeline <NUM>. When the number of records has reached a predetermined number, the records are deleted in order from the oldest one. After that, the CPU <NUM> ends the present process.

<FIG> is a flowchart showing the procedure of a record job execution process which is carried out by the MFP <NUM> in <FIG>. The process in <FIG> is implemented by the CPU <NUM> executing programs in the HDD <NUM>. The process in <FIG> is based on the assumption that, for example, the user has depressed either of the records <NUM> and <NUM> on the home screen <NUM>.

Referring to <FIG>, first, the CPU <NUM> reads out a setting history corresponding to the depressed record from the record information <NUM> (step S2801). For example, when the user has depressed the record <NUM>, the CPU <NUM> reads out a setting history <NUM> in <FIG> corresponding to the record <NUM> from the record information <NUM>. Next, the CPU <NUM> determines a setting value of the screen transition setting <NUM> in the setting history <NUM> (step S2802).

In the step S2802, when the setting value of the screen transition setting <NUM> is "job setting screen", the CPU <NUM> carries out a process in step S2809, to be described later. In the step S2802, when the setting value of the screen transition setting <NUM> is "file selection screen", the CPU <NUM> obtains a folder path and a file name from the application data <NUM> in the setting history <NUM>. Then, the CPU <NUM> determines whether or not a file with the above file name (hereafter referred to as "the designated file") is present in a designated folder indicated by the above folder path (step S2803).

As a result of the determination in the step S2803, when the designated file is not present in the designated folder, the CPU <NUM> displays a no file error screen (not shown) on the touch panel <NUM> (step S2804) and carries out a process in step S2807.

As a result of the determination in the step S2803, when the designated file is present in the designated folder, the CPU <NUM> determines whether or a file other than the designated file is present in the designated folder (step S2805).

As a result of the determination in the step S2805, when a file other than the designated file is present in the designated folder, the CPU <NUM> displays on the touch panel <NUM> a file selection screen <NUM> in <FIG> with the designated file in the selected state (steps S2806, S2807). This enables the user to easily select another file stored in the designated folder by operating the file selection screen <NUM>. Then, the CPU <NUM> detects depression of a print button <NUM> on the file selection screen <NUM> by the user and receives a job setting request (step S2808). After that, the CPU <NUM> displays a print setting screen <NUM> in <FIG> on the touch panel <NUM> (step S2809). The print setting screen <NUM> is displayed in a state where the setting values of the application data <NUM> in the setting history <NUM> have been set.

The CPU <NUM> then detects depression of a print start button <NUM> by the user, and upon receiving a request to execute a print job (step S2810), executes the print job (step S2811). The print job is executed based on the setting values on the file selection screen <NUM> and the print setting screen <NUM>. While the print job is being executed, an in-execution screen <NUM> in <FIG> is displayed on the touch panel <NUM>. After that, the CPU <NUM> ends the present process.

As a result of the determination in the step S2805, when no file other than the designated file is present in the designated folder, that is, only the designated file is present in the designated folder, the CPU <NUM> carries out the process in the step S2809 without displaying the file selection screen <NUM> on the touch panel <NUM>.

According to the embodiment described above, the execution conditions for the executed print jobs are managed as the records <NUM> and <NUM>. Also, the file selection screen <NUM> is displayed so that the user can select data to be printed from all the files stored at the storage location associated with the record <NUM> when one of the records <NUM> and <NUM>, for example, the record <NUM> is selected. Thus, execution conditions for print jobs executed in the past are easily called without performing the above described custom button registration operation. Furthermore, to print another file stored in the same folder as files printed in the past, the other file is easily selected. As a result, an instruction to execute another print job stored at the same storage location is easily issued without performing the above described custom button registration operation.

Furthermore, in the embodiment described above, in a case where only the designated file is stored at the storage location associated with the record <NUM> when the user selects the record <NUM>, the print setting screen <NUM> is displayed without displaying the file selection screen <NUM>. Here, in the case where only the designated file is stored at the storage location associated with the record <NUM>, it is easily assumed that the designated file is data to be printed. In this case, from the viewpoint of improving the case of operation in giving an instruction to execute a job, setting of data to be printed is preferably regarded as being completed, and the print setting screen <NUM> for setting other execution conditions, and more specifically, making print settings is preferably displayed. On the other hand, in the embodiment described above, in the case where only the designated file is stored at a storage location associated with a record when the user has selected the record, the print setting screen <NUM> is displayed without displaying the file selection screen <NUM>. This improves the ease of operation in giving an instruction to execute a job.

In the embodiment described above, when the user has selected a record, whether to display the file selection screen or the print setting screen is determined based on a setting value on the screen transmission setting <NUM> associated with the record. Thus, a type of an application screen to be displayed is determined with respect to each record.

Moreover, in the embodiment described above, since the screen transition setting <NUM> is made by the user, an appropriate application screen is displayed according to user's pattern of usage.

Although the prevent invention has been described by way of the embodiment, the present invention is not limited to the embodiment described above. For example, the record <NUM> or <NUM> on which the user has performed a predetermined operation may be registered as a custom button. When, for example, the user holds down the record <NUM> in the timeline <NUM>, a popup menu (not shown) for receiving an instruction to register the record <NUM> as a custom button is displayed on the touch panel <NUM>. Upon receiving the registration instruction via the popup menu, the CPU <NUM> generates a custom button for calling the setting history of the record <NUM>. Thus, a setting history that is not desired to be deleted is easily left, and hence this setting history can be called with desired timing.

Moreover, in the embodiment described above, the authentication method is not limited to the one used in the process in <FIG>, but the MFP <NUM> may be connected to an authentication server via the communication unit <NUM>, and a result of authentication using the external authentication server may be used.

In the embodiment described above, the setting value of the screen transmission setting <NUM> may be managed by another setting file other than the record information <NUM>.

Moreover, in the embodiment described above, the user is prompted to select an application screen for transition whenever he or she depresses a record.

In the embodiment described above, the screen transition setting is not always determined using the selection screen <NUM> in the process in <FIG>, but may be determined from user's operation histories. For example, when an instruction to execute a print job for which print settings have been changed although a file or folder has not been changed is received from the same user, the CPU <NUM> configures the screen transition setting at the job setting screen. When an instruction to execute a print job for which have been specified with a different file stored in the same folder although print settings have not been changed is received from the same user, the CPU <NUM> configures the screen transition setting at the file selections screen.

In the embodiment described above, not the no-file error screen but an icon or message indicating that the designated file is not present in the designated folder may be displayed in the step S2804, and furthermore, the record <NUM> may be deleted from the timeline <NUM>.

Claim 1:
A printing apparatus that executes a job for printing data based on print settings received from a user, comprising:
a storage unit (<NUM>) configured to store print settings of the job and information indicating a storage location of data printed by execution of the job as a history;
a selecting unit (<NUM>) configured to select, according to a selection operation executed by a user, a history from a plurality of histories stored in the storage unit (<NUM>); and
a display unit (<NUM>) configured to display a selection screen in which the user selects, from data stored at the storage location indicated by the information of the history selected by the selecting unit (<NUM>), data to be printed and to display a setting screen for receiving print settings for use in printing of the data to be printed, wherein the print setting screen is displayed in a state in which the print settings of the history selected by the selecting unit (<NUM>) have been set,
wherein, when the data to be printed is selected by the user in the selection screen, the display unit (<NUM>) displays the setting screen,
wherein the storage unit (<NUM>) is further configured to store identification information that identifies one of the selection screen and the setting screen,
in a case where the identification information identifies the setting screen, the display unit (<NUM>) displays the setting screen without displaying the selection screen, and
in a case where the identification information identifies the selection screen and no other data to be printed than the data printed by execution of the job is stored at the storage location when the history selected by the selecting unit (<NUM>) is read, the display unit (<NUM>) displays the setting screen without displaying the selection screen.