Abstract:
An object of the invention is to provide a printing method whereby a function for retreating print data in the case where the print data cannot be printed is provided, and the printing of other print data is preferentially performed or a printing is enabled to be executed when an apparatus enters a printable status of the print data, thereby improving a print working efficiency. To accomplish this object, there is provided a printing method of using a host which can set an auto retreat of print data and a print output apparatus which is connected so that it can bidirectionally communicate with the host and is equipped with a memory device which can perform a retreat processing of the data in response to a request from the host, wherein the host sends the print data to the print output apparatus, the print output apparatus receives the print data sent from the host and checks whether the data can be normally printed or not on the basis of print attributes of the received print data and a status of the print output apparatus, when it is decided that the data can be normally printed, the printing is executed, and when it is decided that the data cannot be normally printed, the print data is retreated to the memory device in accordance with the setting of the auto retreat, thereby enabling the printing of other print data to be executed.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The invention relates to a printing method having an auto retreat function of print data and a medium for storing a program for executing the printing method.  
         [0003]     2. Related Background Art  
         [0004]     Hitherto, in an information processing system, a mechanism in which when expendable supplies such as papers or the like are absent and an error occurs during the execution of print data, a processing is suspended while processing information including the print data is held and when the expendable supplies are supplemented, the processing can be soon resumed has been provided, thereby improving a working efficiency of the user.  
         [0005]     For example, it is assumed that papers of the A4 size and A3 size have been set in a printer and print data in which the B5 size was designated as a paper size has been sent from a host (host computer). The printer receives the print data and, at a point when it is detected that the B5 size whose papers are not set has been designated, the printer enters an error status. According to the conventional technique, the printer does not enter a status where the print data is abandoned and new print data can be processed but suspends the processing while a processing status so far is held and at a point when it is recognized that the expendable supplies have been supplemented, the printer resumes the processing. The user, therefore, can immediately obtain an output by setting papers into the printer. That is, after an error was recognized, the user does not need to perform work for sending the print data again from the host and can efficiently take a proper countermeasure against the error due to the absence of the expendable supplies.  
         [0006]     According to the conventional technique, however, since the whole print processing is suspended at a point when the error occurs, not only the processing of the print data in which the error occurred but also the processing of the print data which is waiting to subsequently print is suspended. There is, consequently, a drawback of deterioration in print working efficiency of the other user.  
         [0007]     For example, it is assumed that papers of the A4 size and A3 size have been set in a printer in  FIG. 5 . Print data A in which the B5 size was designated as a paper size is sent from a host A in  FIG. 5  and, thereafter, print data B in which the A4 size was designated as a paper size is sent from a host B. In this case, according to the conventional technique, the printer receives the print data A and at a point when it is detected that the B5 size whose papers are not set was designated, the printer enters the error status and suspends the processing. The processing of the print data B is also suspended at a point when the print data B has been sent to the printer. That is, in spite of the fact that the print data B can be printed without causing an error because the A4 size whose papers have been set in the printer is designated, the print data B is influenced by the print data A which was precedingly processed, so that the processing is suspended.  
         [0008]     If the user of the host A or the printer administrator rapidly takes a countermeasure (the papers are supplemented, the print data is cancelled, or the like) against the print data A at this time point, after the processing of the print data A, the user of the host B can obtain an output of the print data B. However, if a timing for taking the countermeasure is delayed as in the case where the user of the host A is not aware of the occurrence of the error, the case where the papers of the B5 size cannot be soon supplemented, or the like, the working efficiency of the user of the host B remarkably deteriorates.  
         [0009]     It is assumed that there is a situation where the printer in  FIG. 5  is connected to the network and many users frequently use the printer. In this case, the output of a large amount of print data (many users) has to be waited upon occurrence of the error and a range where the working efficiency deteriorates is widened.  
       SUMMARY OF THE INVENTION  
       [0010]     The invention is made in consideration of the above circumstances.  
         [0011]     That is, it is an object of the invention to provide a printing method whereby by providing a function for retreating print data in the case where the print data cannot be printed, a printing of other print data is preferentially performed or when an apparatus enters a status where the print data can be printed, the printing is enabled to be executed, thereby improving a printing working efficiency.  
         [0012]     To accomplish the above object, according to a preferred aspect of the invention, there is provided a printing method of using a host which can set an auto retreat of print data and a print output apparatus which is connected so that it can bidirectionally communicate with the host and is equipped with a memory device which can perform a retreat processing of the data in response to a request from the host, wherein the host sends the print data to the print output apparatus, the print output apparatus receives the print data sent from the host and discriminates whether the data can be normally printed or not on the basis of print attributes of the received print data and a status of the print output apparatus, when it is determined that the data can be normally printed, the printing is executed, and when it is determined that the data cannot be normally printed, the print data is retreated to the memory device in accordance with the setting of the auto retreat, thereby enabling the printing of other print data to be executed.  
         [0013]     Another object of the invention is to provide a medium for recording modules for executing the above printing method.  
         [0014]     The invention has the medium for recording modules by the above printing method.  
         [0015]     The above and other objects and features of the present invention will become apparent from the following detailed description and the appended claims with reference to the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]      FIG. 1  is a block diagram showing a construction of an information processing system to which a print method of an embodiment of the invention is applied;  
         [0017]      FIG. 2  is a diagram showing a state where modules are supplied to a host from a medium on which the modules in the embodiment of the invention have been recorded;  
         [0018]      FIG. 3  is a diagram showing a memory map in the case where the modules in the embodiment of the invention operate;  
         [0019]      FIG. 4  is a constructional diagram of the medium on which the modules in the embodiment of the invention have been recorded;  
         [0020]      FIG. 5  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0021]      FIG. 6  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0022]      FIG. 7  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0023]      FIG. 8  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0024]      FIG. 9  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0025]      FIG. 10  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0026]      FIGS. 11A, 11B ,  11 C,  11 D,  11 E and  11 F are conceptual diagrams for explaining the print method in the embodiment of the invention;  
         [0027]      FIGS. 12A, 12B  and  12 C are conceptual diagrams for explaining the print method in the embodiment of the invention;  
         [0028]      FIG. 13  is a conceptual diagram for explaining the print method in the embodiment of the invention;  
         [0029]      FIG. 14  is a flowchart showing a flow of a control in the invention;  
         [0030]      FIG. 15  is a flowchart showing a flow of the control in the invention;  
         [0031]      FIG. 16  is a flowchart showing a flow of the control in the invention;  
         [0032]      FIG. 17  is a flowchart showing a flow of the control in the invention; and  
         [0033]      FIG. 18  is a flowchart showing a flow of the control in the invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0034]     Embodiments of the invention will now be described with reference to the drawings.  
         [0000]     (Embodiment 1)  
         [0035]     The following description will be made on the assumption that the printer in  FIG. 5  has a storage which can perform a retreat processing of print data in response to a request from a host (computer) as a prerequisite. A connecting style of the hosts and the printer is also similarly applied to a style in which the hosts and the printers are connected in a one-to-one connecting relational manner or a style in which the printer is connected to a print server as shown in  FIG. 6 . For example, it is assumed that only the papers of the A4 size and the A3 size have been set in the printer in  FIG. 5  and the printer is in a status where there is no staple although the printer has a stapling function.  
         [0036]     Modules which realize a main body of an apparatus have been installed in a disk  1033  in a storage  1030  of a host  10  in  FIG. 1 . It is assumed that when the host  10  is activated, the modules which realize the invention are read into an RAM  1031  in the storage  1030  in  FIG. 1  and executed. The modules which execute the invention are program codes converted on the basis of flowcharts shown in FIGS.  14  to  18 .  
         [0037]     The modules realizing the invention and the related data can be also loaded into the host  10  from a memory medium reader  1050  of the host  10  and executed. It is assumed that the modules realizing the invention and the related data have been recorded on a recording medium  20020  in  FIG. 2  and have a recording construction as shown in  FIG. 4 . In this case, the modules realizing the invention and the related data recorded on the recording medium  20020  can be loaded into the host  10  via a memory medium reader  20010  in  FIG. 2 .  
         [0038]     When the recording medium  20020  is set into the memory medium reader  20010  of the host  10 , the modules realizing the invention and the related data are read out of the recording medium  20020  under the control of the OS and a basic I/O program, is loaded into the RAM in the storage  1030  of the host  10 , and can be operated.  FIG. 3  shows a memory map in a state where the modules realizing the invention and the related data have been loaded into the RAM  1031  in the storage  1030  of the host  10  and can be operated.  
         [0039]     The modules realizing the invention and the related data recorded on the recording medium  20020  in  FIG. 2  can be temporarily stored (installed) into the disk  1033  or the like in the storage  1030  of the host  10  and can be loaded into the RAM  1031  in the storage  1030  of the host  10  from the disk  1033  or the like in the storage  1030  of the host  10  each time the modules realizing the invention and the related data are made operative.  
         [0040]     Although the host which sends the print data in which an error occurs and the host which sends the print data in which no error occurs are different in  FIG. 5 , the invention can be also applied to a case where they are the same host.  
         [0041]     The description of the invention is further made on the assumption of the following points as a prerequisite.  
         [0042]     That is, an auto retreat information table showing an error which can automatically retreat as shown in  FIG. 13  has been stored in a disk  2033  in a storage  2030  of the printer in  FIG. 1 . The auto retreat information table can be stored on the disk  1033  in the storage  1030  of the host  10  and can be downloaded into the printer when the host is activated.  
         [0043]     The invention will now be described on the assumption of the above points.  
         [0044]     First, a flow of processing of the host A in  FIG. 5  will be described. First, the user designates a printing method in the host A in  FIG. 5  and allows a display of the host A to display a print dialog ( FIG. 7 ) of software (printer driver or the like) for making print data. In the example of  FIG. 7 , as attributes of the print data whose processing is started from now on, an all-page printing mode is designated by clicking a button  701  and the number of copies (namely, “1”) is designated by clicking a button  702 . An auto retreat flag is “set” by clicking a button  703 . A paper size is set to “A4” by clicking a button  704 . A stapling is set to “NO” by clicking a button  705 . A single-sided printing or the like is set by clicking a button (double-sided)  706  to “NO”. The user selects a “print” button  707  in the print dialog, so that a controller  1010  of the host in  FIG. 1  starts a print processing (step  1401 ) shown in  FIG. 14 .  
         [0045]     Reference numeral  708  denotes a “cancel” button of the printing. As mentioned above, the user can set whether the auto retreat is permitted or not on a print job unit basis on the display of the host.  
         [0046]     The controller  1010  receives a print request from application, forms print data “TEST- 1 ”, and temporarily stores it into the RAM  1031  in the storage  1030  of the host (step  1402 ). In the embodiment, it is assumed that the controller  1010  obtains the print data from the OS or application at this time point and temporarily stores it into the disk  1033  in the storage  1030  of the host  10 . The print data can be successively obtained from the OS or application at a necessary time point.  
         [0047]     The controller  1010  subsequently sets the auto retreat flag to the print data “TEST- 1 ” stored in the RAM  1031  in the storage  1030  (step  1403 ).  
         [0048]     The controller  1010  sends the print data “TEST- 1 ” stored in the RAM  1031  in the storage  1030  to the printer as shown in  FIG. 5  (step  1404 ). Actually, the controller  1010  transfers the print data “TEST- 1 ” to a controller  2010  of the printer via a connector  1020  of the host  10  and a connector  2020  of a printer  20  in  FIG. 1 . At this time point, the print data “TEST- 1 ” sent from the host A has been sent as shown in  FIG. 9 .  
         [0049]     A flow of processing (refer to  FIG. 15 ) in the printer in  FIG. 5  will now be described.  
         [0050]     The controller  2010  of the printer discriminates whether the print data has been received from the host or not (step  1501 ).  
         [0051]     The controller  2010  of the printer subsequently determines that it received the print data from the host because the print data “TEST- 1 ” has been received, and temporarily stores the print data “TEST- 1 ” into an RAM  2031  in the storage  2030  of the printer  20  (step  1502 ).  
         [0052]     The controller  2010  of the printer subsequently inputs (updates) information (item of No.  1  in  FIG. 11A ) of the print data “TEST- 1 ” into job execution management tables ( FIGS. 11A  to  11 F) which exist in the RAM  2031  in the storage  2030  of the printer and are used to manage the print processing (step  1503 ).  
         [0053]     A flow (refer to  FIG. 14 ) of the subsequent processing in the host A in  FIG. 5  will be described.  
         [0054]     The controller  1010  discriminates whether any notice has been received from the printer or not (step  1405 ). Since no notice is received from the printer at this time point, the controller  1010  determines that no notice is received.  
         [0055]     The controller  1010  subsequently discriminates whether the processing for the sent print data “TEST- 1 ” has been completed or not (step  1407 ). Specifically speaking, control data to obtain the status of the print data “TEST- 1 ” sent from the controller  1010  is transferred to the controller  2010  of the printer via the connector  1020  of the host and the connector  2020  of the printer in  FIG. 1 .  
         [0056]     A flow (refer to  FIG. 15 ) of processing of the printer in  FIG. 5  will now be described.  
         [0057]     The controller  2010  of the printer discriminates whether an inquiry has been received or not (step  1504 ). In this case, since the control data to obtain the status of the print data “TEST- 1 ” has been received from the host A, the controller determines that the inquiry has been received. The controller  2010  of the printer analyzes the received control data and checks the control contents (step  1505 ). In the embodiment, since the control data is the control data to obtain the status of the sent print data “TEST- 1 ”, the controller  2010  of the printer analyzes the job execution management data stored in the RAM  2031  in the storage  2030  of the printer as shown in  FIGS. 11A  to  11 F. As a result of the analysis, the controller  2010  of the printer recognizes that the status of the relevant print data indicates that the data is being printed, and replies about the information to the controller  1010  via the connector  2020  of the printer and the connector  1020  of the host (step  1506 ).  
         [0058]     A flow (refer to  FIG. 14 ) of processing of the host A in  FIG. 5  will now be described.  
         [0059]     On the basis of the information replied in step  1407 , the controller  1010  determines that the processing of the print data “TEST- 1 ” is not completed. The processing routine is returned to step  1405 .  
         [0060]     A flow (refer to  FIG. 15 ) of processing of the printer in  FIG. 5  will now be described.  
         [0061]     The controller  2010  of the printer checks job retreat management tables as shown in  FIGS. 12A  to  12 C stored in the RAM  2031  in the storage  2030  of the printer in order to discriminate the presence or absence of a retreated job (step  1507 ). Since no information exists in the job retreat management tables at this time point, it is determined that the automatically retreated job does not exist.  
         [0062]     The controller  2010  of the printer subsequently checks the job execution management tables as shown in  FIGS. 11A  to  11 F stored in the RAM  2031  in the storage  2030  of the printer in order to discriminate the presence or absence of a print-waiting job (step  1508 ). Since the information of the print data “TEST- 1 ” has been inputted at this time point in step  1503 , it is determined that the print-waiting job exists.  
         [0063]     It is assumed that the processing in steps  1401  to  1404  was executed in the hosts A and B after that and the printing was performed in the following order: namely, print data “SAMPLE-B” (attributes in which an auto retreat flag is turned “ON”, a paper size is set to “B4”, a stapling is set to “NO”, a printing mode is set to “single-sided printing”, and the like) from the host B; print data “TEST- 2 ” (attributes in which the auto retreat flag is turned “ON”, the paper size is set to “A 4 ”, the stapling is set to “NO”, the printing mode is set to “single-sided printing”, and the like) from the host A; and print data “SAMPLE-C” (attributes in which the auto retreat flag is turned “ON”, the paper size is set to “A3”, the stapling is set to “YES”, the printing mode is set to “single-sided printing”, and the like) from the host B. Thus, the total four print data is held as execution jobs in the printer in  FIG. 5  and it is assumed that the status in the printer is as shown in  FIG. 9  and the job execution management table is as shown in a state of  FIG. 11A .  
         [0064]     Subsequently, the controller  2010  of the printer analyzes the print attributes of the head print data in the job execution management data stored in the RAM  2031  in the storage  2030  of the printer in order to start the processing of the print-waiting job (step  1601 ). Specifically speaking, the print attributes of the print data “TEST- 1 ” are obtained.  
         [0065]     Subsequently, the controller  2010  of the printer analyzes the status of the printer (step  1602 ). Specifically speaking, the size of paper set at present is checked, whether the papers of such a size exist or not is discriminated, and whether the other expendable supplies are absent or not are discriminated.  
         [0066]     Subsequently, the controller  2010  of the printer discriminates whether the print data “TEST- 1 ” can be normally printed or not (an error occurs or not) by collating the results in steps  1601  and  1602  (step  1603 ). In this case, since the print data “TEST- 1 ” designates the paper size A4 of the papers which are set at present and the other print attributes are also proper, the controller  2010  of the printer determines that the print data “TEST- 1 ” can be normally printed (no error occurs).  
         [0067]     Subsequently, the controller  2010  of the printer executes a part of the print processing of the print data “TEST- 1 ” stored in the RAM  2031  in the storage  2030  of the printer (step  1605 ).  
         [0068]     Subsequently, the controller  2010  of the printer discriminates whether the whole print processing of the print data which is at present being executed has been completed or not (step  1606 ). In this case, since the print data which is not processed yet exists, the controller  2010  of the printer determines that the whole print processing is not completed yet.  
         [0069]     Subsequently, the controller  2010  of the printer updates the information of the job execution management table stored in the RAM  2031  in the storage  2030  of the printer (step  1608 ). Specifically speaking, the information indicative of an amount of processing which was executed, the status, and the like are updated. The processing routine is returned to step  1501 .  
         [0070]     After that, the processing in steps  1501  to  1508  and the processing in steps  1601  to  1608  shown in  FIG. 16  are repeated and the controller  2010  of the printer determines that the whole print processing has been completed (step  1606 ).  
         [0071]     Subsequently, the controller  2010  of the printer deletes the print data whose processing has been finished from the RAM  2031  in the storage  2030  of the printer (step  1607 ). The controller  2010  updates (deletes) the information of the job (print data “TEST- 1 ”) of No.  1  in the job execution management table (A) as shown in  FIG. 11A , so that the job execution management data changes as shown in  FIG. 11B . The processing routine is returned to step  1501 .  
         [0072]     In order to start the processing of the print-waiting job, the controller  2010  of the printer analyzes the print attributes of the head print data in the job execution management table stored in the RAM  2031  in the storage  2030  of the printer (step  1601 ). Specifically speaking, the print attributes of the print data “SAMPLE-B” is obtained.  
         [0073]     Subsequently, the controller  2010  of the printer analyzes the status of the printer (step  1602 ). Specifically speaking, the size of paper set at present is checked, whether the papers of such a size exist or not is discriminated, and whether the other expendable supplies are absent or not are discriminated.  
         [0074]     Subsequently, the controller  2010  of the printer discriminates whether the print data “SAMPLE-B” can be normally printed or not (an error occurs or not) by collating the results in steps  1601  and  1602  (step  1603 ). In this case, since the print data “SAMPLE-B” designates the paper size B5 of the papers which are not set at present, the controller  2010  of the printer determines that the print data “SAMPLE-B” cannot be normally printed (an error occurs).  
         [0075]     Subsequently, the controller  2010  of the printer checks the print data “SAMPLE-B” stored in the RAM  2031  in the storage  2030  of the printer to see if the auto retreat flag has been set (step  1604 ).  
         [0076]     If the auto retreat flag is not set in the print data “SAMPLE-B”, an operation similar to that in the conventional apparatus is executed. The whole processing is temporarily suspended, the print processing is resumed at a point when the user supplements the expendable supplies, and an output can be soon obtained. Specifically speaking, the controller  2010  of the printer suspends the print processing (step  1615 ).  
         [0077]     The controller subsequently discriminates whether the cause of the error has been removed or not (step  1616 ). When the user supplements the expendable supplies, step  1605  follows and the print processing is completed.  
         [0078]     When it is determined that the cause of the error is not removed, the controller  2010  of the printer discriminates whether the cancel of the print data has been instructed or not (step  1617 ). When the controller  2010  of the printer determined that the cancel of the print data has been instructed, step  1607  follows. When the controller  2010  of the printer determined that the cancel of the print data is not instructed, the processing routine is returned to step  1616  and the suspending status is allowed to continue.  
         [0079]     In this case, since the auto retreat flag has been set in the print data “SAMPLE-B”, an auto retreat information table as shown in  FIG. 13  stored in the RAM in the storage  2030  of the printer is referred to (step  1609 ).  
         [0080]     Subsequently, the controller  2010  of the printer analyzes the contents of the error which occurs at present and the auto retreat information table and discriminates whether the print data can be automatically retreated or not (step  1610 ). In this case, since the cause of the error relates to “no paper” (the papers of the relevant paper size do not exist) in the auto retreat information table, it is decided that the print data can be retreated. If the cause of the error does not exist in the auto retreat information table, step  1615  follows and processing is executed in a manner similar to the conventional technique.  
         [0081]     Subsequently, the controller  2010  of the printer suspends the print processing of the print data “SAMPLE-B” (step  1611 ).  
         [0082]     Subsequently, the controller  2010  of the printer stores the print data “SAMPLE-B” as a retreated job into the disk  2033  in the storage  2030  of the printer and the status in the printer becomes as shown in  FIG. 9  (step  1612 ).  
         [0083]     Subsequently, the controller  2010  of the printer updates the information in the job retreat management table stored in the RAM  2031  in the storage  2030  of the printer (step  1613 ). Specifically speaking, the information of the print data “SAMPLE-B” is inputted and the job retreat management table changes as shown in  FIG. 12A .  
         [0084]     Subsequently, the controller  2010  of the printer notifies the host of the fact that the print processing of the job has been suspended and the print data has been retreated (step  1614 ). Specifically speaking, the cause of the suspension and the information indicating that the print data has been retreated are sent to the controller  1010  of the host B via the connector  2020  of the printer and the connector  1020  of the host B as an owner.  
         [0085]     A flow of processing (refer to  FIG. 14 ) of the host A in  FIG. 5  will now be described. the controller  1010  discriminates whether some notice has been received from the printer or not (step  1405 ). At this time point, it is decided that the notice has been received from the printer, and the controller  1010  analyzes the contents of the notice and displays them to a display  1040  of the host (step  1406 ). Specifically speaking, for example, a dialog as shown in  FIG. 8  is displayed. At least the reasons of the retreat and a method of cancelling the retreat are described in the dialog.  
         [0086]     A flow of processing (refer to  FIG. 16 ) of the printer in  FIG. 5  will now be described.  
         [0087]     The controller  2010  of the printer updates the information in the job execution management table held in the RAM  2031  in the storage  2030  of the printer (step  1608 ). Specifically speaking, the information of the print data “SAMPLE-B” whose print processing was suspended is deleted and the job execution management data changes as shown in  FIG. 11C . The processing routine is returned to step  1501 .  
         [0088]     In this instance, although an error occurred in the print job “SAMPLE-B” and the processing was suspended, by automatically retreating the print data, the printer can be set into a status where the processing of the next print data can be started. That is, even if the error occurred in the print data “SAMPLE-B”, an influence that is exerted on the next print-waiting print job “TEST- 2 ” (in other words, the processing of this job is made to wait) can be avoided.  
         [0089]     Subsequently, the controller  2010  of the printer executes the processing in steps  1501  to  1507 . Since the information of the print data “SAMPLE-B” has been inputted into the job retreat management data at this time point as shown in  FIG. 12A , the controller  2010  of the printer determines the presence of the retreated job in step  1507 .  
         [0090]     Subsequently, the controller  2010  of the printer obtains the print attributes of the print data in the job retreat management table in the RAM  2031  in the storage  2030  of the printer (step  1701 ) in order to confirm whether the processing of the retreated job can be resumed or not.  
         [0091]     Subsequently, the controller  2010  of the printer analyzes the printer status (step  1702 ). Specifically speaking, the size of paper set at present is checked, whether the papers of such a size exist or not is discriminated, and whether the other expendable supplies are absent or not are discriminated.  
         [0092]     Subsequently, the controller  2016  of the printer discriminates whether the print data “SAMPLE-B” can be normally printed or not (whether the print processing can be resumed or not) by collating the results in steps  1701  and  1702  (step  1703 ). In this case, since the papers of the paper size B5 which are necessary to print the print data “SAMPLE-B” are not set, the controller  2010  of the printer determines that the print data “SAMPLE-B” cannot be normally printed (the print processing cannot be resumed). The processing routine advances to step  1508 .  
         [0093]     Subsequently, the controller  2010  of the printer checks the job execution management table as shown in  FIGS. 11A  to  11 F stored in the RAM  2031  in the storage  2030  of the printer to see if the print-waiting job exists (step  1508 ). Since the information of the print data “TEST- 2 ” and “SAMPLE-C” has been inputted at this time point, the print-waiting job is determined to be present.  
         [0094]     Subsequently, the controller  2010  of the printer analyzes the print attributes of the head print data in the job execution management table stored in the RAM  2031  in the storage  2030  of the printer in order to start the processing of the print-waiting job (step  1601 ). Specifically speaking, the print attributes of the print data “TEST- 2 ” are obtained. Since the print attributes of the print data “TEST- 2 ” indicate that no error occurs, the processing in steps  1501  to  1508 , the processing in steps  1601  to  1608 , and the processing in  1701  to  1703  are repeated, so that the whole print processing is completed.  
         [0095]     The controller  2010  of the printer updates the information in the job execution management table stored in the RAM  2031  in the storage  2030  of the printer (step  1608 ). Specifically speaking, the information of the print data “TEST- 2 ” whose print processing has been completed is deleted and the job execution management table changes as shown in  FIG. 11D . The processing routine is returned to step  1501 .  
         [0096]     Subsequently, the controller  2010  of the printer analyzes the print attributes of the head print data in the job execution management table stored in the RAM  2031  in the storage  2030  of the printer in order to start the processing of the print-waiting job (step  1601 ). Specifically speaking, the print attributes of the print data “SAMPLE-C” are obtained. Since the print attributes of the print data “SAMPLE-C” indicate “stapling”, the controller  2010  of the printer determines that the print data cannot be normally printed (an error occurs) in step  1603 .  
         [0097]     Subsequently, the controller  2010  of the printer checks the print data “SAMPLE-C” stored in the RAM  2031  in the storage  2030  of the printer in order to discriminate whether the auto retreat flag has been set to ON or not (step  1604 ).  
         [0098]     In this case, since the auto retreat flag has been set in the print data “SAMPLE-C”, the auto retreat information table stored in the RAM  2031  in the storage  2030  of the printer is referred to (step  1609 ).  
         [0099]     Subsequently, the controller  2010  of the printer analyzes the contents of the error occurring at present and the auto retreat information table and discriminates whether the print data can be automatically retreated or not (step  1610 ). In this case, since the cause of the error relates to “no staple” (staples which are used to staple do not exist) in the auto retreat information table, it is decided that the print data can be retreated.  
         [0100]     Subsequently, the controller  2010  of the printer suspends the print processing of the print data “SAMPLE-C” (step  1611 ).  
         [0101]     Subsequently, the controller  2010  of the printer stores the print data “SAMPLE-C” into the disk in the storage  2030  of the printer (step  1612 ).  
         [0102]     Subsequently, the controller  2010  of the printer updates the information in the job retreat management table stored in the RAM  2031  in the storage  2030  of the printer (step  1613 ). Specifically speaking, the information of the print data “SAMPLE-C” is inputted and the job retreat management table changes as shown in  FIG. 12B .  
         [0103]     Subsequently, the controller  2010  of the printer notifies the host of the fact that the print processing of the job has been suspended and the print data has been retreated (step  1614 ). Specifically speaking, the cause of the suspension and the information indicating that the print data has been retreated are sent to the controller  1010  via the connector  2020  of the printer and the connector  1020  of the host B as an owner. The information is displayed on the display  1040  in the host B.  
         [0104]     The controller  2010  of the printer updates the information in the job execution management table held in the RAM  2031  in the storage  2030  of the printer (step  1608 ). Specifically speaking, since the information of the print data “SAMPLE-C” whose print processing was suspended is deleted, the contents of the information in the job execution management table are deleted. The processing routine is returned to step  1501 .  
         [0105]     Initially, four print-waiting print data exists in order of “TEST- 1 ”, “SAMPLE-B”, “TEST- 2 ”, and “SAMPLE-C”. However, at this time point, the printing of the print data “TEST- 1 ” and “TEST- 2 ” in which no error occurs has been completed and the print data “SAMPLE-B” and “SAMPLE-C” in which there is no expendable supplies and the error occurred has been retreated and held in the printer.  
         [0106]     It is assumed that the user has set the papers of the B5 size into the printer in this status. The controller  2010  of the printer executes the processing in steps  1501  to  1507 . At this time point, since the information of the print data “SAMPLE-B” and “SAMPLE-C” has been inputted in the job retreat management table as shown in  FIG. 12B , the controller  2010  of the printer determines that the retreated job exists in step  1507 .  
         [0107]     Subsequently, the controller  2010  of the printer analyzes the print attributes in the job retreat management table stored in the RAM  2031  in the storage  2030  of the printer in order to confirm whether the processing of the retreated job can be resumed or not (step  1701 ). Specifically speaking, the print attributes of the print data “SAMPLE-B” and “SAMPLE-C” are obtained.  
         [0108]     Subsequently, the controller  2010  of the printer analyzes the printer status (step  1702 ). Specifically speaking, the size of paper set at present is checked, whether the papers of such a size exist or not is discriminated, and whether the other expendable. supplies are absent or not are discriminated.  
         [0109]     Subsequently, the controller  2010  of the printer discriminates whether the print data “SAMPLE-B” and “SAMPLE-C” can be normally printed or not (whether the print processing can be resumed or not) by collating the results in steps  1701  and  1702  (step  1703 ). In this case, since the papers of the paper size B5 necessary for printing have been set only for the print data “SAMPLE-B”, the controller  2010  of the printer determines that the print data can be normally printed (print processing can be resumed).  
         [0110]     Subsequently, the controller  2010  of the printer restores (copies) the print data “SAMPLE-B” stored in a memory device in the storage  2030  of the printer into the RAM  2031  in the storage  2030  of the printer. The controller  2010  of the printer deletes the print data “SAMPLE-B” stored in the memory device in the storage  2030  of the printer (step  1704 ).  
         [0111]     Subsequently, the controller  2010  of the printer updates the information in the job retreat management table stored in the RAM  2031  in the storage  2030  of the printer (step  1705 ). Specifically speaking, the information of the print data “SAMPLE-B” is deleted, so that the job retreat management table changes as shown in  FIG. 12C .  
         [0112]     Subsequently, the controller  2010  of the printer updates the information in the job execution management table stored in the RAM  2031  in the storage  2030  of the printer (step  1706 ). Specifically speaking, the information of the print data “SAMPLE-B” whose print processing was resumed is inputted and the job execution management table changes as shown in  FIG. 11E . The processing routine advances to step  1508 .  
         [0113]     After that, the controller  2010  of the printer repeats the processing in steps  1501  to  1508  and the processing in steps  1601  to  1608  and outputs the print data “SAMPLE-B”. The controller  2010  of the printer determines that the whole print processing has been completed in step  1606 .  
         [0114]     It is assumed that the user has set the staples into the printer in this status. The controller  2010  of the printer executes the processing in steps  1501  to  1507 . At this time point, since the information of the print data “SAMPLE-C” has been inputted into the job retreat management table as shown in  FIG. 12C , the controller  2010  of the printer decides that the retreated job exist in step  1507 .  
         [0115]     Subsequently, the controller  2010  of the printer analyzes the print attributes of the print data in the job retreat management table held in the RAM  2031  in. the storage  2030  of the printer in order to confirm whether the processing of the retreated job can be resumed or not (step  1701 ). Specifically speaking, the print attributes of the print data “SAMPLE-C” are obtained.  
         [0116]     Subsequently, the controller  2010  of the printer analyzes the printer status (step  1702 ). Specifically speaking, the size of paper set at present is checked, whether the papers of such a size exist or not is discriminated, and whether the other expendable supplies are absent or not are discriminated.  
         [0117]     Subsequently, the controller  2010  of the printer discriminates whether the print data “SAMPLE-C” can be normally printed or not (whether the print processing can be resumed or not) by collating the results in steps  1701  and  1702  (step  1703 ). In this case, since the staples necessary for printing the print data “SAMPLE-C” have been set, the controller  2010  of the printer determines that the print data can be normally printed (print processing can be resumed).  
         [0118]     Subsequently, the controller  2010  of the printer restores (copies) the print data “SAMPLE-C” stored in the memory device in the storage  2030  of the printer into the RAM  2031  in the storage  2030  of the printer. The controller  2010  of the printer deletes the print data “SAMPLE-C” stored in the memory device in the storage  2030  of the printer (step  1704 ).  
         [0119]     Subsequently, the controller  2010  of the printer updates the information in the job retreat management table stored in the RAM  2031  in the storage  2030  of the printer (step  1705 ). Specifically speaking, since the information of the print data “SAMPLE-C” is deleted, the contents of the information in the job retreat management table are fully deleted.  
         [0120]     Subsequently, the controller  2010  of the printer updates the information in the job execution management table stored in the RAM  2031  in the storage  2030  of the printer (step  1706 ). Specifically speaking, the information of the print data “SAMPLE-C” whose print processing was resumed is inputted and the job execution management table changes as shown in  FIG. 11F . The processing routine advances to step  1508 .  
         [0121]     After that, the controller  2010  of the printer repeats the processing in steps  1501  to  1508  and the processing in steps  1601  to  1608  and outputs the print data “SAMPLE-C”. The controller  2010  of the printer determines that the whole print processing has been completed in step  1606 .  
         [0122]     A message indicating that all of the printable jobs have already been completed (deleted) in the printer status at that time point can be notified to the host as an owner of the retreated job and displayed before the retreated job is executed.  
         [0000]     (Embodiment 2)  
         [0123]     As an embodiment 2, it is possible to improve a method of taking a countermeasure against the resume of the printing of the retreated print data.  
         [0124]     In the embodiment 1, the user actually supplements the expendable supplies, thereby allowing the print attributes to be satisfied and allowing the print processing of the retreated print data to be automatically resumed.  
         [0125]     According to the embodiment 2, a utility for changing the print attributes of the print data which was retreated and held in the printer from the host by a remote operation is provided. By this utility, the print attributes in which an error occurs are changed so as to be adapted to the present printer status, thereby allowing the print processing to be resumed. Specifically speaking, the utility having a user interface as shown in  FIG. 10  is provided and processing in steps  1801  to  1804  is executed.  
         [0126]     It is now assumed that the print job “SAMPLE-C” has been retreated as shown in the job retreat management table in  FIG. 12C .  
         [0127]     The controller  1010  of the host obtains the information of the retreated job in the printer with reference to the job retreat management table of the printer (step  1801 ).  
         [0128]     Subsequently, the controller  1010  of the host displays the information of the retreated job in the printer onto the display  1040  in a form as shown in  FIG. 10  on the basis of the information obtained from the printer (step  1802 ).  
         [0129]     Subsequently, the controller  1010  of the host discriminates whether the user has instructed to change the print attributes of an arbitrary job by an input unit  1070  of the host or not (step  1803 ).  
         [0130]     For example, it is assumed that the user changed the item “stapling” in  FIG. 10  from “YES” to “NO”. In this case, the controller  1010  of the host determines that the user instructed to change the print attributes of the job, so that it sends control data for changing the print attributes to the printer (step  1804 ). Thus, no error occurs in the print data “SAMPLE-C” and the print processing is restarted.  
         [0131]     By the above operation, the print processing of the print data which was retreated and held can be easily resumed from a remote place. Even if the various component elements described as examples in the foregoing embodiments are replaced with the following component elements, they will be valid. 
    Printer . . . Plotter, copying apparatus, facsimile, etc.     Host . . . Personal computer, workstation, minicomputer, etc.     Controller . . . Software, ROM, RAM, etc.     Connector . . . Serial interface board, parallel interface board, network interface board, etc.     Storage . . . Memory, magnetic disk device, magnetooptic disk device, magnetic tape device, etc.     Printer . . . Laser beam system, bubble jet system, LED system, thermal transfer system, etc.     Display . . . CRT, LCD, etc.     Input unit . . . Keyboard, mouse, track ball, etc.     Memory medium reader . . . FD device, MO device, CD-ROM device, IC memory card device, etc.     Recording medium . . . FD, MO, CD-ROM, IC memory card, etc.    
 
         [0142]     As described above, according to the printing method and medium of the invention, there is such an effect that when an error occurs due to the cause of absence of the expendable supplies, by automatically retreating and holding the print data, the deterioration of the working efficiency of the print-waiting print data (the other users) can be avoided. There is also such an effect that the resources of the shared memory device and the like of the printer are utilized and the working efficiency is improved.  
         [0143]     There are such effects that the print processing of the print data which was retreated and held can be easily resumed from a remote place and a using efficiency is improved.