Abstract:
In an image forming system in which a printing device is communicably connected to a server and a terminal, an automatic determination is performed to determine whether or not print data created by the terminal needs to be stored in a memory for placing the data in a reprintable condition. The print data stored in the memory can be reprinted without need for resending the same print data from the terminal or server to the printing device. The automatic determination is, for example, performed by referring to the header of the print data and determining whether the print data is from the terminal or the server.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to an image forming system including a terminal and a printing device, and, in particular, to such a system having a reprint function.  
         [0003]     2. Description of the Related Art  
         [0004]     It is known in the art to use an image forming system including a terminal and a printing device communicably connected to each other. The terminal such as a server or a personal computer is provided with a transmission portion for transmitting print data to the printing device. The printing device receives the print data transmitted from the terminal and performs a print operation.  
         [0005]     With such an image forming system, if it becomes necessary to produce the same print after the printing has ended, the application software within the terminal must be launched again and a reprint instruction must be executed. In other words, the user has to go through the tiresome procedure again of starting up the application software again, opening the file to be printed, then specifying the necessary pages.  
         [0006]     One solution for this problem is proposed in Japanese Patent Application Publication No. 2000-177186. With this solution, the user is asked whether or not reprinting may become necessary when the initial print instruction is executed and, if the answer is affirmative, the print data transmitted to the printing device is stored in a storage device provided in the terminal. If a reprint instruction is input by the user, the print data stored in the storage device is transferred to the printing device so that the reprinting can be done.  
         [0007]     However, the technique disclosed in Japanese Patent Application Publication No. 2000-177186 requires the user to specify whether or not reprinting may need to be performed, that is, whether it is necessary or unnecessary to store the print data, every time the initial print execution instruction is executed, which is a situation that few users would consider convenient.  
       SUMMARY OF THE INVENTION  
       [0008]     In order to solve the above-described problem of the prior art, the present invention makes it possible to determine automatically whether or not reprinting is enabled, that is, whether it is necessary or unnecessary to store the print data, without an input operation by the user.  
         [0009]     According to one aspect of the invention, there is provided an image forming system that includes a terminal, a printing device, a memory, an acquiring unit, a determination unit, a memory control unit, and a reprint instruction device. The printing device is communicable with the terminal and performs a print operation when print data is transmitted from the terminal. The acquiring unit acquires information about the print data. For example, the information acquired by the acquiring unit is source information about the terminal that has sent the print data to the printing device, or user information about a user who has prepared the print data, or data information about a data type of the print data. It is preferable that such information be written in a header attached to the print data.  
         [0010]     The determination unit determines, based on the information acquired by the acquiring unit, whether or not to store the print data in the memory as reprint-enabled data. The memory control unit controls the memory to store the print data when the determination unit determines to store the print data in the memory. The reprint instruction device is provided for instructing the printing device to perform a reprint operation based on the print data stored in the memory.  
         [0011]     Here, the term “print data” as used herein could be data on the print target that can be read in by printing application software and that has been converted into print data that can be subjected to print processing such as PDL (page description language) data, or it could comprise the above-described print target data itself such as ASCII codes.  
         [0012]     With this configuration, the determination as to whether or not to store print data in the memory is done automatically, based on the information about the print data acquired by the acquiring unit. It is therefore not necessary for the user to specify whether or not to perform reprinting, i.e., whether it is necessary or unnecessary to store the print data, for each print request, as it is in the prior art configuration.  
         [0013]     A reprint specifying device may further be included in the image forming system for accepting and retaining user&#39;s instruction as to whether or not the print data should be specified as the reprint-enabled data. When the print data is specified as the reprint-enabled data, the determination unit determines to store the print data in the memory. Accordingly, the print data thus specified by the user can also be reprinted without need for launching the application software again.  
         [0014]     The acquiring unit may search a specific character string from the text portion of the print data. In this case, the determination unit determines to store the print data in the memory unless the specific character string is present in the text portion. For example, the print data cannot be stored in the memory for reprinting if the print data includes keywords such as “company confidential”, thus preventing the execution of the reprint function.  
         [0015]     The determination of whether or not the reprint function is executed can also be based on whether or not the specific character string or desired key information is or is not included.  
         [0016]     According to another aspect of the invention, there is provided a printing device that includes a print portion, a memory, an acquiring unit, a determination unit, a memory control unit, and a reprint instruction device. The printing device is communicable with a terminal, and the acquiring unit acquires information about print data transmitted from the terminal. The determination unit determines, based on the information acquired by the acquiring unit, whether or not to store the print data in the memory as reprint-enabled data. The memory control unit controls the memory to store the print data when the determination unit determines to store the print data in the memory. The reprint instruction device instructs the print portion to perform a reprint operation based on the print data stored in the memory.  
         [0017]     According to still another aspect of the invention, there is provided a terminal communicable with a printing device. The terminal includes a memory, an acquiring unit, a determination unit, a memory control unit, and a reprint instruction device. The acquiring unit acquires information about print data to be transmitted to the printing device. The determination unit determines, based on the information acquired by the acquiring unit, whether or not to store the print data in the memory as reprint-enabled data. The memory control unit controls the memory to store the print data when the determination unit determines to store the print data in the memory. The reprint instruction device instructs the printing device to perform a reprint operation based on the print data stored in the memory.  
         [0018]     According to yet another aspect of the invention, there is provided a reprint execution program for an image forming system including a terminal, a printing device that is communicable with the terminal and performs a print operation when print data is transmitted from the terminal, and a memory. The reprint execution program includes an acquiring program, a determining program, a memory control program, and an instruction program. The acquiring program is for acquiring information about the print data. The determining program is for determining, based on the acquired information, whether or not to store the print data in the memory as reprint-enabled data. The memory control program is for controlling the memory to store the print data when the determining program determines that the print data is to be stored in the memory. The instructing program is for instructing the printing device to perform a reprint operation based on the print data stored in the memory.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]     The particular features and advantages of the invention as well as other objects will become apparent from the following description taken in connection with the accompanying drawings, in which:  
         [0020]      FIG. 1  shows the overall configuration of a network system applicable to first and second embodiments of the invention;  
         [0021]      FIG. 2  shows a screen for allowing the user to specify whether reprinting is to be performed;  
         [0022]      FIG. 3  is a flowchart of print processing on the computer side in accordance with the first embodiment of the invention;  
         [0023]      FIG. 4  is a flowchart of print processing on the printer side in accordance with the first embodiment of the invention;  
         [0024]      FIG. 5  is a flowchart of keyword search processing in accordance with the first embodiment of the invention;  
         [0025]      FIG. 6  is a flowchart of the data storage operation in accordance with the first embodiment of the invention;  
         [0026]      FIG. 7  is a flowchart of print processing on the computer side in accordance with the second embodiment of the invention; and  
         [0027]      FIG. 8  is a flowchart of print processing on the printer side in accordance with the second embodiment of the invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0028]     A first embodiment of the invention will now be described with reference to FIGS.  1  to  6 .  FIG. 1  shows a hardware configuration of a network system  1 . This network system  1  is used as an image forming system in the first embodiment.  
         [0029]     In the image forming system  1 , a plurality of local computers  10  (although only one is shown in  FIG. 1 ) and a server computer  20  are communicably connected to a printer  40  by a local area network (LAN)  2  so that data can be transferred therebetween. Each local computer  10  serves as a terminal. The image forming system  1  is provided with a reprint function that enables reprinting of the same data that has already been used to print in response to a print request, without launching the application again, as will be described later.  
         [0030]     Each of the local computers  10  and the server computer  20  is configured of an operating portion  11  or  21  that accepts input operations from an external device such as a console, a display portion  12  or  22  that displays information, ROM  13  or  23 , RAM  14  or  24 , a CPU  15  or  25 , a hard disk  16  or  26 , and a network interface  17  or  27 . Application software for generating the data to be printed and a printer driver is stored in the hard disk  16  or  26 , and the application software or printer driver is read out from the hard disk  16  or  26  in accordance with a startup instruction from the above-described operating portion  11  or  12 , and is launched.  
         [0031]     When a print request instruction is received from the operating portion  11  or  21  due to an input operation by the user, print target data that has been generated by the application software is delivered to the printer driver. In this case, expansion (conversion) processing is done to convert the data into PDL data that can be subjected to print processing, then the data is transmitted through the network interface  17  or  27 .  
         [0032]     Note that each of the local computers  10  is used by users, but the server computer  20  is designed to manage the storage of data such as software and files used in common by those users, for supply to the local computers  10 . Each user&#39;s input operation could of course be through a graphical user interface, in addition to key input from a keyboard or the like.  
         [0033]     The printer  40  is provided with an operating portion  41  that receives an input operation from the outside such as an operating panel provided on the main unit of the printer  40 , a print portion  42  that prints onto paper as a recording medium, ROM  43 , RAM  44 , a CPU  45 , and a network interface  46 . The CPU  45  subjects the PDL data that has been received from the local computer  10  or the server computer  20  through the network interface  46  to printer language processing (PDL processing), and transfers the result to the print portion  42 . The print portion  42  executes a print operation to print data corresponding to the above-described print target data onto the paper, based on the thus sent data (hereinafter, this print operation in response to a print request is called a “normal print operation”).  
         [0034]     With this embodiment of the invention, the local computer  10  and the server computer  20  are each configured to be able to handle the above-described specification that enables reprinting (print data storage specification) in answer to the user&#39;s input operation. More specifically, a window screen  50  for a graphical user interface can be displayed on the display portion  12  or  22 , as shown in  FIG. 2 , by selecting a print menu from the application software. The configuration is such that the specification that enables reprinting is executed by specifying a selection button  51  in that window screen  50 , by a console operation such as using a mouse. Note that this menu can be used when the application starts up and the user specifies his or her own intentions before the first print request.  
         [0035]     The description now turns to the print processing on the local computer  10  and the server computer  20  sides, with reference to the flowchart of  FIG. 3 .  
         [0036]     When a print request is selected from the print menu of the application software, the CPU  15  or  25  execute the control shown in the flowchart of  FIG. 3 . The CPU  15  or  25  starts up the printer driver and fetches the print target data from the application software at step S 1 , then expands that print target data into PDL data at step S 2 . In step S 3 , it determines whether or not there is a reprint-enabled specification set by the user as described above and, if there is such a specification (step S 3 : Yes), it generates a header in which is written the reprint-enabled specification set by the user (step S 4 ).  
         [0037]     If there is no reprint-enabled specification set by the user (step S 3 : No), on the other hand, it generates a header that does not have a reprint-enabled specification set by the user (step S 5 ). Next, the header generates at step S 4  or S 5  is added to the above-described PDL data in step S 6 , and is transmitted as data through the network interface  17  or  27 .  
         [0038]     Note that the above-described header contains not only data such as the transmission destination information and application name relating to the printer  40  that is the transmission destination, but also data such as ID information that indicates whether the transmission source is the server computer  20  or the local computer  10  (source information), storage source information for the print target data, the user name for the print target data (user information), the data type (data information), and the date and time when the print request was issued.  
         [0039]     The description now turns to the print processing on the printer  40  side, with reference to the flowchart of  FIG. 4 .  
         [0040]     When a data transmission signal is received from the local computer  10  or the server computer  20 , the CPU  45  executes control as shown in the flowchart of  FIG. 4 . First of all, the CPU  45  sequentially receives the above-described PDL data in step S 11 . It then determines whether or not the reprint-enabled specification set by the user is written into the header that is attached to the PDL data, in step S 12 . If there is the reprint-enabled specification set by the user in this case (step S 12 : Yes), the processing proceeds straight to step S 13 .  
         [0041]     If there is no reprint-enabled specification set by the user (step S 12 : No), on the other hand, the CPU  45  executes automatic determination processing at step S 14 . More specifically, the following processing is executed, by way of example.  
         [0042]     The CPU  45  fetches the transmission source information or storage source information that is written into the header. Then, the CPU  45  performs processing for a reprint-enabled specification when the transmission source or storage source is the server computer  20 . On the other hand, the CPU  45  does not specify reprint-enabled when the transmission source or storage source is the local computer  10 .  
         [0043]     In other words, the server computer  20  is generally used in common by a plurality of users for storing common files, so it is likely that another user will want to print from print data that has been requested by a specific user. Therefore, the necessity of executing the reprint function will be high. In contrast thereto, print data that is transmitted from the local computer  10  is often related to information that is personal or highly confidential, so the necessity of executing the reprint function will be low. Thus this processing is designed to automatically determine whether or not there is a reprint-enabled specification, from that viewpoint.  
         [0044]     The CPU  45  may fetch the user name that is written in the header, and performs processing to not specify reprint-enabled if this is the specific user name or specify reprint-enabled if this is any other user name. If the users include people who handle highly confidential data and users who do not handle such data, it is also possible to automatically determine whether or not to specify reprint-enabled in accordance with the name of the user that requested the printing of the print target data.  
         [0045]     The CPU  45  may fetch the data type that is written in the header, and performs processing to automatically determine whether or not to specify reprint-enabled in accordance with that data type.  
         [0046]     Note that the configuration could be such that the determination processing executes any one step alone of the above-described steps, or any two of the steps. The configuration could also be such that the execution of this processing can be set selectively.  
         [0047]     The CPU  45  then executes the printer language processing of step S 13 . With this embodiment, the keyword search processing of  FIG. 5  is concurrently executed during this printer language processing. In other words, processing to search for specific keywords such as “company confidential” is done in step S 13  if there is reprint-enabled specification set by the user beforehand and the above-described automatic determination processing has been executed in step S 14 .  
         [0048]     In the keyword search processing of  FIG. 5 , it is first determined in step S 21  whether or not there is a keyword search execution specification. If there is a keyword search execution specification (step S 21 : YES), then judgement in step S 22  is executed. On the other hand, if there is no keyword search execution specification (step S 21 : NO), then the keyword search processing is hereby ended.  
         [0049]     In step S 22 , it is determined whether or not there is a reprint-enabled specification. Judgement executed in step S 22  is “NO” when reprint-enabled specification is not set during the automatic determination processing in step S 14 . That is, judgement in step S 22  is “NO” when prescribed pieces of information that allow the reprint-enabled specification to automatically set are not contained in the header of the PDL data as a result of automatic determination processing in step S 14 . In step S 23 , it is determined whether or not the specific keyword of “company confidential” is contained in the PDL data. If this specific keyword is not contained in the PDL data (step S 23 : NO), then the reprint-enabled specification is set (step S 24 ). If, on the other hand, the specific keyword of “company confidential” is contained in the PDL data (S 23 : YES), then the keyword search processing is hereby ended without performing reprint-enabled specification in step S 24 .  
         [0050]     Judgement executed in step S 22  is “YES” when reprint-enabled specification was automatically set in the automatic determination processing in step S 14  and also when the user set reprint-enabled specification beforehand. In step S 25 , it is determined whether or not the above-described specific keyword of “company confidential” is contained in the PDL data. If this specific keyword is contained in the PDL data (step S 25 : YES), then the previously set reprint-enabled specification is cancelled (step S 26 ). If, on the other hand, the specific keyword of “company confidential” is not contained in the PDL data (S 25 : NO), then the keyword search processing is hereby ended while leaving the previously set reprint-enabled specification valid.  
         [0051]     After execution of tnhe keyword search processing of  FIG. 5 , the flow proceeds to step S 15  of  FIG. 4 , where it is determined whether or not there is a reprint-enabled specification. If there is no reprint-enabled specification (step S 15 : No), the PDL data is passed to the print portion  42  without modification and the above-described normal print operation is executed (step S 17 ). In contrast thereto, if there is a reprint-enabled specification (step S 15 : Yes), a data storage operation is executed at step S 16  and then the above-described normal print operation based on the PDL data is executed (step S 17 ).  
         [0052]     The description now turns specifically to the data storage operation in this case. At step S 31  in  FIG. 6 , the CPU  45  determines whether or not there is sufficient free space in the storage medium such as the RAM  44  for storing the PDL data that is the current storage target. If there is sufficient free space (step S 31 : Yes), the above-described PDL data is stored in the RAM  44  together with the reprint specification information (such as ID information indicating whether this specification was set by the user or by the automatic determination processing) (step S 32 ).  
         [0053]     If there is no free space (step S 31 : No), on the other hand, it is determined at step S 33  whether or not there is data that has been stored for a reprint-enabled specification set by the automatic determination processing (including the above-described keyword search processing), within the data stored in the RAM  44 . If there is such data (step S 33 : Yes), the flow proceeds to step S 34  to execute delete processing. If there is a plurality of sets of data stored by the automatic determination processing in this case, the deletion is done by a priority set by the oldest data, based on the information indicating the date and time of storage in the RAM  44 , by way of example. This processing is done until the predetermined free space can be ensured within the RAM  44 . Note that the configuration could also be such that the data to be deleted is selected on the basis of the print request date and time information for the requested print, which is written into the above-described header.  
         [0054]     If step S 33  finds no data that has been stored by the automatic determination processing in the RAM  44 , or if the result of the deletion processing of step S 34  is that there is no such data and there is still is insufficient free space, the system determines in step S 35  whether or not there is data that can be deleted among the data that has been stored by user specification, based on the above-described transmission source information or user name. If there is such data, the system deletes it (step S 36 ).  
         [0055]     If there is no such data, by some chance, and it is still not possible to ensure enough free space (step S 35 : No), a storage impossible error is posted at step S 37 . Details of this posting could be displayed as error information on the operating panel of the printer  40  or the display portion  12  or  22  of the local computer  10  to the server computer  20 , or error information could be printed out onto paper by the print portion  42  of the printer  40 . Alternatively, the error information could be posted by a voice message.  
         [0056]     After the printing in accordance with the initial print request ends, reprint processing can be executed on the basis of that PDL data, by selecting the PDL data that has been stored in the RAM  44  by a predetermined operation on the operating panel of the printer  40 . Note that the configuration could also be such that the selection of the above-described PDL data is enabled on condition that a predetermined password is input.  
         [0057]     With the first embodiment, the determination of whether or not to store PDL data is done by the above-described automatic determination processing or keyword search processing, to enable the execution of the reprint function. It is therefore not necessary for the user to specify whether or not reprinting is to be enabled, i.e., whether it is necessary or unnecessary to store the print data, at each print request, as in the prior art configuration described previously.  
         [0058]     Since the configuration is such that PDL data that has been stored by automatic determination processing or keyword search processing is deleted in a specific sequence in order to ensure sufficient free space in the RAM  44 , the user can execute reprinting of the remaining PDL data that has been stored, in sequence.  
         [0059]     With the first embodiment, the configuration is such that the PDL data is stored in the RAM  44  within the printer  40  and reprinting can be done by an operation from the operating panel, so that the reprint function can be implemented just by processing on the printer  40  side.  
         [0060]     The setting of the reprint-enabled specification (the PDL data storage specification) can be based on whether or not a desired keyword is found by keyword search processing.  
         [0061]     The first embodiment is configured so that the print target data is expanded into page description language (PDL) and then stored. When reprinting is to be done, the reprinting can be executed on the basis of the previously expanded PDL data, enabling a shortening of the processing time of the initial print execution that is equal to the time that would be taken by that expansion processing.  
         [0062]     Next, a second embodiment of the invention will be described with reference to  FIGS. 7 and 8 . In the first embodiment described above, automatic determination processing was done on the printer  40  side, but with the second embodiment, the configuration is such that the automatic determination processing is executed by a printer driver on the terminal side, that is, in the local computer  10  or the server computer  20 . In this case, the description below deals only with differences from the first embodiment with further description of components with the same reference numbers being omitted.  
         [0063]     If there is no reprint-enabled specification set by the user at step S 3  of  FIG. 7  (step S 3 : No), automatic determination processing is executed at step S 41 . Details of this automatic determination processing are substantially the same as those of the automatic determination processing (step S 14 ) on the printer  40  side in the first embodiment. As a result, a header containing the reprint-enabled specification set by the automatic determination is generated for PDL data for which reprint-enabled is specified, or a header with no reprint-enabled specification is generated for PDL data that does not have a reprint-enabled specification (steps S 42  to S 44 ). In step S 6 , the PDL data with attached header is transmitted.  
         [0064]     On the printer  40  side, the configuration is such that the data storage operation is not executed on the basis of automatic determination processing, but on whether or not there is a reprint-enabled specification written in the header of the transmitted PDL data, as shown in  FIG. 8 . Note that the keyword search processing shown in  FIG. 5  could be executed during the PDL processing of step S 13 , in a similar manner to the first embodiment.  
         [0065]     While the image forming system according to the present invention has been described in detail with reference to specific embodiments thereof, it would be apparent to those skilled in the art that many modifications and variations may be made therein without departing from the spirit of the invention, the scope of which is defined by the attached claims. For example, the configuration of the above-described embodiments was such that PDL data is stored in the RAM  44  on the printer  40  side, but the invention is not limited thereto. If a hard disk or flash memory is provided on the printer  40  side, the data could be stored therein. In addition, the data storage location is not limited to the printer  40  side; the data could equally well be stored in memory such as the RAM  14  or  24  or the hard disk  16  or  26  on the local computer  10  or the server computer  20  side.  
         [0066]     The data format stored in the data storage device, such as the above-described RAM  44 , is also not limited to PDL format; it can also be a data format such as one that has been converted into bit-mappable form. Furthermore, this data could also be compressed before storage.  
         [0067]     In the above-described embodiments, the configuration was such that the reprint-enabled specification set by the user is done by an input operation in the local computer  10  or server computer  20  side, but the invention is not limited thereto and thus the specification could equally well be done by an operation of the operating panel of the printer  40 .  
         [0068]     The configuration of the above embodiments was such that data communications were done through the LAN  2 , but the invention is not limited thereto and thus the data communications could be done through other communications lines such as over the Internet. It should go without saying that either wired or wireless means could be used therefore.  
         [0069]     A program corresponding to the above-described automatic determination processing and keyword search processing could be installed from a recording medium such as a CD, or it could be downloaded over the Internet.  
         [0070]     In each of the above-described embodiments, the reprinting is done by an operation of the panel of the printer  40 , but the invention is not limited thereto and thus the configuration could also be such that a window screen provided with a selection button for specifying the reprinting could be displayed on the display portion  12  or  22  of the computer from which the request is made, and the reprinting could be done by clicking on that selection button.  
         [0071]     The configuration could also be such that reprinting can be selectively specified in page units, not file units.