Patent Publication Number: US-2009230607-A1

Title: Image forming apparatus and computer program product

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application claims priority to and incorporates by reference the entire contents of Japanese priority document 2008-066008 filed in Japan on Mar. 14, 2008 and Japanese priority document 2009-021597 filed in Japan on Feb. 2, 2009. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a technology for forming an image in an image forming apparatus. 
     2. Description of the Related Art 
     In recent years, many image forming apparatuses such as printers are equipped with a function of selecting a feed tray (hereinafter, “feed-tray selection function”) suitable in feeding a paper sheet of a paper size identical to the paper size specified in a printing condition for printing print data. In the case of using a roll paper to feed a paper sheet for printing the print data, the feed-tray selection function selects the feed tray loaded with the suitable roll paper according to the length in a main scanning direction of the original from which the print data is obtained. Thus, the paper size of the original is detected in landscape orientation. However, if the length in a sub-scanning direction of the original is smaller than the minimum sheet conveying length determined in advance with respect to the selected roll paper, then the roll paper is cut into a paper sheet at the minimum conveying length. As a result, there is a risk that a paper sheet of irregular size is fed for printing the print data. 
     To guard against such a problem, Japanese Patent Application Laid-open No. 2005-007694 discloses a technique for cutting a roll paper into a paper sheet of a paper size that is identical to the paper size of the scanned original or identical to the paper size specified in a printing condition received from a host personal computer (PC). Such a configuration facilitates the selection of a suitable feed tray that can feed a paper sheet of a specified paper size. Moreover, in case the length in the sub-scanning direction of a paper sheet cut from a roll paper is smaller than the minimum sheet conveying length of the roll paper, then the feed tray loaded with that roll paper can be ignored while selecting a suitable feed tray. This feature helps in feeding paper sheets of a standard size for printing the print data. 
     However, in the technique disclosed in Japanese Patent Application Laid-open No. 2005-007694, whether a feed tray should be considered or ignored during the selection of a suitable feed tray needs to be determined independently for each feed tray. Moreover, because a roll paper can be cut into paper sheets of a plurality of paper sizes, a feed tray loaded with a roll paper can be selected for feeding paper sheets of a plurality of paper sizes. In that case, it is difficult to limit the use of a feed tray for feeding paper sheets only of a particular paper size if demanded so by the user. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to at least partially solve the problems in the conventional technology. 
     According to one aspect of the present invention, there is provided an image forming apparatus that selects a printing sheet of a size according to a printing condition when printing an image. The image forming apparatus includes a setting unit that sets a target printing sheet on a feed source that can feed recording sheets of a plurality of sizes. 
     Furthermore, according to another aspect of the present invention, there is provided a computer program product including a computer-usable medium having computer-readable program codes embodied in the medium for selecting a printing sheet of a size according to a printing condition when printing an image. The program codes when executed cause a computer to execute setting a target printing sheet on a feed source that can feed recording sheets of a plurality of sizes. 
     The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an exemplary printing system that includes a printer according to a first embodiment of the present invention; 
         FIG. 2  is a block diagram of the printer shown in  FIG. 1 ; 
         FIG. 3  is a schematic diagram for explaining an exemplary modular configuration of a computer program stored in a program ROM shown in  FIG. 2 ; 
         FIG. 4  is an exemplary table that includes information necessary in paper sheet selection; 
         FIG. 5  is a flowchart for explaining the sequence operations in paper sheet selection according to the first embodiment; 
         FIG. 6  is a schematic diagram of an exemplary paper selection setting screen used to specify a paper size of target paper sheets for selection; 
         FIG. 7  is a schematic diagram for explaining an example of updating the table shown in  FIG. 4  according to the paper size specified from the paper selection setting screen; 
         FIG. 8  is a flowchart for explaining the sequence of operations in updating the table shown in  FIG. 4 ; 
         FIG. 9  is an exemplary table in which paper width of a plurality of feed papers and paper sizes of paper sheets feedable from each paper width are placed in a corresponding manner; 
         FIG. 10  is a schematic diagram for explaining an example of updating the table shown in  FIG. 4  when a roll paper of A4-width is replaced by a roll paper of A3-width; 
         FIG. 11  is an exemplary table in which a roll paper width of each roll paper loaded in the past and a paper size of target paper sheets for selection are stored in a corresponding manner; 
         FIG. 12  is a flowchart for explaining the sequence of operations in setting target paper sheets for selection when a roll paper is newly loaded; 
         FIG. 13  is a schematic diagram of an exemplary page orientation setting screen used to specify a page orientation of target paper sheets for selection; 
         FIG. 14  is a schematic diagram for explaining an example of updating the table shown in  FIG. 4  according to the page orientation specified from the page orientation setting screen; 
         FIG. 15  is a schematic diagram for explaining the updated table after a roll paper  1  of A4-width shown in the table in  FIG. 14  is replaced with a roll paper  1  of A0-width; 
         FIG. 16  is a schematic diagram of an exemplary combination setting screen used to specify combinations of paper width and page orientation of target paper sheets for selection with respect to each loadable roll paper width; 
         FIG. 17  is an exemplary table of all loadable roll paper widths and the combinations of paper width and page orientation of target paper sheets for selection corresponding to each loadable roll paper width; 
         FIG. 18  is a schematic diagram for explaining an example of updating the table shown in  FIG. 17  according to the combinations of paper width and page orientation specified from the combination setting screen; and 
         FIG. 19  is a flowchart for explaining the sequence of operations in setting target paper sheets for selection when a roll paper is newly loaded or when the combinations of paper width and page orientation of target paper sheets for selection are changed. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Exemplary embodiments of the present invention are described in detail below with reference to the accompanying drawings. The present invention is not limited to these exemplary embodiments. Although the exemplary embodiments are described with reference to a printer as an image forming apparatus, the exemplary embodiments are also applicable for any image processing apparatus such as a facsimile machine, a scanner, a copier, and a multifunction product (MFP) that performs the functions of facsimileing, scanning, printing, and copying. 
       FIG. 1  is a block diagram of an exemplary printing system that includes a printer  101  according to a first embodiment of the present invention. In the printing system, the printer  101  is connected to a host PC  102  arranged in plurality via a network  103  such as Internet. The printer  101  receives print data from the host PC  102 , converts the print data into video data, and prints the video data on a recording medium. 
       FIG. 2  is a block diagram of the printer  101 . The printer  101  includes a controller  201 , an operation panel  202 , and a printer engine  203 . 
     The operation panel  202  includes a display unit (not shown) and a switch unit (not shown). The display unit is used to display information regarding different states of the printer  101  to the user. The user can instruct printing or deletion of particular documents from among a list of stored documents displayed on the display unit. The switch unit allows the user to specify various printing conditions such as a printing mode, a printing font, and paper size of the paper sheet to be used for printing. When the user specifies printing conditions or instructs printing/deletion of particular documents, the operation panel  202  converts the user-specified information into control signals and sends the control signals to the controller  201 . 
     The controller  201  receives control signals from the operation panel  202  (or from the host PC  102  via the network  103 ) and, based on the control signals, converts the print data received from the host PC  102  into video signals that represent video data. The controller  201  then sends the control signals and the video signals to the printer engine  203 . 
     The printer engine  203  selects a paper sheet of the user-specified paper size and performs printing on the selected paper sheet. The printer engine  203  includes a feed tray unit  203   a,  a feeding unit  203   b,  a printing unit  203   c,  a discharging unit  203   d,  and a catch tray  203   e.    
     The feed tray unit  203   a  includes a plurality of paper feed trays (not shown) in each of which a certain type of feed paper (e.g., roll paper or cut paper) can be loaded. For example, a roll paper  1  can be used to feed a paper sheet of a plurality of paper sizes such as a paper sheet of A4-width short edge feed (SEF) orientation and a paper sheet of A5-width long edge feed (LEF) orientation. A roll paper  2  can be used to feed a paper sheet of a plurality of paper sizes such as a paper sheet of A3-width SEF orientation and a paper sheet of A4-width LEF orientation. A cut paper  1  can be used to feed a paper sheet of A4-width LEF orientation. A cut paper  2  can be used to feed a paper sheet of B5-width LEF orientation. When feeding a paper sheet from a roll paper, a cutter (not shown) in the feed tray unit  203   a  cuts, under the control of the controller  201 , the roll paper into a paper sheet of standard paper size feedable from that roll paper. The feed tray unit  203   a  detects the paper width of a roll paper and the paper size of a cut paper and outputs the detection result to the controller  201 . Meanwhile, although the following description is given under the assumption that the roll paper  1  or the roll paper  2  is cut into paper sheets of a plurality of paper sizes for printing, it is also possible to cut the cut paper  1  and the cut paper  2  into paper sheets of a plurality of paper sizes for printing. 
     The feeding unit  203   b  selects a paper sheet according to an instruction from the controller  201  and feeds the selected paper sheet to the printing unit  203   c.  The printing unit  203   c  uses the video signals and the control signals received from the controller  201  and forms an electrostatic latent image on a photosensitive member (not shown) by implementing a predetermined recording method such as electrophotographic recording, develops the electrostatic latent image to obtain a developed image, transfers the developed image on the fed paper sheet, and fixes the transferred image to the paper sheet by applying heat and pressure. Subsequently, the discharging unit  203   d  discharges the paper sheet to the catch tray  203   e.    
     The controller  201  has a modular configuration of a host interface (I/F)  204 , a program read only memory (ROM)  205 , a font ROM  206 , a panel I/F  207 , a central processing unit (CPU)  208 , a random access memory (RAM)  209 , a nonvolatile RAM (NV-RAM)  210 , and a printer engine I/F  211  interconnected via a bus  212 . 
     The host I/F  204  functions as an interface in transmitting control signals and print data from the host PC  102  to the printer  101  and transmitting status signals from the printer  101  to the host PC  102 . 
     The panel I/F  207  functions as an interface in transmitting the control signals from the operation panel  202  to the controller  201 . The printer engine I/F  211  functions as an interface in transmitting control signals and video signals from the controller  201  to the printer engine  203  and transmitting status signals from the printer engine  203  to the controller  201 . The font ROM  206  is used to store a variety of fonts used in printing. 
     The NV-RAM  210  is used to store data that needs to be retained even when the printer  101  is switched OFF. 
     The RAM  209  is a volatile memory that loses stored data when the printer  101  is switched OFF. The RAM  209  is used as a work memory during the processing performed by the CPU  208 , as a buffer for administering on a page-by-page basis the data received form the host PC  102  and temporarily storing the data, and as a bitmap memory for converting the data stored in a buffer into actual printing patterns and storing video data. 
     It is assumed that a computer program executed in the printer  101  is stored in the program ROM  205  in advance. Instead, the computer program can be provided in the form of an installable or executable file on a computer-readable storage device such as a compact disk read only memory (CD-ROM), a flexible disk (FD), a compact disk recordable (CD-R), and a digital versatile disk (DVD). 
     Alternatively, the computer program can be stored in a computer connected over a network such as the Internet and can be downloaded in the NV-RAM  210  as necessary. Furthermore, the computer program can also be distributed over a network such as the Internet. 
     The CPU  208  centrally controls operations of the printer  101  in entirety and executes the computer program stored in the program ROM  205 , which is the primary storage unit in the printer  101 , to perform data processing of a variety of data (print data, control signals) received from the host PC  102 . 
       FIG. 3  is a schematic diagram for explaining an exemplary modular configuration of the computer program stored in the program ROM  205 . 
     As shown in  FIG. 3 , the computer program includes a page description language (PDL) analysis module  301 , a job control module  302 , and a service-providing module group  308 . The service-providing module group  308  includes a network administration module  303 , a memory control module  304 , a print control module  305 , a system administration module  306 , and an operation-panel control module  307 . The modules in the service-providing module group  308  collectively respond to a request from an upper-layer module (job control module  302 ) by communicating with each other and sharing the workload for performing basic operations of the printer  101 . 
     The PDL analysis module  301  analyzes PDL data (print data) obtained from the host PC  102  and accordingly generates a print image (video data). More particularly, the PDL analysis module  301  receives PDL data from the network administration module  303  via the job control module  302  and generates a print image on a memory (e.g., RAM  209 ), which is secured by the memory control module  304 , via the job control module  302 . At the time of generating the print image, the PDL analysis module  301  obtains configuration information of the printer  101  from the system administration module  306  via the job control module  302 . The configuration information of the printer  101  includes, e.g., information regarding attached/detached status of the feed tray unit  203   a  and the catch tray  203 e and information regarding paper sizes of paper sheets feedable by each feed paper set in the paper feed trays. 
     The job control module  302  controls PDL processing in entirety and issues necessary requests to the modules in the service-providing module group  308  according to the demands of the PDL analysis module  301 . More particularly, the job control module  302  instructs the network administration module  303  to output PDL data received from the host PC  102  and then sends the PDL data to the PDL analysis module  301 . Similarly, the job control module  302  instructs the system administration module  306  to output the configuration information of the printer  101  and sends the configuration information to the PDL analysis module  301 . Moreover, the job control module  302  instructs the memory control module  304  to secure necessary amount of memory (e.g., RAM  209 ) for storing the print image generated by the PDL analysis module  301 . Furthermore, the job control module  302  instructs the print control module  305  to print the print image generated by the PDL analysis module  301 . 
     The memory control module  304  performs memory control of internal memory units (RAM  209 , NV-RAM  210 ) of the printer  101  and memory control of an external storage device. More particularly, according to a request from the job control module  302 , the memory control module  304  performs allocation/deallocation of the internal memory units or allocation/deallocation of the external storage device. 
     The print control module  305  controls printing of the print image that is generated by the PDL analysis module  301  and stored in an internal memory unit or in the external storage device under the memory control of the memory control module  304 . For example, the print control module  305  issues various requests such as a paper feeding request, a paper discharging request, and a finishing processing request. Moreover, the print control module  305  also detects errors in printing and notifies the job control module  302  of the errors. 
     The network administration module  303  administers the network  103 , processes control signals and print data received from the host PC  102  via the network  103 , and administers the transmission of status signals from the printer  101  to the host PC  102  via the network  103 . More particularly, the network administration module  303  administers a communication protocol such as a file transfer protocol (FTP) or a line printer remote (LPR) protocol that is necessary to receive data from the host PC  102  via the network  103 , receives the data via the network  103  by using the communication protocol, and sends the received data to the job control module  302 . 
     The operation-panel control module  307  controls the displays on the display unit of the operation panel  202  and administers the user operations on the operation panel  202 . Based on a request issued by another module, the operation-panel control module  307  displays the current state of the printer  101  on the operation panel  202  or displays a menu screen (not shown) from which the user can change the printer settings administered by the system administration module  306 , or an error screen (not shown) that notifies the user of an error and prompts the user to take necessary action. When the user presses a button (not shown) displayed on the menu screen or on the error screen, the operation-panel control module  307  recognizes the button press action and notifies the other modules of the button press action. 
     The user is allowed to select a desired paper size as the printing condition by pressing a corresponding button displayed in the menu screen. The operation-panel control module  307  recognizes the button press action and receives the user-specified paper size. Meanwhile, instead of allowing the user to select a paper size from the operation panel  202 , the printer  101  can be configured to allow the user to specify a desired page orientation as the printing condition. Moreover, instead of configuring the operation-panel control module  307  to receive the paper size specified via the menu screen of the operation panel  202 , it is also possible to configure the network administration module  303  to receive a paper size from the control signals sent by the host PC  102 . 
     The system administration module  306  administers the configuration information and the status of the printer  101 . The configuration information of the printer  101  includes information regarding the attached/detached status of the feed tray unit  203   a  and the catch tray  203   e  and the details about the feed papers set in the paper feed trays. For example, the details about the feed papers include feed paper names, order of priority for the feed papers in selecting a paper sheet for printing, a combination of paper width and page orientation of paper sheets feedable by each feed paper, and paper sizes of paper sheets feedable by each feed paper. The status of the printer  101  indicates the current mode of the printer  101  (e.g., a printing mode or a stand-by mode) or indicates whether an error such a paper-jam error or a paper-out error has occurred in the printer  101 . The system administration module  306  notifies the other modules of the configuration information and the status of the printer  101  and administers the user-made changes in the customizable printer settings. Herein, it is assumed that the order of priority for the feed papers is set in ascending order of the length of a sheet conveying path through which a paper sheet fed by each feed paper is conveyed. However, if a particular feed paper is determined in advance to have the highest priority in feeding a paper sheet, then the system administration module  306  uses that feed paper irrespective of the length of the corresponding sheet conveying path. 
     With respect to each feed paper that can feed paper sheets of one or more paper sizes, the system administration module  306  sets paper sheets of particular paper sizes as target paper sheets for selection, from among which a paper sheet is actually selected for the printing job. More particularly, the system administration module  306  refers to the configuration information for the paper sizes of paper sheets feedable by each feed paper and determines which of those paper sheets are target paper sheets for selection (hereinafter, “target paper sheet setting”). 
     The system administration module  306  holds information necessary for selecting a paper sheet for printing (hereinafter, “paper sheet selection”) in the form of a table and selects a paper sheet for printing according to the information in the table.  FIG. 4  is an exemplary table that includes the information necessary in paper sheet selection. In the table shown in  FIG. 4 , the information regarding the feed paper names, the order of priority for the feed papers in paper sheet selection, the combination of paper width and page orientation of paper sheets feedable by each feed paper, the paper sizes of paper sheets feedable by each feed paper, and the target paper sheet setting for each feed paper is placed in a corresponding manner. The system administration module  306  generates the table shown in  FIG. 4  by using the information regarding the user-specified paper size, which is received by the operation-panel control module  307  from the operation panel  202 , and the configuration information of the printer  101 . In the table shown in  FIG. 4 , the paper sheets indicated by a status “target” are the target paper sheets for selection, while the paper sheets indicated by a status “non-target” are the paper sheets that are not the target paper sheets for selection (hereinafter, “non-target paper sheets for selection”). 
     For example, the paper sheet of A4-size feedable by the roll paper  1  is a target paper sheet for selection indicated by the status “target”. Thus, if A4-size is mentioned in the PDL data received by the PDL analysis module  301  from the host PC  102 , then the roll paper  1  can be selected to feed a paper sheet of A4-size. On the other hand, the paper sheet of A5-size feedable by the roll paper  1  is a non-target paper sheet for selection indicated by the status “non-target”. Thus, if A5-size is mentioned in the PDL data received by the PDL analysis module  301  from the host PC  102 , then the roll paper  1  cannot be selected to feed a paper sheet of A5-size. In this way, the system administration module  306  selects a paper sheet only from among the target paper sheets for selection. 
     As shown in  FIG. 4 , a paper sheet of A4-size feedable by each of the roll paper  1 , the roll paper  2 , and the cut paper  1  is a target paper sheet for selection. Thus, if A4-size is mentioned in the PDL data received by the PDL analysis module  301  from the host PC  102 , the system administration module  306  can select any one of the roll paper  1 , the roll paper  2 , and the cut paper  1  to feed a paper sheet of A4-size. In such a case, the system administration module  306  selects the feed paper from among the roll paper  1 , the roll paper  2 , and the cut paper  1  that is determined to have the highest priority in feeding a paper sheet. Meanwhile, if the page orientation is mentioned in addition to the paper size in the PDL data received by the PDL analysis module  301  from the host PC  102 , the system administration module  306  refers to the table shown in  FIG. 4  and selects a paper sheet that has the same page orientation as that mentioned in the PDL data. 
       FIG. 5  is a flowchart for explaining the sequence operations in paper sheet selection. 
     First, the system administration module  306  refers to the table shown in  FIG. 4  and searches for the paper sheet of, although not limited to, LEF orientation feedable by each feed paper (Step S 501 ) and stores the feed paper names and information regarding the paper sheets of LEF orientation in a register (not shown) of the CPU  208 . The register is a high-speed and small-capacity memory compared to the RAM  209  and is used to store only the frequently-accessed information such as computational results or execution states. However, instead of using the register, the feed paper names and information regarding the paper sheets of LEF orientation can also be stored in the RAM  209  or in a hard disk drive (HDD) (not shown) of the printer  101 . Subsequently, the system administration module  306  searches the table shown in  FIG. 4  for the paper sheet feedable by that feed paper which is determined to have the highest priority in feeding a paper sheet (Step S 502 ). Meanwhile, if the SEF orientation is mentioned as a printing condition received by the PDL analysis module  301 , the system administration module  306  can search for the paper sheets of SEF orientation instead of searching for the paper sheets of LEF orientation. 
     The system administration module  306  then refers to the table shown in  FIG. 4  and determines whether the paper size mentioned in the PDL data received by the PDL analysis module  301  matches with the paper size of the paper sheet found at Step S 502  and whether the paper sheet found at Step S 502  is a target paper sheet for selection (Step S 503 ) and deletes the feed paper name of the feed paper that can feed the paper sheet found at Step S 502  from the register. 
     If the paper size specified in the PDL data received by the PDL analysis module  301  matches with the paper size of the paper sheet found at Step S 502  and if the paper sheet found at Step S 502  is a target paper sheet for selection (Yes at Step S 503 ), then the system administration module  306  selects the paper sheet found at Step S 502  for printing (Step S 504 ). 
     On the other hand, if the paper size specified in the PDL data received by the PDL analysis module  301  matches with the paper size of the paper sheet found at Step S 502  but the paper sheet found at Step S 502  is a non-target paper sheet for selection (No at Step S 503 ) or if the paper size specified in the PDL data received by the PDL analysis module  301  does not match with the paper size of the paper sheet found at Step S 502  (No at Step S 503 ), then the system administration module  306  determines, in the descending order of priority for the feed papers (e.g., in the order of the roll paper  1 , the roll paper  2 , the cut paper  1 , and the cut paper  2 ), whether Step S 503  is performed with respect to each paper sheet of LEF orientation found at Step S 501  (Step S 505 ). 
     If Step S 503  is yet to be performed with respect to each paper sheet of LEF orientation found at Step S 501  (No at Step S 505 ), the system administration module  306  refers to the table shown in  FIG. 4  and searches for the paper sheet of LEF orientation feedable by the feed paper of the second-highest priority (Step S 506 ) and the system control returns to Step S 503 . 
     If Step S 503  has been performed with respect to each paper sheet of LEF orientation found at Step S 501  (Yes at Step S 505 ), the system administration module  306  clears the register of the feed paper names and the information regarding the paper sheets of LEF orientation and determines, by referring to the table shown in  FIG. 4 , whether Step S 503  is performed with respect to the paper sheets of SEF orientation (Step S 507 ). 
     If Step S 503  has been performed with respect to the paper sheets of SEF orientation (Yes at Step S 507 ), the process is completed without selection of a paper sheet. On the other hand, when Step S 503  is yet to be performed with respect to the paper sheets of SEF orientation (No at Step S 507 ), the system administration module  306  searches the table shown in  FIG. 4  for the paper sheet of SEF orientation feedable by each feed paper and stores the feed paper names and information regarding the paper sheets of SEF orientation in the register (Step S 508 ). Subsequently, the system administration module  306  performs paper sheet selection with respect to the paper sheets of SEF orientation in an identical manner to the paper sheet selection with respect to the paper sheets of LEF orientation. 
     In the flowchart shown in  FIG. 5 , the search for paper sheet selection is narrowed down in the sequence of the page orientation, the order of priority for the feed papers, the paper size, and the target paper sheet setting. Instead, the search can be narrowed down in any other sequence such as in the sequence of the page orientation, the paper size, the target paper sheet setting, and the order of priority for the feed papers. 
     In this way, according to the first embodiment, with respect to a feed paper that can feed paper sheets of one or more paper sizes, particular paper sheets are set as target paper sheets for selection. Thus, it is possible to determine the paper sizes for which the paper sheets feedable by that feed paper are set as the target paper sheets for selection. 
     Given below is the description of the printer  101  according to a second embodiment of the present invention. The printer  101  according to the second embodiment has a substantially identical configuration/functionality to that according to the first embodiment. Hence, that description is not repeated for clarity. According to the second embodiment, the user is allowed to specify a paper size that is used to set target paper sheets for selection feedable by a particular feed paper. That enables the printer  101  to perform paper sheet selection that meets the user requirements. 
     The operation-panel control module  307  receives, from among a plurality of paper sizes of paper sheets feedable by a particular feed paper, the user-specified paper size of the target paper sheets for selection. More particularly, the user-specified paper size of the target paper sheets for selection received by the operation-panel control module  307  is one of the paper sizes of paper sheets feedable by the feed papers mentioned in the configuration information, which is administered by the system administration module  306 . 
     The print control module  305  detects the paper width of paper sheets feedable by the currently-loaded feed paper. In the case of a roll paper, the paper width of the roll paper (hereinafter, “roll paper width”) is the paper width of the paper sheets feedable by that roll paper. Thus, when the currently-loaded feed paper is a roll paper, the print control module  305  detects the roll paper width. 
     Subsequently, based on the paper width of paper sheets feedable by the currently-loaded feed paper, the operation-panel control module  307  obtains all the combinations of paper width and page orientation and all the paper sizes of paper sheets feedable by the currently-loaded feed paper (see Japanese Patent Application Laid-open No. H08-113413) and then receives the user-specified paper size of the target paper sheets for selection from among the obtained paper sizes. 
     For example, a roll paper of A0-width presumably feeds paper sheets of A0-width SEF orientation and paper sheets of A1-width LEF orientation, which is obtained by cutting paper sheets of A0-width SEF in half lengthwise. In that case, the operation-panel control module  307  obtains A0-size and A1-size as the paper sizes of the paper sheets feedable by the roll paper of A0-width. As is evident in this example, a roll paper can widthwise feed paper sheets of two standard paper sizes. If irregular paper sizes are also taken into consideration, then a roll paper can widthwise feed paper sheets of more than two paper sizes. 
       FIG. 6  is a schematic diagram of an exemplary paper selection setting screen displayed on the operation panel  202  by the operation-panel control module  307 . The operation-panel control module  307  receives the user-specified paper size of the target paper sheets for selection from the paper selection setting screen. The paper selection setting screen shown in  FIG. 6  is displayed when the currently-loaded feed paper is the roll paper  1  of A4-width. In that case, the print control module  305  detects A4-size and A5-size as the paper sizes of the paper sheets feedable by the roll paper  1  of A4-width. The user has the option of not specifying a paper size of the target paper sheets for selection or specifying A4-size as the paper size of the target paper sheets for selection, A5-size as the paper size of the target paper sheets for selection, and both A4-size and A5-size as the paper sizes of the target paper sheets for selection. For that, the user can press a “size of target sheet: none” button  601 , a “size of target sheet: A4” button  602 , a “size of target sheet: A4 and A5” button  603 , and a “size of target sheet: A5” button  604 , respectively, and then press an “ok” button  605 . Meanwhile, if the feed paper is a cut paper instead of the roll paper  1  of A4-width, the operation-panel control module  307  displays a paper selection setting screen (not shown) similar to that shown in  FIG. 6  on the operation panel  202  and receives the user-specified paper size of the target paper sheets for selection from the paper selection setting screen. 
     The system administration module  306  sets the target paper sheets for selection based on the user-specified paper size. That is, the system administration module  306  updates the target paper sheet setting in the table shown in  FIG. 4  of those paper sheets that are of the user-specified paper size and performs paper sheet selection by referring to the updated table. 
       FIG. 7  is a schematic diagram for explaining an example of updating the table shown in  FIG. 4  according to the user-specified paper size. Herein, the table is updated on the assumption that the user presses the “size of target sheet: A5” button  604  on the paper selection setting screen shown in  FIG. 6 . As a result, the system administration module  306  updates the target paper sheet setting corresponding to A5-size to the status “target” and updates the target paper sheet setting corresponding to A4-size to the status “non-target”. In this way, depending on the user-specified paper size, a non-target paper sheet for selection can be changed to a target paper sheet for selection and vice versa. Meanwhile, the feed paper names in the table shown in  FIG. 4  are non-customizable entities that cannot be changed by the user. On the other hand, the order of priority for the feed papers and the target paper sheet setting are customizable entities that the user can arbitrarily change. Moreover, when a roll paper is newly loaded in a paper feed tray, the combinations of paper width and page orientation and the paper sizes of the paper sheets feedable by the newly-loaded roll paper are automatically determined based on the corresponding roll paper width. 
     In this way, according to the second embodiment, the target paper sheets for selection are set by receiving one or more user-specified paper sizes from among a plurality of paper sizes of paper sheets feedable by a particular feed paper. That enables the printer  101  to perform paper sheet selection that meets the user requirements. 
       FIG. 8  is a flowchart for explaining the sequence of operations in updating the table shown in  FIG. 4 . Assume that a roll paper is newly loaded in a paper feed tray and the newly-loaded roll paper has a different roll paper width than the roll paper width of the previously-loaded roll paper. In that case, the print control module  305  detects the roll paper width of the newly-loaded roll paper (Step S 1801 ). Subsequently, the operation-panel control module  307  obtains the paper sizes feedable from the roll paper width of the newly-loaded roll paper (Step S 1802 ), notifies the system administration module  306  of the feedable paper sizes, and stores the feedable paper sizes in the NV-RAM  210  (Step S 1803 ). 
       FIG. 9  is an exemplary table in which the paper width of a plurality of feed papers and the paper sizes of the paper sheets feedable from each paper width are placed in a corresponding manner. The operation-panel control module  307  refers to the table shown in  FIG. 9  and obtains the paper sizes of the paper sheets feedable from the roll paper width of the newly-loaded roll paper. 
     If the user presses a “priority order setting” button (not shown) on the operation panel  202  (Step S 1804 : “priority order setting” button), then the operation-panel control module  307  displays a priority order setting screen (not shown) on the operation panel  202  (Step S 1805 ). The user can specify an order of priority for the feed papers from the priority order setting screen. The operation-panel control module  307  stores the user-specified order of priority in the NV-RAM  210  (Step S 1806 ) and updates the table shown in  FIG. 4  according to the user-specified order of priority (Step S 1807 ). 
     On the other hand, if the user presses a “paper selection setting” button (not shown) on the operation panel  202  (Step S 1804 : “paper selection setting” button), then the operation-panel control module  307  obtains the information regarding the feedable paper sizes from the system administration module  306  or from the NV-RAM  210  (Step S 1808 ) and displays the paper selection setting screen shown in  FIG. 6  on the operation panel  202  (Step S 1809 ). The user can specify one or more paper sizes from the paper selection setting screen. The operation-panel control module  307  stores the user-specified paper sizes in the NV-RAM  210  (Step S 1810 ) and updates the table shown in  FIG. 4  according to the user-specified paper sizes (Step S 1811 ). 
     Meanwhile, in the table shown in  FIG. 4 , the order of priority and the target paper sheet setting are assigned with default values for printing. Thus, in case the operations from Step S 1808  to Step S 1811  are not performed, the default values for printing are set in the target paper sheet setting. For example, in the table shown in  FIG. 4 , a default value “default” can be assigned to the paper sheets of A4-size and A5-size feedable by the roll paper  1 . 
     Given below is the description of the printer  101  according to a third embodiment of the present invention. The printer  101  according to the third embodiment has a substantially identical configuration/functionality to that according to the second embodiment. Hence, that description is not repeated for clarity. According to the second embodiment, when a roll paper is newly loaded in a paper feed tray, the combinations of paper width and page orientation and the paper sizes of the paper sheets feedable by the newly-loaded roll paper differ from the combinations of paper width and page orientation and the paper sizes of the paper sheets feedable by the previously-loaded roll paper. Thus, when a roll paper of different roll paper width is newly loaded, the print control module  305  detects the combinations of paper width and page orientation and the paper sizes of the paper sheets feedable by the newly-loaded roll paper and the table shown in  FIG. 4  is updated with that information. However, the target paper sheet setting in the table does not get updated corresponding to the newly-loaded roll paper. Thus, there is a possibility that the target paper sheet setting corresponding to the previously-loaded roll paper gets applied to the newly-loaded roll paper. As a result, there is a risk that a paper sheet is incorrectly set as the target paper sheet for selection. To guard against such a problem, it is necessary to clear the details of the target paper sheet setting corresponding to the previously-loaded roll paper from the table shown in  FIG. 4 . For that, according to the third embodiment, the target paper sheet setting is updated in such a way that the paper sheets of all paper sizes feedable by the newly-loaded roll paper are set as the target paper sheets for selection. 
     The memory control module  304  stores the roll paper width detected by the print control module  305  in the NV-RAM  210 . 
     As described above, when the roll paper width of the newly-loaded roll paper differs from the roll paper width of the previously-loaded roll paper, then the system administration module  306  sets the paper sheets of all paper sizes feedable by the newly-loaded roll paper as the target paper sheets for selection. However, alternatively, the paper sheets of all paper sizes feedable by the newly-loaded roll paper can be set as the non-target paper sheets for selection. 
       FIG. 10  is a schematic diagram for explaining an example of updating the table shown in  FIG. 4  when the roll paper  1  of A4-width is replaced by the roll paper  1  of A3-width. In that case, the system administration module  306  sets the paper sheets of all paper sizes (A3-size and A4-size) feedable by the roll paper  1  of A3-width as the target paper sheets for selection. 
     In this way, according to the third embodiment, if the roll paper width of the newly-loaded roll paper differs from the roll paper width of the previously-loaded roll paper, the paper sheets of all paper sizes feedable by the newly-loaded roll paper are set as the target paper sheets for selection. As a result, it becomes possible to clear the target paper sheet setting corresponding to the previously-loaded roll paper thereby preventing a mismatch between the newly-loaded roll paper and the corresponding target paper sheet setting. 
     Given below is the description of the printer  101  according to a fourth embodiment of the present invention. The printer  101  according to the fourth embodiment has a substantially identical configuration/functionality to that according to the third embodiment. Hence, that description is not repeated for clarity. As described in the second embodiment, when a roll paper is newly loaded, there is a possibility that the target paper sheet setting corresponding to the previously-loaded roll paper gets applied to the newly-loaded roll paper. Thus, to achieve paper sheet selection according to the user requirements, it becomes necessary for the user to change the target paper sheet setting each time a new roll paper is loaded. To avoid such a problem, according to the fourth embodiment, the roll paper width of each roll paper loaded in the past is stored along with the corresponding user-specified paper size. Thus, when a roll paper, which has the roll paper width identical to the roll paper width of a roll paper loaded in the past, is newly loaded, then the user-specified paper size stored corresponding to the roll paper width of the newly-loaded roll paper is obtained and the paper sheets of the user-specified paper size are set as the target paper sheets for selection. 
     The memory control module  304  stores the roll paper width of the newly-loaded roll paper detected by the print control module  305  and the user-specified paper size of the target paper sheets for selection obtained by the operation-panel control module  307  in the NV-RAM  210  in a corresponding manner. 
       FIG. 11  is an exemplary table in which the roll paper width of each roll paper loaded in the past and the user-specified paper size of the target paper sheets for selection are stored in a corresponding manner. In the table shown in  FIG. 11 , the column of “roll paper width” indicates the roll paper width of the roll papers loaded in the past, the column of “SEF orientation” indicates the SEF orientation of the paper sheets feedable widthwise from the corresponding roll paper width, and the column of “LEF orientation” indicates the LEF orientation of the paper sheets feedable widthwise from the corresponding roll paper width. If the column of “SEF orientation” or the column of “LEF orientation” corresponding to a particular roll paper width includes the status “target”, then the paper size in that orientation is the paper size of the target paper sheet for selection. For example, regarding a roll paper width of A0 in the table shown in  FIG. 11 , the paper size of the paper sheet in the SEF orientation (i.e., A0-size) is indicated to be the paper size of the target paper sheets for selection, while the paper size of the paper sheet in the LEF orientation (i.e., A1-size) is not indicated to be the paper size of the target paper sheets for selection. 
     If the roll paper width of the newly-loaded roll paper matches with the roll paper width of one of the roll papers stored by the memory control module  304 , then the operation-panel control module  307  obtains the paper size stored in the table shown in  FIG. 11  corresponding to the roll paper width of the newly-loaded roll paper and sets that paper size as the paper size of the target paper sheets for selection. On the other hand, if the roll paper width of the newly-loaded roll paper does not match with any roll paper width stored by the memory control module  304 , then the operation-panel control module  307  sets the paper sheets of all paper sizes feedable by the newly-loaded roll paper as the target paper sheets for selection identical to description in the third embodiment. 
       FIG. 12  is a flowchart for explaining the sequence of operations in setting the target paper sheets for selection when a roll paper is newly loaded. 
     When a roll paper is newly loaded in a paper feed tray, the print control module  305  detects the roll paper width of the newly-loaded roll paper (Step S 1001 ). 
     Then, the operation-panel control module  307  determines whether the roll paper width of the newly-loaded roll paper matches with the roll paper width of one of the roll papers stored in the table shown in  FIG. 11  (Step S 1002 ). 
     If the roll paper width of the newly-loaded roll paper matches with the roll paper width of one of the roll papers stored in the table shown in  FIG. 11  (Yes at Step S 1002 ), the operation-panel control module  307  obtains the paper size stored in the table shown in  FIG. 11  corresponding to the roll paper width of the newly-loaded roll paper and sets the paper sheets of that paper size as the target paper sheets for selection (Step S 1003 ). On the other hand, if the roll paper width of the newly-loaded roll paper does not match with any roll paper width stored in the table shown in  FIG. 11 , then the operation-panel control module  307  sets the paper sheets of all paper sizes feedable by the newly-loaded roll paper as the target paper sheets for selection identical to description in the third embodiment (Step S 1004 ). 
     In this way, according to the fourth embodiment, the roll paper width of each roll paper loaded in the past is stored along with the corresponding user-specified paper size. Thus, when a roll paper having the roll paper width identical to that of a roll paper loaded in the past is newly loaded, then the paper sheets of the paper size stored corresponding to the roll paper width of the newly-loaded roll paper can be set as the target paper sheets for selection. That eliminates the need to change the target paper sheet setting each time a new roll paper is loaded. 
     Given below is the description of the printer  101  according to a fifth embodiment of the present invention. The printer  101  according to the fifth embodiment has a substantially identical configuration/functionality to that according to the second embodiment. Hence, that description is not repeated for clarity. As described in the second embodiment, the target paper sheets for selection are set according to the user-specified paper size. Instead, according to the fifth embodiment, the user is allowed to specify a page orientation that is used to set target paper sheets for selection feedable by a particular feed paper. Such a configuration is possible because each standard paper size of a paper sheet feedable by a feed paper has either one of the SEF orientation and the LEF orientation as its page orientation. That is, the standard paper sizes and the page orientations of a paper sheet feedable by a feed paper have a one-to-one correspondence. 
     The operation-panel control module  307  receives the user-specified page orientation of the target paper sheets for selection from among the SEF orientation and the LEF orientation. 
       FIG. 13  is a schematic diagram of an exemplary page orientation setting screen displayed on the operation panel  202  by the operation-panel control module  307 . The operation-panel control module  307  receives the user-specified page orientation of the target paper sheets for selection from the page orientation setting screen. The page orientation setting screen shown in  FIG. 13  is displayed when the currently-loaded feed paper is the roll paper  1  of A4-width and the user can specify the page orientation of the target paper sheet for selection from among the A4-width SEF orientation (i.e., paper sheet of A4-size) and the A4-width LEF orientation (i.e., paper sheet of A5-size). The user has the option of not specifying a page orientation of the target paper sheets for selection or specifying the A4-width SEF orientation as the page orientation of the target paper sheets for selection, the A4-width LEF orientation as the page orientation of the target paper sheets for selection, and both the A4-width SEF orientation and the A4-width LEF orientation as the page orientations of the target paper sheets for selection. For that, the user can press an “orientation of target sheet: none” button  1101 , an “orientation of target sheet: SEF” button  1102 , an “orientation of target sheet: SEF and LEF” button  1103 , and an “orientation of target sheet: LEF” button  1104 , respectively, and then press an “ok” button  1105  on the page orientation setting screen. Meanwhile, if the feed paper is a cut paper instead of the roll paper  1  of A4-width, the operation-panel control module  307  displays a page orientation setting screen similar to that shown in  FIG. 13  on the operation panel  202  and receives the user-specified page orientation of the target paper sheets for selection from the page orientation setting screen. 
     The system administration module  306  sets the target paper sheets for selection based on the user-specified page orientation. That is, the system administration module  306  the target paper sheet setting in the table shown in  FIG. 4  of those paper sheets that are in the user-specified page orientation and performs paper sheet selection by referring to the updated table. 
       FIG. 14  is a schematic diagram for explaining example of updating the table shown in  FIG. 4  according to the user-specified page orientation. Herein, the table is updated on the assumption that the user presses the “orientation of target sheet: LEF” button  1104  on the page orientation setting screen shown in  FIG. 13 . As a result, the system administration module  306  updates the target paper sheet setting corresponding to the A4-size LEF orientation to the status “target” and updates the target paper sheet setting corresponding to the A4-size SEF orientation to the status “non-target”. 
     As described in the second embodiment, the paper size of the page sheets feedable by a roll paper depends on the corresponding roll paper width. Thus, when the roll paper width of the newly-loaded load paper is different than the previous roll paper width, it is necessary to update the target paper sheet setting corresponding to the newly-loaded roll paper based on the user-specified paper size of the target paper sheets for selection. On the contrary, receiving the page orientation of the target paper sheets for selection according to the fifth embodiment makes it possible to set, even if roll paper having a different roll paper width is newly loaded, the target paper sheets for selection based on the page orientation received for the previously-loaded roll paper. 
     For example, even if the roll paper  1  of A4-width shown in the table in  FIG. 14  is replaced with the roll paper  1  of A0-width, it is still possible to set the target paper sheets for selection based on the page orientation of the target paper sheets for selection received corresponding to the roll paper  1  of A4-width.  FIG. 15  is a schematic diagram for explaining the updated table after the roll paper  1  of A4-width shown in the table in  FIG. 14  is replaced with the roll paper  1  of A0-width. As shown in  FIG. 15 , even if the roll paper width changes from A4 to A0 and the paper sizes of the corresponding paper sheets are different, the target paper sheet for selection corresponding to the roll paper  1  of A0-width can be set based on the page orientation of the target paper sheets for selection received corresponding to the roll paper  1  of A4-width. 
     Given below is the description of the printer  101  according to a sixth embodiment of the present invention. The printer  101  according to the sixth embodiment has a substantially identical configuration/functionality to that according to the fifth embodiment. Hence, that description is not repeated for clarity. According to the sixth embodiment, the user is allowed to specify the combinations of paper width and page orientation that are used to set target paper sheets for selection with respect to all loadable feed papers that can feed paper sheets of one or more paper sizes. The combinations of paper width and page orientation and the target paper sheets for selection are set based on the stored combinations. 
     More particularly, the operation-panel control module  307  receives the combinations of paper width and page orientation with respect to the roll paper of all roll paper widths loadable in a paper feed tray, irrespective of the roll paper width of the currently-loaded roll paper. 
       FIG. 16  is a schematic diagram of an exemplary combination setting screen displayed on the operation panel  202  by the operation-panel control module  307 . The user can specify the combinations of paper width and page orientation of the target paper sheets for selection with respect to each loadable roll paper width by pressing a “combination” button  1401  and an “ok” button  1402  on the combination setting screen. The operation-panel control module  307  receives the user specified combinations of paper width and page orientation of the target paper sheets for selection with respect to each loadable roll paper. For example, even if the currently-loaded feed paper is the roll paper of A4-width, the operation-panel control module  307  receives the user specified combinations of paper width and page orientation of the target paper sheets for selection corresponding to the roll paper of all roll paper widths loadable in the paper feed tray. 
     The memory control module  304  stores all loadable roll paper widths and the combinations of paper width and page orientation of the target paper sheets for selection in a corresponding manner in a table in the NV-RAM  210 . 
       FIG. 17  is an exemplary table of all loadable roll paper widths and the combinations of paper width and page orientation of the target paper sheets for selection corresponding to each loadable roll paper width. When the combinations of paper width and page orientation of the target paper sheets for selection corresponding to a particular roll paper width is changed, the memory control module  304  updates the table shown in  FIG. 17 . Meanwhile, the table in  FIG. 17  is shown noncompliant to a paper sheet of LEF orientation feedable by a roll paper of A0-width and a paper sheet of LEF orientation feedable by a roll paper of B1-width. Moreover, the column of “roll paper width” in the table indicates all loadable roll paper widths of a roll paper, the column of “SEF orientation” indicates the SEF orientation of paper sheets feedable widthwise from the corresponding roll paper width, while the column of “LEF orientation” indicates the LEF orientation of paper sheets feedable widthwise from the corresponding roll paper width. 
     For example, regarding a roll paper of B3-width in the table shown in  FIG. 17 , the combination of the B3-width and the SEF orientation is not indicated to be the combination of paper width and page orientation of a target paper sheet for selection, while the combination of the B3-width and the LEF orientation is indicated to be the combination of paper width and page orientation of a target paper sheet for selection. 
     The print control module  305  detects the paper width of a paper sheet feedable by the loaded feed paper and stores the detected paper width in a register (not shown). 
     The system administration module  306  then sets the target paper sheets for selection based on the combination of paper width and page orientation including the paper width detected by the print control module  305  from among the combinations of paper width and page orientation of all target paper sheets for selection stored in the table shown in  FIG. 17  by the memory control module  304 . 
       FIG. 18  is a schematic diagram for explaining an example of updating the table shown in  FIG. 17  according to the user-specified combinations of paper width and page orientation. For example, assume that the currently-loaded feed paper is a roll-paper of B3-width and the memory control module  304  has stored the table shown in  FIG. 17 . In that case, the system administration module  306  searches the table for the roll paper width of B3 and, because the LEF orientation corresponding to the roll paper width of B3 is indicated by the status “target”, selects a paper sheet of LEF orientation as the target paper sheet for selection. 
       FIG. 19  is a flowchart for explaining the sequence of operations in setting the target paper sheets for selection when a roll paper is newly loaded or when the combinations of paper width and page orientation of the target paper sheets for selection are changed. 
     When a roll paper is newly loaded in a paper feed tray or when the combinations of paper width and page orientation of the target paper sheets for selection stored by the memory control module  304  are changed, the print control module detects the roll paper width of the newly-loaded roll paper (Step S 1701 ). 
     Then, the system administration module  306  searches the table stored in the NV-RAM  210  by the memory control module  304  for the combination of paper width and page orientation including the roll paper width detected by the print control module  305  (Step S 1702 ). 
     Subsequently, the system administration module  306  sets the target paper sheet for selection based on the combination of paper width and page orientation detected at Step S 1702  (Step S 1703 ). 
     For example, assume that the target paper sheets for selection are set based on the paper sizes of the paper sheets feedable by the roll paper of A0-width and the roll paper width of the currently-loaded roll paper is other than A0. In such a case, conventionally, there is a risk that the mismatch in paper widths causes an error such as a paper-jam error at the time of feeding a paper sheet. Even if a paper-jam error does not occur, there is a risk that the image does not properly fit in the paper sheet on which it is printed. On the contrary, according to the sixth embodiment, the roll paper width of the currently-loaded roll paper is detected and the target paper sheets for selection are set based on the combination of paper width and page orientation including the detected roll paper width. Such a configuration prevents the mismatch in the paper widths thereby preventing errors such as a paper-jam error or improper fitting of the printed image. 
     In this way, according to an aspect of the present invention, with respect to a feed paper that can feed paper sheets of one or more paper sizes, particular paper sheets are set as target paper sheets for selection. Thus, it is possible to determine the paper sizes for which the paper sheets feedable by that feed paper are set as the target paper sheets for selection. 
     Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.