Abstract:
An information processing apparatus capable of communicating with a document management service and a terminal device, the apparatus comprises: acceptance means for accepting, from the terminal device, an instruction about a document stored in the document management service; and instruction means for, when the document file has not been encrypted according to a public key cryptosystem, transmitting an instruction to the document management service to execute processing corresponding to the instruction accepted by the acceptance means, and when the document file has been encrypted according to the public key cryptosystem, transmitting an instruction to the document management service to directly transmit the encrypted document to the terminal device.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to an information processing apparatus connected via a plurality of networks to a Web server or the like having a file server function, and a control method thereof. 
       BACKGROUND ART 
       [0002]    A multi-function peripheral (MFP) having a file server function is known. A Web server which provides a file server function as a service is also known. The Web server of this kind provides even a file reference tool as a service, which allows opening and editing a file even if a PC connected to the MFP via a local area network does not prepare reference software as long as the MFP has a Web browser. The user can store a document file in the file server of the MFP or in the Web server. 
         [0003]    As a technique for maintaining security for a document file, it is known to encrypt the document file by a public key cryptosystem. It is also known to maintain security for a document file by arranging an access rights management server within a local area network, adding access rights management information called a policy to the document file, and managing access rights to the document file. Japanese Patent Laid-Open No. 2008-287332 proposes a technique of arranging an access rights management server on a plurality of networks and distributing policy information at the same time as a document file. 
         [0004]    In some cases, a document file stored in the Web server cannot be opened using the reference tool of the Web server. For example, a document file encrypted by the above-mentioned public key cryptosystem cannot be decrypted unless a private key corresponding to the public key is acquired. In general, however, an apparatus such as the Web server cannot obtain the private key. To open a security policy-added document file using the reference tool of the Web server, the Web server needs to access a management server which manages the security policy. However, the management server is generally built in the local area network, and the Web server present outside the firewall cannot access the management server. In this case, the Web server cannot open the security policy-added document file. 
         [0005]    Even if such a document file is saved in the Web server on the Internet, it cannot be opened using the reference tool of the Web server. The document file cannot be opened unless it is temporarily downloaded to a terminal device such as a PC within the local area network. This is a cumbersome work for the user. 
         [0006]    The present invention provides a technique of downloading a securely-provided document file from a Web server to a terminal device without cumbersome work on the part of the user in an information processing apparatus connected to the Web server and terminal device. 
       SUMMARY OF INVENTION 
       [0007]    According to one aspect of the present invention, there is provided an information processing apparatus capable of communicating with a document management service and a terminal device, the apparatus comprising: acceptance means for accepting, from the terminal device, an instruction about a document stored in the document management service; and instruction means for, when the document file has not been encrypted according to a public key cryptosystem, transmitting an instruction to the document management service to execute processing corresponding to the instruction accepted by the acceptance means, and when the document file has been encrypted according to the public key cryptosystem, transmitting an instruction to the document management service to directly transmit the encrypted document to the terminal device. 
         [0008]    According to another aspect of the present invention, there is provided an information processing apparatus capable of communicating with a document management service, the apparatus comprising: acceptance means for accepting designation of a storage location of a document file; transmission means for transmitting the document file to the storage location accepted by the acceptance means; first determination means for determining whether the document management service is designated as the storage location of the document file; second determination means for determining whether encryption according to a public key cryptosystem is designated for the document file; and restriction means for, when the first determination means determines that the document management service is designated as the storage location of the document file and the second determination means determines that encryption according to the public key cryptosystem is designated for the document file, restricting transmission of the document file to the document management service by the transmission means. 
         [0009]    According to still another aspect of the present invention, there is provided a method of controlling an information processing apparatus capable of communicating with a document management service and a terminal device, the method comprising: an acceptance step of accepting, from the terminal device, an instruction about a document stored in the document management service; and an instruction step of, when the document file has not been encrypted according to a public key cryptosystem, transmitting an instruction to the document management service to execute processing corresponding to the instruction accepted in the acceptance step, and when the document file has been encrypted according to the public key cryptosystem, transmitting an instruction to the document management service to directly transmit the encrypted document to the terminal device. 
         [0010]    According to yet another aspect of the present invention, there is provided a method of controlling an information processing apparatus capable of communicating with a document management service, the method comprising: an acceptance step of accepting designation of a storage location of a document file; a transmission step of transmitting the document file to the storage location accepted in the acceptance step; a first determination step of determining whether the document management service is designated as the storage location of the document file; a second determination step of determining whether encryption according to a public key cryptosystem is designated for the document file; and a restriction step of, when the document management service is determined in the first determination step to be designated as the storage location of the document file and encryption according to the public key cryptosystem is determined in the second determination step to be designated for the document file, restricting transmission of the document file to the document management service in the transmission step. 
         [0011]    Further features of the present invention will be apparent from the following description of exemplary embodiments with reference to the attached drawings. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0012]      FIG. 1  is a view showing the configuration of an overall information processing apparatus system in the first embodiment; 
           [0013]      FIG. 2  is a block diagram for explaining the arrangement of an MFP in the first embodiment; 
           [0014]      FIG. 3  is a block diagram for explaining the arrangement of a PC in the first embodiment; 
           [0015]      FIG. 4  is a block diagram for explaining the arrangement of a Web server in the first embodiment; 
           [0016]      FIG. 5  is a flowchart for explaining execution of printing by the MFP in the first embodiment; 
           [0017]      FIG. 6  is a flowchart for explaining execution of printing by the PC in the first embodiment; 
           [0018]      FIG. 7  is a view showing the configuration of an overall information processing apparatus system in the second embodiment; 
           [0019]      FIG. 8  is a flowchart for explaining execution of printing by a Web server in the second embodiment; 
           [0020]      FIG. 9  is a flowchart for explaining execution of printing by an MFP in the second embodiment; 
           [0021]      FIG. 10  is a flowchart for explaining execution of printing by a PC in the second embodiment; 
           [0022]      FIG. 11  is a view showing the configuration of an overall information processing apparatus system in the third embodiment; 
           [0023]      FIG. 12  is a block diagram for explaining the arrangement of an MFP in the third embodiment; 
           [0024]      FIG. 13  is a block diagram for explaining the arrangement of a security management server in the third embodiment; 
           [0025]      FIG. 14  is a block diagram for explaining the arrangement of a Web server in the third embodiment; 
           [0026]      FIGS. 15A and 15B  are flowcharts for explaining execution of reading by the MFP in the third embodiment; and 
           [0027]      FIG. 16  is a view exemplifying a warning window in execution of reading in the third embodiment. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0028]    An exemplary embodiment(s) of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise. 
       First Embodiment 
       [0029]      FIG. 1  exemplifies the configuration of an overall information processing system in the first embodiment. An MFP  110  serving as an information processing apparatus and a PC  120  serving as a terminal device are connected via a local area network  140  serving as the first network. The MFP  110  and PC  120  are connected to a Web server  130  via the local area network  140 , and the Internet  150  serving as the second network. Note that the local area network  140  is connected to the Internet  150  via a firewall apparatus (not shown). In the information processing system of the first embodiment, the PC  120  accesses the Web server  130  via the MFP  110 . The PC  120  designates a document file stored in the Web server  130 , and prints it using the MFP  110 . 
         [0030]      FIG. 2  is a block diagram exemplifying the arrangement of devices in the MFP  110  in the first embodiment. A CPU  111  controls all the devices of the MFP  110 . A RAM  112  is a memory which provides a work area for the CPU  111 . A hard disk  113  provides a program according to the present invention and stores various settings. An SSD (Solid State Drive) may replace the hard disk. A printing device  114  prints the image of electronic data on paper. A communication device  117  communicates with another device via a network. 
         [0031]    A main bus  118  is used to exchange data between the CPU  111 , the RAM  112 , the hard disk  113 , the communication device  117 , and the printing device  114 . In the first embodiment, the MFP  110  executes processes within it by controlling the RAM  112 , hard disk  113 , communication device  117 , and printing device  114  by the CPU  111  via the main bus  118 , unless otherwise specified. 
         [0032]      FIG. 3  exemplifies the arrangement of devices in the PC  120  in the first embodiment. A CPU  121  controls all the devices of the PC  120 . A RAM  122  provides a work area for the CPU  121 . A hard disk  123  provides a program according to the present invention and stores various settings. An SSD (Solid State Drive) may replace the hard disk. A user command input device  125  is an input device for inputting a command by the user (including an installation user). A UI display device  126  displays a window in accordance with an instruction from the CPU  121 . A communication device  127  communicates with another device via a network. 
         [0033]    A main bus  128  is used to exchange data between the CPU  121 , the RAM  122 , the hard disk  123 , the user command input device  125 , the UI display device  126 , and the communication device  127 . Note that the PC  120  executes processes within it by controlling the RAM  122 , hard disk  123 , user command input device  125 , UI display device  126 , and communication device  127  by the CPU  121  via the main bus  128 , unless otherwise specified. 
         [0034]      FIG. 4  exemplifies the arrangement of devices in the Web server  130  in the first embodiment. A CPU  131  controls all the devices of the Web server  130 . A RAM  132  provides a work area for the CPU  131 . A hard disk  133  stores programs and various kinds of setting information. An SSD (Solid State Drive) may replace the hard disk. A communication device  137  communicates with another device via a network. 
         [0035]    A main bus  138  is used to exchange data between the CPU  131 , the RAM  132 , the hard disk  133 , and the communication device  137 . In the first embodiment, the Web server  130  executes processes within it by controlling the RAM  132 , hard disk  133 , and communication device  137  by the CPU  131  via the main bus  138 , unless otherwise specified. 
         [0036]    The Web server  130  operates as a document management server, and provides document reference and editing services. In general, even if a document file exists in the document management server, the user activates a program in the PC terminal and opens the document file for reference and editing. However, the Web server  130  according to the first embodiment provides reference and editing of a document file as Web services, and enables the above work without using the PC terminal resources. 
         [0037]    An example of utilizing a service in the Web server  130  using the Web browser of the PC terminal will be explained.  FIG. 5  is a flowchart showing the operation sequence of the MFP  110  when executing printing in the first embodiment. This sequence is implemented by executing a program stored in the hard disk  113  by the CPU  111  of the MFP  110 . In this example, the MFP  110  serves as an HTTP server. The PC  120  can access the MFP  110  via the Web browser, instruct it to print, and print a document file stored in the Web server  130 . A PDF file will be exemplified as a document file, but the document file is not limited to the PDF format. 
         [0038]    In step S 1101 , the MFP  110  receives a document file list display request from the PC  120  via the communication device  117 . In the first embodiment, the devices transmit/receive data and commands via the communication device  117 , unless otherwise specified. 
         [0039]    In step S 1102 , upon receiving the document file list display request, the MFP  110  obtains a document file list from the Web server  130 . The MFP  110  may register the address of the Web server  130  in the hard disk  113  in advance. Alternatively, the address of the Web server  130  may be designated together with the document file list display request which has been accepted from the PC  120  in step S 1101 . 
         [0040]    Upon completion of obtaining the document file list display request, the MFP  110  advances to step S 1103 , and transmits the document file list to the PC  120 . In step S 1104 , the MFP  110  accepts a document file printing instruction from the PC  120 . In step S 1105 , the MFP  110  obtains the attribute of a designated document file, and determines whether the document file has been encrypted according to the public key cryptosystem. The attribute of the document file may be obtained simultaneously when obtaining the document file list in step S 1102 , or separately obtained from the Web server  130  after designating the document file in step S 1104 . 
         [0041]    If the MFP  110  determines in step S 1105  that the document file has been encrypted according to the public key cryptosystem, it advances to step S 1108 . In step S 1108 , the MFP  110  instructs the Web server  130  to directly transmit the encrypted document file to the PC  120 . An example of the encrypted document file format is an encrypted PDF format. For example, the Web server  130  transmits a document file to the PC  120  by the following method. The MFP  110  requests a document file of the Web server  130 , and receives it as a response from the Web server  130 . The MFP  110  transfers the received document file to the PC  120 . According to this method, the Web server  130  can transmit a document file to the PC  120  even in the embodiment in which the firewall apparatus exists on the route between the Web server  130  and the PC  120 . Then, the document file such as a PDF file is downloaded to the PC  120 . The PC  120  decrypts, by using a private key corresponding to a public key, the document file which has been encrypted with the public key, and then opens the document file. The encrypted document file can therefore be opened without taking the private key out of the PC  120 . 
         [0042]    As another method of transmitting a document file from the Web server  130  to the PC  120  in step S 1108 , the Web server  130  may attach the document file to e-mail and transmit it to the e-mail address of the PC  120 . In this case, assume that the Web server  130  can specify the e-mail address of the PC  120  (or its user). 
         [0043]    In step S 1109 , the MFP  110  receives an instruction from the PC  120  to print the decrypted document file. Together with the printing instruction, the MFP  110  receives the decrypted document file or PDL (Page Description Language) data which has been generated by the PC  120  based on the decrypted document file. In the process of step S 1108  or S 1109 , the MFP  110  may instruct the PC  120  to activate a program for opening the document file in the PC  120 , or activate a printer driver. This obviates the need to manually activate the reference program or printer driver by the user. The MFP  110  receives the data in step S 1109 , and then shifts to step S 1110 . 
         [0044]    If the MFP  110  determines in step S 1105  that the document file has not been encrypted according to the public key cryptosystem, it advances to step S 1106 . In step S 1106 , the MFP  110  instructs the Web server  130  to transmit the document file to the MFP  110 . An example of the file format may be the format (PDF format) of a document file stored in the Web server  130 , or the PDF format generated in the Web server  130  based on the document file. 
         [0045]    In step S 1107 , the MFP  110  receives the document file transmitted from the Web server  130  in accordance with the instruction issued in step S 1106 . The document file is then downloaded from the Web server  130  to the MFP  110 . Upon completion of downloading, the MFP  110  shifts to step S 1110 . 
         [0046]    In step S 1110 , the MFP  110  determines whether the received document file needs to be converted into print data. For example, the MFP  110  checks whether the document file has the PDF format or PDL format, and if the document file has the PDF format, determines that the document file needs to be converted into print data. If the MFP  110  determines in step S 1110  that the document file needs to be converted, it advances to step S 1111 , converts the document file into print data for printing, and advances to step S 1112 . If the MFP  110  determines in step S 1110  that the document file need not be converted, it advances to step S 1112 . 
         [0047]    In step S 1112 , the MFP  110  causes the printing device  114  to print the document file. Finally in step S 1113 , upon completion of printing, the MFP  110  transmits a printing completion notification to the PC  120 . 
         [0048]    According to the flowchart of  FIG. 5 , the PC  120  can access the MFP  110  and instruct it to print a document file stored in the Web server  130 . When the document file has been encrypted with a public key, it is temporarily downloaded to the PC  120  and decrypted by the PC  120 . Since the document file can be decrypted without taking the private key out of the PC  120 , security for the private key can be maintained. The document file is not decrypted by the Web server  130  outside the local area network  140 , so security for the document file can be maintained. When the document file has not been encrypted with the public key, it can be printed by the MFP  110  without downloading it to the PC  120 . 
         [0049]      FIG. 6  is a flowchart exemplifying a sequence executed by the PC  120  when executing printing in the first embodiment. This sequence is implemented by executing a program stored in the hard disk  123  by the CPU  121  of the PC  120 . In step S 1201 , the PC  120  transmits a document file list request to the MFP  110  via the communication device  127 . In the first embodiment, the devices transmit/receive data and commands via the communication device  127 , unless otherwise specified. 
         [0050]    In step S 1202 , the PC  120  receives a document file list from the MFP  110 , and displays it on the UI display device  126 . In step S 1203 , the PC  120  accepts designation of a document file and a printing instruction from the user via the user command input device  125 . Exchange of such data with the user can be achieved using, for example, a Web browser. In step S 1204 , the PC  120  transmits the accepted printing instruction to the MFP  110 . 
         [0051]    In step S 1205 , the PC  120  determines whether data received after step S 1204  is a printing completion notification from the MFP  110  or a document file from the Web server  130 . If the PC  120  determines in step S 1205  that the received data is a printing completion notification from the MFP  110  (YES in step S 1205 ), it receives the printing completion notification from the MFP  110  in step S 1209 , and in step S 1210 , displays, on the UI display device  126 , a message that printing is completed. Note that the MFP  110  executes the processes in steps S 1104 , S 1105  (NO), and S 1106  to S 1113  in the flowchart of  FIG. 5  until the PC  120  receives the printing completion notification from the MFP  110  after transmitting the document file printing instruction to the MFP  110  in step S 1204 . 
         [0052]    If the PC  120  determines in step S 1205  that the data received from the Web server  130  is a document file (NO in step S 1205 ), it receives the document file from the Web server  130  in step S 1206 . This document file is one which has been transmitted from the Web server  130  in accordance with the instruction issued from the MFP  110  to the Web server in step S 1108  of the flowchart of  FIG. 5 . Executing step S 1108  in the flowchart of  FIG. 5  by the MFP  110  means that it is determined in step S 1105  that the document file has been encrypted with the public key. In other words, in step S 1206 , the document file transmitted from the Web server  130  has been encrypted with the public key. An example of the document file received from the Web server  130  is an encrypted PDF format. Upon receiving the document file, the PC  120  decrypts it in step S 1207 . At this time, if the document file has been encrypted according to the public key cryptosystem, a private key is necessary for decryption. Assume that the PC  120  can utilize the private key. For example, the private key may be stored in the hard disk  123  within the PC  120 . Alternatively, the PC  120  may include an IC card reader (not shown) and decrypt the document file using a private key stored in an IC card. 
         [0053]    In step S 1208 , the PC  120  transmits the decrypted document file to the MFP  110 . An example of the file format in transmission to the MFP  110  is the PDF format or PDL format. After that, the PC  120  receives a printing completion notification from the MFP  110  in step S 1209 , and displays the completion of printing on the UI display device  126  in step S 1210 . 
         [0054]    According to the first embodiment, the user who operates the PC  120  can print a document file stored in the Web server  130  as if the document file were stored in the MFP  110 . Even if the document file has been encrypted by the public key cryptosystem, it can be decrypted without taking the private key out of the PC  120 . Since the document file encrypted by the public key cryptosystem is not decrypted outside the local area network  140  (on the Internet), security for the document file can be maintained. 
       Second Embodiment 
       [0055]      FIG. 7  is a view exemplifying the configuration of an information processing system in the second embodiment. In the first embodiment, the PC  120  does not access the Web server  130 . In the second embodiment, a PC  220  can access a Web server  230 . An MFP  210  and the PC  220  are connected via a local area network  140 . The MFP  210  and Web server  230  are connected via the Internet  150  and the local area network  140 . Note that the local area network  140  is connected to the Internet  150  via a firewall apparatus (not shown). In the information processing system of the second embodiment, a document file present in the Web server  230  is designated from the PC  220  and printed by the MFP  210 . 
         [0056]    The device arrangements of the MFP  210 , PC  220 , and Web server  230  are the same as those of the MFP  110  in  FIG. 2 , the PC  120  in  FIG. 3 , and the Web server  130  in  FIG. 4  described in the first embodiment, and a description thereof will not be repeated. 
         [0057]      FIG. 8  is a flowchart exemplifying a sequence executed by the Web server  230  when executing printing in the second embodiment. This sequence is implemented by executing a program stored in a hard disk  133  by a CPU  131  of the Web server  230 . In the second embodiment, the Web server  230  serves as an HTTP server. The PC  220  can access the Web server  230  via the Web browser, instruct it to print, and cause the MFP  210  to print a document file. 
         [0058]    In step S 2301 , the Web server  230  receives a document file list display request from the PC  220  via a communication device  137 . In the second embodiment, the devices transmit/receive data and commands via the communication device  137 , unless otherwise specified. 
         [0059]    In step S 2302 , as the first transmission, the Web server  230  transmits a document file list to the PC  220  in response to the received request. In step S 2303 , the Web server  230  receives a document file printing instruction from the PC  220 . In step S 2304 , the Web server  230  checks the attribute of a document file designated in step S 2303 , and determines whether the document file has been encrypted according to the public key cryptosystem. 
         [0060]    If the Web server  230  determines in step S 2304  that the document file has been encrypted according to the public key cryptosystem, it directly transmits the encrypted document file to the PC  220  as the second transmission in step S 2306 . An example of the encrypted file format is an encrypted PDF format. In this step, the encrypted document file is downloaded to the PC  220 . After that, the Web server  230  may instruct the PC  220  to activate a program for opening the document file in the PC  220 , or activate a printer driver. This obviates the need to manually activate the reference program or printer driver by the user. The Web server  230  then shifts to step S 2307 . 
         [0061]    If the Web server  230  determines in step S 2304  that the document file has not been encrypted according to the public key cryptosystem, it transmits the document file to the MFP  210  in step S 2305 . An example of the file format is the PDF format or PDL format. For example, the Web server  230  transmits a document file to the MFP  210  by the following method. The PC  220  requests a document file of the Web server  230 , and receives it as a response from the Web server  230 . The PC  220  transfers the received document file to the MFP  210 . According to this method, the Web server  230  can transmit a document file to the MFP  210  even in the embodiment in which the firewall apparatus exists on the route between the Web server  230  and the MFP  210 . At this time, assume that the printing instruction received in step S 2303  contains the address of the MFP  210 . Based on the address, the document file is downloaded to the MFP  210 . Upon completion of downloading, the Web server  230  shifts to step S 2307 . 
         [0062]    As another method of transmitting a document file from the Web server  230  to the MFP  210  in step S 2305 , the Web server  230  may attach the document file to e-mail and transmit it to the e-mail address of the PC  220 . In this case, assume that the Web server  230  can specify the e-mail address of the MFP  210 . 
         [0063]    In step S 2307 , the Web server  230  receives a printing completion notification from the MFP  210 . In step S 2308 , the Web server  230  transmits the printing completion notification to the PC  220 . 
         [0064]      FIG. 9  is a flowchart exemplifying a sequence executed by the MFP  210  when executing printing in the second embodiment. This sequence is implemented by executing a program stored in a hard disk  113  by a CPU  111  of the MFP  210 . In step S 2101 , the MFP  210  receives a document file from the Web server  230  or PC  220  via a communication device  117 . In the second embodiment, the devices transmit/receive data and commands via the communication device  117 , unless otherwise specified. An example of the file format is the PDF format or PDL format. 
         [0065]    In step S 2102 , the MFP  210  determines whether the received document file needs to be converted into print data. For example, the MFP  210  checks whether the document file has the PDF format or PDL format, and if the document file has the PDF format, determines that the document file needs to be converted into print data. If the MFP  210  determines that the document file needs to be converted into print data, it converts the document file into print data in step S 2103 , and shifts to step S 2104 . If the MFP  210  determines that the document file need not be converted into print data, it advances to step S 2104 . 
         [0066]    In step S 2104 , the MFP  210  causes a printing device  114  to print the document file. Finally in step S 2105 , upon completion of printing, the MFP  210  transmits a printing completion notification to the Web server  230 . The address of the Web server  230  that is used at this time may be received simultaneously when receiving the document file from the PC  220 . 
         [0067]      FIG. 10  is a flowchart exemplifying a sequence executed by the PC  220  when executing printing in the second embodiment. This sequence is implemented by executing a program stored in a hard disk  123  by a CPU  121  of the PC  220 . In step S 2201 , the PC  220  transmits a document file list request to the Web server  230  via a communication device  127 . In the second embodiment, the devices transmit/receive data and commands via the communication device  127 , unless otherwise specified. 
         [0068]    In step S 2202 , the PC  220  receives a document file list from the Web server  230 , and displays it on a UI display device  126 . In step S 2203 , the PC  220  accepts designation of a document file and a printing instruction from the user via a user command input device  125 . Exchange of such data with the user can be achieved using, for example, a Web browser. In step S 2204 , the PC  220  transmits the accepted printing instruction to the Web server  230 . 
         [0069]    In step S 2205 , the PC  220  determines whether data received after step S 2204  is a printing completion notification from the Web server  230  or a document file from the Web server  230 . If the PC  220  determines in step S 2205  that the received data is a printing completion notification from the Web server  230  (YES in step S 2205 ), it receives the printing completion notification from the Web server  230  in step S 2209 , and in step S 2210 , displays, on the UI display device  226 , a message that printing is completed. Note that the Web server  230  executes the processes in steps S 2303 , S 2304  (NO), and S 2305  to S 2308  in the flowchart of  FIG. 8  until the PC  220  receives the printing completion notification from the Web server  230  after transmitting the document file printing instruction to the Web server  230  in step S 2204 . 
         [0070]    If the PC  220  determines in step S 2205  that the data received from the Web server  230  is a document file (NO in step S 2205 ), it receives the document file from the Web server  230  in step S 2206 . This document file is one which has been transmitted from the Web server  230  in step S 2306  of the flowchart of  FIG. 8 . Executing step S 2306  in the flowchart of  FIG. 8  by the Web server  230  means that it is determined in step S 2304  that the document file has been encrypted with the public key. In other words, in step S 2206 , the document file transmitted from the Web server  230  has been encrypted with the public key. An example of the document file received from the Web server  230  is an encrypted PDF format. Upon receiving the document file, the PC  220  decrypts it in step S 2207 . At this time, if the document file has been encrypted according to the public key cryptosystem, a private key is necessary for decryption. Assume that the PC  220  can utilize the private key. For example, the private key may be stored in the hard disk  123  within the PC  220 . Alternatively, the PC  220  may include an IC card reader (not shown) and decrypt the document file using a private key stored in an IC card. 
         [0071]    In step S 2208 , the PC  220  transmits the decrypted document file to the MFP  210 . An example of the file format in transmission to the MFP  210  is the PDF format or PDL format. After that, the PC  220  shifts to step S 2209 . 
         [0072]    In step S 2209 , the PC  220  receives a printing completion notification from the Web server  230 . In step S 2210 , the UI display device  126  of the PC  220  displays the completion of printing for the user. 
         [0073]    According to the second embodiment, even if the document file has been encrypted by the public key cryptosystem, it can be decrypted without taking the private key out of the PC  220 . Since the document file encrypted according to the public key cryptosystem is not decrypted outside the local area network (on the Internet), security for the document file can be maintained. 
       Third Embodiment 
       [0074]      FIG. 11  is a view exemplifying the configuration of an information processing system in the third embodiment. An MFP  310  and security management server  320  are connected via a local area network  140 . The MFP  310  and a Web server  330  are connected via the Internet  150  and the local area network  140 . Note that the local area network  140  is connected to the Internet  150  via a firewall apparatus (not shown). In the information processing system of the third embodiment, the MFP  310  reads a document, converts it into a document file, and saves the document file in the MFP  310 , security management server  320 , or Web server  330 . The security management server  320  manages access rights to a document file. When the MFP  310  or another apparatus is to open a document file whose access rights are managed by the security management server  320 , it must query the security management server  320  for access rights. A document file whose access is managed by the security management server  320  will be called a security policy-added document file. 
         [0075]      FIG. 12  is a block diagram exemplifying the arrangement of devices in the MFP  310  in the third embodiment. A CPU  311  controls all the devices of the MFP  310 . A RAM  312  is a memory which provides a work area for the CPU  311 . A hard disk  313  provides a program according to the present invention and stores various settings. An SSD (Solid State Drive) may replace the hard disk. A user command input device  315  is used to input a command by the user (including an installation user). A UI display device  316  displays a window in accordance with an instruction from the CPU  311 . A reading device  319  reads an image on paper as electronic data. A communication device  317  communicates with another device via a network. 
         [0076]    A main bus  318  is used to exchange data between the CPU  311 , the RAM  312 , the hard disk  313 , the user command input device  315 , the reading device  319 , and the communication device  317 . Note that the MFP  310  executes processes within it by controlling the RAM  312 , hard disk  313 , user command input device  315 , reading device  319 , and communication device  317  by the CPU  311  via the main bus  318 , unless otherwise specified. 
         [0077]      FIG. 13  is a block diagram exemplifying the arrangement of devices in the security management server  320  in the third embodiment. A CPU  321  controls all the devices of the security management server  320 . 
         [0078]    A RAM  322  is a memory which provides a work area for the CPU  321 . A hard disk  323  stores programs and various kinds of setting information. An SSD (Solid State Drive) may replace the hard disk. A communication device  327  communicates with another device via a network. 
         [0079]    A main bus  328  is used to exchange data between the CPU  321 , the RAM  322 , the hard disk  323 , and the communication device  327 . In the third embodiment, the security management server  320  executes processes within it by controlling the RAM  322 , hard disk  323 , and communication device  327  by the CPU  321  via the main bus  328 , unless otherwise specified. The security management server  320  may be configured as the same device as the MFP  310 . 
         [0080]      FIG. 14  is a block diagram exemplifying the arrangement of devices in the Web server  330  in the third embodiment. A CPU  331  controls all the devices of the Web server  330 . A RAM  332  is a memory which provides a work area for the CPU  331 . A hard disk  333  provides a program according to the present invention and stores various settings. An SSD (Solid State Drive) may replace the hard disk. A communication device  337  communicates with another device via a network. 
         [0081]    A main bus  338  is used to exchange data between the CPU  331 , the RAM  332 , the hard disk  333 , and the communication device  337 . In the third embodiment, the Web server  330  executes processes within it by controlling the RAM  332 , hard disk  333 , and communication device  337  by the CPU  331  via the main bus  338 , unless otherwise specified. 
         [0082]      FIGS. 15A and 15B  are flowcharts exemplifying the operation sequence of the MFP  310  when executing printing in the third embodiment. This sequence is implemented by executing a program stored in the hard disk  313  by the CPU  311  of the MFP  310 . In step S 3101 , the MFP  310  controls the UI display device  316  to display a window which prompts the user to make settings regarding document reading by the reading device  319 . Examples of the settings are the file format setting of image data to be generated from a read document, the storage location setting when storing generated image data as a document file, and the reading resolution setting. 
         [0083]    In step S 3102 , the MFP  310  accepts a file format setting input by operating the user command input device  315  by the user. The file format setting includes a color/monochrome setting, file format designation such as the TIFF format or PDF format, and file encryption setting such as password encryption or public key encryption. 
         [0084]    In step S 3103 , the MFP  310  accepts a file storage location setting input by operating the user command input device  315  by the user. The storage location setting contents include information for specifying an apparatus, and information for specifying a folder or directory, such as a URL. 
         [0085]    In step S 3104 , the MFP  310  accepts a reading execution instruction from the user via the user command input device  315 . In step S 3105 , as the first determination, the MFP  310  determines whether the set storage location is within the same network as the local area network  140  connected to the MFP  310 , or outside the local area network  140  (for example, the Internet  150 ). More specifically, the set storage location is determined from the network domain. If the MFP  310  determines in step S 3105  that the set storage location is within the same network, it shifts to step S 3111 . 
         [0086]    If the MFP  310  determines in step S 3105  that the set storage location is outside the same network, it shifts to step S 3106 . In step S 3106 , as the second determination, the MFP  310  determines whether the file format setting is the public key cryptosystem. If the MFP  310  determines in step S 3106  that the file format setting is the public key cryptosystem (YES), it advances to step S 3108 . If the MFP  310  determines in step S 3106  that the file format setting is not the public key cryptosystem (NO), it shifts to step S 3107 . 
         [0087]    In step S 3107 , as the third determination, the MFP  310  determines whether the file format has a setting of adding a security policy to a document file by an access rights management server (not shown) within the same network (local area network  140 ). The security policy is information which defines access rights to a document file. In the third embodiment, the security management server  320  manages a security policy for a document file. When opening or printing a security policy-added document file, the MFP  310  needs to access the security management server  320  and inquire about the security policy of the document file. If the MFP  310  determines that the file format does not have a setting of adding a security policy (NO), it advances to step S 3111 . If the MFP  310  determines that the file format has a setting of adding a security policy (YES), it advances to step S 3108  and displays a warning window on the UI display device  316 . 
         [0088]      FIG. 16  is a view exemplifying a warning window display. For example, when the storage location is the Web server  330 , a document file encrypted according to the public key cryptosystem or a security policy-added document file cannot be opened using the reference tool of the Web server  330 . Opening a document file encrypted according to the public key cryptosystem requires a private key corresponding to the public key. However, it is not good in terms of security to transfer the private key to the Web server  330  on the Internet  150 . The Web server  330  can neither obtain the private key nor open the document file encrypted according to the public key cryptosystem. To open a security policy-added document file by the Web server  330 , the Web server  330  needs to inquire about access rights to the document file of the security management server  320  in the local area network  140 . However, in general, a firewall (not shown) is installed in the local area network  140 , so the Web server  330  cannot query the security management server  320  regarding access rights. Thus, the Web server  330  cannot open the security policy-added document file. Even if a document file is saved in the Web server  330 , it needs to be downloaded to the PC of the user when he is to refer to the document file, and cumbersome work is inevitable. For this reason, transmission of a document file to the Web server  330  is restricted. From a warning window as shown in  FIG. 16 , the user can take a measure such as change of the storage location. 
         [0089]    Note that the warning window in  FIG. 16  may include in more detail a message which notifies the user that “document data encrypted according to the public key cryptosystem cannot be stored in a designated storage destination” or a message which notifies the user that “a security policy-added document file cannot be stored in a designated storage destination”. 
         [0090]    After displaying the warning window, the MFP  310  determines in step S 3109  whether it has accepted cancellation of reading from the user. If the MFP  310  determines in step S 3109  that it has accepted cancellation (the user has pressed “NO” on the warning window of  FIG. 16 ), it advances to step S 3110 , displays, on the UI display device  316 , a message that reading stops, and ends the process. If the MFP  310  determines in step S 3109  that it has not accepted cancellation (the user has pressed “YES” on the warning window of  FIG. 16 ), it advances to step S 3111 , executes reading of a document by scanning it by the reading device  319 , and executes conversion processing into a document file, generating a converted document file. After the end of conversion processing, the MFP  310  transmits the document file to the designated storage location in step S 3112 . In step S 3113 , the MFP  310  displays, on the UI display device  316  for the user, a message that the storage is completed, and then ends the process. 
       Other Embodiments 
       [0091]    The system configuration of  FIG. 11  described in the third embodiment may be applied to the first embodiment. That is, the security management server  320  is added to the system configuration of  FIG. 1 . In this system configuration, the first or second embodiment may be implemented as follows. 
         [0092]    A security policy-added document file cannot be opened unless the security management server  320  is queried for access rights. Since a firewall (not shown) intervenes between the Web server  130  and the security management server  320 , the Web server  130  cannot access the security management server  320 . In other words, even a security policy-added document file is handled as a file which cannot be opened by the Web server  130 , similar to a document file encrypted by the public key cryptosystem which has been described in the first and second embodiments. 
         [0093]    More specifically, in step S 1105  of the flowchart of  FIG. 5  in the first embodiment, the MFP  110  obtains the attribute of a designated document file, determines whether the document file has been encrypted according to the public key cryptosystem, and in addition determines whether the security policy has been added to the document file. If the MFP  110  determines that the security policy has been added to the file, it advances to step S 1108 . After the PC  120  queries the security management server  320  for access rights, the PC  120  opens the document file, and instructs the MFP  110  to print it in the PDL or PDF data format. 
         [0094]    In this case, not the PC  120  but the MFP  110  may obtain a document file from the Web server  130 , and query the security management server  320  regarding access rights to the document file. 
         [0095]    In the first to third embodiments, the Web server  130 ,  230 , or  330  may provide the document management service as a cloud service using a plurality of servers. 
         [0096]    Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (for example, computer-readable storage medium). 
         [0097]    While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
         [0098]    This application claims the benefit of Japanese Patent Applications No. 2010-109584 filed May 11, 2010, No. 2011-025339 filed Feb. 8, 2011 and No. 2011-094379 filed Apr. 20, 2011, which are hereby incorporated by reference herein in their entirety.