1. Field of the Invention
The present invention relates to an image processing apparatus which is communicably connected to an external apparatus via a network.
2. Description of the Related Art
With HTML (HyperText Markup Language), a web page creator can request input of information as to a user viewing the web page with a form that is described with predetermined form elements. An HTML form is an effective tool for various types of applications which require input from users, and makes up a user interface between the web page creator and the user. Thus, a web application is provided which operates on the web server side and can be operated from the web browser of a client.
The web browser of the user which is the client requests HTML resources as to a web browser, and upon obtaining from the server, a user interface based on HTML is displayed on the web browser of the client. When the user inputs information in the form displayed on the web browser and confirms this, the input information is transmitted from the client to the server. Information replied as to the input information, i.e. content wherein execution results of the web application are reflected, can then be obtained from the server. In many cases, the replied content is a user interface of the web application made up with the HTML form. With repeating thus, a so-called distributed application system which is a web application operated on a server at a distant location that is operated by a user interface transmitted on the web browser of the client, is realized.
A great number of systems have realized HTML, which has bidirectionality of information transmissions, to be employed as a user interface description language which can be transferred distantly over a user interface by using forms.
A method for “file upload based on HTML form” is disclosed in RFC 1867. This method expands the bidirectionality of the information transmission by the HTML forms and enables uploading a file stored in a client platform as input as to the server of the distributed application. According to this method, a general web browser currently employed and a large amount of web content are installed.
A screen example of a form displayed on a general web browser by the technique shown in RFC 1867 is shown in
Within the display 2703 region is an implementation by a method generally employed with a conventional web browser, and this implementation is also shown in the RFC 1867. Within the display 2703 region, the display 2705 is a file name input field, wherein a file path (file name) in a file system of the file to be uploaded to the server can be input by typing. Also, a display 2706 corresponds to a file selection button, and when this button is pressed, the web browser can enter a file selection mode applicable to the operating platform. With a web browser operated on a general-use computer, a file selection dialog box is opened, whereby the file to be uploaded from the group of files stored in the file system can be selected.
On the other hand, in accordance with the development and wide-spread use of Internet technology, a wide variety of distribution application services are being provided which presume the generally-used web browser to be the client. In particular, in the field of information technology, application service providers (ASP) which are vendors specializing in providing web-based distributed applications have begun providing services. Services provided by an ASP include information service, creating, searching, storing, authentication, distribution, printing, publishing, managing, translating, commissioning, and so forth. Also, governmental paperwork and various types of electronic business transactions may be offered.
Within the field of built-in systems also, a remote user interface is made into a product which a web server function is provided in addition to the original apparatus functions on an apparatus to provide a user interface of the apparatus to a distant web browser. Also, a technology is currently provided to the apparatus functions wherein a web client function is provided in addition to the original apparatus functions on an apparatus to obtain (download) various content from a distant web server and perform browsing. As an example of such an apparatus is an image processing apparatus with a built-in web browser.
If performing uploading of image data not digitized can be performed in the workflow of the distributed application provided by the ASP, the likelihood of a distributed application increases. For example, in a workflow for electronic business transactions or governmental paperwork, it is anticipated that input such as order forms with a seal or signature or public documents such as various types of identification certificates can be obtained at an appropriate timing during the paperwork process.
In the case that a system is made up by joining the web client corresponding to a general-use web application and an image input unit, the image data input with the image processing apparatus has to be stored in a storage unit such as an HD. Subsequently, the file thereof is uploaded, resulting in two operations being performed. That is to say, there is a problem wherein the two steps of an image input step and an upload step are required, and accordingly, the operation thereof becomes cumbersome.
To solve this problem, there is a technique to use a web browser built in to the image processing apparatus to readily perform uploading of image data not digitized (e.g. Japanese Patent Laid-Open No. 2005-149320). As a screen based on description of an “input” element in “file” form, displaying a button to read an image on an original image, input the image data, and directly upload the input image data, is described in Japanese Patent Laid-Open No. 2005-149320.
In the event of uploading image data to the server using the above-described method, there may be cases wherein the following problem occurs. That is to say, depending on the server serving as the transmission destination of the image data, there may be cases wherein the size of transmittable image data is restricted.
For example, a user specifies image data to send via the screen shown in
Once an error occurs, the user has to perform the operations again from the beginning, thus, usability has decreased.
The present invention has been made in light of the above-described problems, and provides for an image processing apparatus, and a control method, program, and storage medium thereof, to control such that, in the event of transmitting image data based on a document wherein a predetermined form is described, image data of a size that can be sent is input.
An image processing apparatus, which includes an input unit to input image data and which is communicably connected to an external apparatus via a network, includes an obtaining unit configured to obtain a document with a predetermined form via the network from the external apparatus; a display unit configured to display a screen based on the document obtained by the obtaining unit; a transmitting unit configured to transmit image data input by the input unit according to instructions from a user via the screen displayed by the display unit; a determining unit configured to determine the size of image data that can be processed by the transmission destination of the image data; and a control unit configured to perform control such that the image data according to the size of image data that can be processed by the transmission destination is input by the input unit, based on the determination results of the determining unit.
A method for controlling an image processing apparatus, which includes an input unit to input image data and which is communicably connected to an external apparatus via a network, includes obtaining a document with a predetermined form via the network from the external apparatus, displaying a screen based on the document, transmitting image data input by the input unit according to instructions from a user via the screen, determining the size of image data that can be processed by the transmission destination of the image data and controlling, such that the image data according to the size of image data that can be processed by the transmission destination is input by the input unit, based on the determination.
Further features and aspects of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principle of the invention.
Embodiments of the present invention will be described below.
As shown in
The ASP site 153 provides a predetermined service to the user site 151 via the wide area network 152. Services provided by the ASP site 153 may include information service, creating, searching, storing, authentication, distribution, printing, publishing, managing, translating, commissioning, and so forth. Also, governmental paperwork and various types of electronic business transactions may be offered. The ASP site 153 includes a LAN (Local Area Network) 154 and server 155. The LAN 154 is a network within the ASP site 153, and connects network devices within the site. Also, the LAN 154 is connected to the wide area network 152 via a router or the like.
A software process group for realizing the service provided by the ASP operates on the server 155. A software module may be
1) an HTTP server that transmits content such as HTML in response to a request by the HTTP protocol from the client,
2) a web application group which is executed with the HTTP server according to HTTP requests, performs predetermined processing and HTTP responses, and is installed with a CGI (Common Gateway Interfaces) program or servlet, and
3) a business logic group such as electronic business transaction program and backend database management system, used for a CGI program or servlet to execute predetermined processing.
The user site 151 is made up of a host computer 101, multiple network devices such as image processing apparatuses 110, 120, 130, and a LAN 100 to which the network device group is connected. The LAN 100 of the user site 151 is communicably connected to the wide area network 152 via a router or the like. The router has a so-called firewall function. That is to say, the router performs packet filtering to protect the user site 151 from attacks by an external network. Also, with the router, there may be cases wherein network address conversions or network port conversions are performed for address management reasons and so forth.
Restrictions are placed on communication between the user site 151 and external network for such router functions. That is to say, in many cases, communication is enabled only for several defined protocols. For example, the HTTP connections established from inside toward the outside is generally permissible communication, and this is one reason that application service providing based on general web-based technology is valid.
The image processing apparatus 110 is an MFP (Multi Function Peripheral) that performs input/output and sending/receiving of an image and various types of image processing. The image processing apparatus 110 has a scanner 113 which is an image input device, printer 114 which is an image output device, control unit 111, and operating unit 112 which is a user interface. The scanner 113, printer 114, and operating unit 112 are each connected to the control unit 111, and are controlled by commands from the control unit 111. The control unit 111 is connected to the LAN 100.
Each of the image processing apparatuses 120 and 130 have similar device configurations as the image processing apparatus 110, and are similarly connected to the LAN 100. The image processing apparatus 120 has a scanner 123, printer 124, operating unit 122, and a control unit 121 which controls each of the scanner 123, printer 124, and operating unit 122. Also, the image processing apparatus 130 has a scanner 133, printer 134, operating unit 132, and a control unit 131 which controls each of the scanner 133, printer 134, and operating unit 132.
The host computer 101 is connected to the LAN 100. The host computer 101 has a web browser as described later, and displays status of the image processing apparatuses 110, 120, and 130, based on an HTML file received from the image processing apparatuses 110, 120, and 130. Also, the host computer 101 can perform HTTP connection to the servers 155 and 158 and receive service providing.
Next, the software configuration of the image processing apparatus 110 will be described with reference to
A user interface (hereafter, UI) module 201 is implemented in the image processing apparatus 110. The UI module 201 is a module to perform mediation between a device and user operation in the event that an operator performs various types of operations/settings as to the image processing apparatus 110. In accordance with operator operations, the UI module 201 transfers input information to later-described various types of modules and requests processing, and performs data settings and so forth.
Also, an address book module 202 installed in the image processing apparatus 110, and the address book module 202 is a database module that manages data transmission destinations, communication destinations, and so forth. Regarding the data that the address book module 202 manages, adding, deleting, and obtaining data can be performed with operations from the UI module 201. Also, the address book module 202 data transmission/communication destination information to each module will be described later with operations by an operator.
Also, a web server module (Web-Server module) 203 notifies management information of the image processing apparatus 110 to a web client (e.g. host computer 101) based on a request from the web client. The above-described managing information is obtained via a later-described universal sending unit module 204, remote copy scan module 209, remote copy print module 210, and control API module 218. The managing information is communicated to the web client via a later-described HTTP module 212, TCP/IP communication module 216, and network driver 217.
Also, a web browser module 211 is installed in the image processing apparatus 110, and the web browser module reads and displays information of various websites on the Internet or intranets. Details of the configuration of the web browser module 211 will be described later.
The universal sending unit (Universal-Send) module 204 is a module that governs data distribution, and the module 204 distributes data instructed by the operator via the UI module 201 to a similarly instructed communication (output) destination. Also, in the case that the scanner function of the present device is used by the operator to instruct generation of distribution data, the universal sending unit (Universal-Send) module 204 causes the device to operate via a control API module 218, and performs data generating. The universal sending unit module 204 has a module (P550) 205 to execute in the event that a printer is specified as the output destination and a E-mail module 206 to execute in the event that an E-mail address is specified as the communication destination. Further, the universal sending unit module 204 has a (DB) module 207 to execute in the event that a database is specified as the output destination and a (DP) module 208 to execute in the event that an image processing apparatus similar to the present device is specified as the output destination.
A remote copy scan module 209 uses the scanner function of the image processing apparatus 110 to read image information, and outputs the read image information to another image processing apparatus connected with a network or the like. Thus, the copy function realized with a single image processing apparatus is performed using another image processing apparatus.
The remote copy print module 210 uses the printer function of the main image processing apparatus 110 to output the image information obtained with the other image processing apparatus connected with a network or the like. Thus, the copy function realized with a single image processing apparatus is performed using another image processing apparatus.
An HTTP module 212 is used in the event of the image processing apparatus 110 performing communication by HTTP, and uses a later-described TCP/IP communication module 216 to provide a communication function to the web server module 203 or web browser module 211. Also, the module 212 provides a communication function corresponding to various types of protocol, particularly according to a protocol corresponding to security, used on the web beginning with HTTP.
Also, an lpr module 213 is implemented in the image processing apparatus 110, and this module uses the later-described TCP/IP communication module 216 to provide a communication function to the module 205 within the universal sending unit module 204.
Also, an SMTP module 214 is implemented in the image processing apparatus 110, and this module uses the later-described TCP/IP communication module 216 to provide a communication function to the E-mail module 206 within the universal send uniting module 204.
Also, a SLM (Salutation-Manager) module 215 uses the later-described TCP/IP communication module 216 to provide a communication function to the module 217 and module 218 within the universal sending unit module 204. The SLM (Salutation-Manager) module 215 provides a communication function to each of the remote copy scan module 209 and remote copy print module 210 also.
A TCP/IP communication module 216 uses a network driver 217 to provide a network communication function to the above-described various modules. The network driver 217 controls a portion that is physically connected to the network.
A control API 218 provides an interface as to downstream modules such as a later-described job manager module 219 to upstream modules such as the universal sending unit 204. Thus, the dependence relation between the upstream and downstream modules is reduced, thereby improving the compatibility of each.
The job manager module 219 interprets various processing instructed by the above-described various modules via the control API 218, and provides instructions to the later-described modules 220, 224, and 226. Also, the job manager module 219 consolidates the hardware processing executed within the image processing apparatus 110.
The module 220 is a codec manager module, and this module manages/controls various compressions/decompressions of data within the processing that the job manager module 219 instructs.
Also, a FBE encoder module 221 compresses the data read in by the scanning processing executed by the job manager module 219 or a later-described scan manager module 224.
Also, a JPEG codec module 222 performs JPEG compression processing of the data read in with the scanning processing executed by the job manager module 219 or scan manager module 224. Also, the JPEG codec module 222 performs JPEG decompression processing of the printing data used for printing processing executed by a print manager module 226.
Also, an MMR codec module 223 performs MMR compression processing of data read in with the scanning processing executed by the job manager module 219 or scan manager module 224. Also, the MMR codec module 223 performs MMR decompression processing of the printing data used with the printing processing execute with the print manager module 226.
Also, an information-embedded-image codec (IEI CODEC) module 229 decodes information embedding in the image data read in by the scanning processing executed by the job manager module 219 or scan manager module 224. Also, the information-embedded-image codec (IEI CODEC) module 229 performs information embedding processing to the print data used with the printing processing executed with the print manager module 226. Embedding information into image data is performed using encoding techniques such as barcodes and digital watermarking and so forth. Also, the module 209 supports character recognition, wherein a character within an image of the image data is recognized and converted into text data by image-region separation and OCR technique, as a type of decoding technique. Further, overlaying the converted image data wherein text is converted into image data using a raster image processor and the original image data is supported as a type of encoding technique (information embedding technique).
The scan manager module 224 manages and controls the scanning processing that the job manager module 219 instructs. The communication between the scanner 113 connected internally to the can manger module 224 and image processing apparatus 110 is performed via an SCSI driver 225.
The print manager (Print-Manager) module 226 manages and controls the printing processing that the job manager module 219 instructs. The interface between the print manager module 226 and the printer 114 is provided by an engine interface (Engine-I/F) module 227.
Also, a parallel port driver 228 is implemented in the image processing apparatus 110, and this driver provides an interface in the event of the web browser module 211 outputting data to an unshown output device via a parallel port.
Next, the configuration of the image processing apparatus 110 will be described with reference to
The image processing apparatus 110 has a control unit 111 to control the overall apparatus, such as shown in
The control unit 111 has a CPU 301, RAM 302, ROM 303, HDD (hard disk device) 304, image bus interface 305, operating unit interface 306, network interface 308, and modem 309. The CPU 301 is connected to each of the above-described units via a system bus 307.
The RAM 302 is memory for providing a work area for the CPU 301, and also is used as image memory to temporarily store image data. The ROM 303 is a boot ROM, and a system boot program is stored in the ROM 303. System software, image data, and so forth are stored in the HDD 304.
The operating unit interface 306 is an interface for performing input/output between the operating unit 112, and performs such functions as outputting image data displayed on the operating unit 112 as to the operating unit 112, and transmitting the information input by the user via the operating unit 112 to the CPU 301.
The network interface 308 is connected to a LAN, and performs input/output of information as to the LAN. The modem 309 is connected to a public line, and performs input/output of information as to the public line.
The image bus interface 305 connects the system bus 307 and the image bus 310 which transfers image data at high speed, and is a bus bridge that converts the data configuration.
The image bus 310 is connected to a RIP (raster image processor) 311, device interface 312, scanner image processing unit 313, printer image processing unit 314, image rotating unit 315, and image compressing unit 316.
The RIP 311 rasterizes a PDL code received from the LAN in a bitmap image. The device interface 312 connects the scanner 113 and printer 114 and control unit 111, and performs synchronous/asynchronous conversion of the image data. The scanner image processing unit 313 performs correcting, processing, editing and so forth as to the input image data. The printer image processing unit 314 performs printer correction, resolution conversion and so forth as to the print output image data. The image rotating unit 315 performs rotating of image data. The image compressing unit 316 performs JPEG compression/decompression processing as to multi-value image data, and performs compression/decompression processing such as JBIG, MMR, MH, and so forth as to binary image data.
The external view of an image processing apparatus having the above-described configuration will be described with reference to
With the image processing apparatus 110, the scanner 113 illuminates the image on a sheet serving as an original, and scans this with a CCD line sensor (not shown), whereby raster image data is generated. Upon a user setting an original sheet on a tray 406 of a document feeder 405 and instructing the start of reading with the operating unit 112, the CPU 301 of the controller unit 111 provides instructions to the scanner 113. The document feeder 405 feeds one original sheet at a time, and the scanner 113 performs a reading operation of the image on the original sheet fed from the document feeder 405.
The printer 114 prints the raster image data on a sheet, and as a printing method thereof, an electrophotography method is used which uses a photosensitive drum and photo conductor belt. However, another method may be used, such as an inkjet method which discharges ink from a minute nozzle array and directly prints the image onto a sheet. The printing operation of the printer 114 is started by instructions from the CPU 301. The printer 114 has multiple supply sheet levels so that different sheet sizes or difference sheet orientations can be selected, whereby sheet cassettes 401, 402, and 403 corresponding thereto are mounted. Also, a discharge tray 404 is provided on the printer 114, and the sheets finished printing are discharged onto the discharge tray 404.
Next, the configuration of the operating unit 112 will be described with reference to
The operating unit 112 has an LCD display unit 501 with a touch panel sheet 502 pasted on the LCD, as shown in
Also, various hard keys which are a start key 505, stop key 503, ID key 507, and reset key 504 are provided on the operating unit 112. The start key 505 is a key to instruct starting the reading operation and so forth of the original image, and in the center of the start key 505 is a green and red two-color LED display portion 506. The two-color LED display portion 506 shows whether or not the start key 505 is in a usable state by the color thereof. The stop key 503 is a key to stop the operations during operation. The ID key 507 is a key used when inputting the user ID of the user. The reset key 504 is a key used when initializing settings from the operating unit 112.
Next, the configuration of the operating unit 112 will be described with reference to
The operating unit 112 is connected to the system bus 307 via the operating unit 306, such as shown in
The operating unit interface 306 has an input port 601 for controlling input from the user and an output port 602 for controlling the screen output device. The input port 601 transfers the user input from the touch panel 502 and a key group including various hard keys 503, 504, 505, and 507 to the CPU 301. The CPU 301 generates display screen data based on user input content and a control program, and outputs a display screen on the LCD display unit 501 via the output port 602. Also, the CPU 301 controls the LED display unit 506 as needed via the output port 602.
Next, a box function that the image processing apparatus 110 has will be described. A temporary region and a box region are provided on the HDD 304 as regions to store the image data. The temporary region is a region to temporarily store image data and so forth which the scanner 113 has read and output an image on an original image. Note that the image data stored in the temporary region is deleted after the job is finished.
The box region is a region for storing image data that the scanner 113 has read and output an image on an original image and image data that PDL data received from the host computer 101 is rasterized. Note that the box region is divided into multiple regions which individual users can individually use, and a number is assigned to each region. A region 100 is provided in the box region of the HDD 3004 of the image processing apparatus 110.
Note that with the description below, the image data stored in the box region may be called “document”, but the data format stored in the box region may be any format that can be rasterized into image data. For example, vector data or text code data may be used. In the first embodiment, the data herein is called image data or document, and “image data” and “document” are not particularly distinguished.
Next, the software configuration of the web browser module 211 will be described with reference to
The web browser module 211 includes a protocol processing unit 801, content parser 802, DOM configuration unit 803, and DOM processing unit 804. Further, the web browser module 211 includes a layout engine 807, style sheet parser 806, renderer 808, scrip interpreter 805 and event processing unit 809.
The protocol processing unit 801 establishes a connection between another network node via the HTTP module 212 and communicates. With this communication, an HTTP request is issued as to a resource described with the URL, and the response thereof is obtained. In this process, encoding/decoding of the communication data in accordance with various encoding formats are also performed.
The content parser 802 receives content data expressed with an expression format such as HTML, XML, XHTML and so forth from the protocol processing unit 801, performs lexical analysis and syntax analysis and generates a parse tree.
The DOM configuration unit 803 receives the parse tree from the content parser 802, and performs configuring of a Document Object Model (DOM) corresponding to the configuration of the content data. With currently-used HTML, various grammatical omissions are forgiven, resulting in multiple variations. Further in many cases the content currently used in the real world is neither in integral form nor appropriate. Thus, the DOM configuration unit 803 infers the correct logical configuration of the content data that is not lexically appropriate, similar to other general web browsers, and attempts configuration of an appropriate DOM.
The DOM processing unit 804 holds the DOM which the DOM configuration unit 803 has configured on the memory as a tree configuration expressing a nested relation of an object group. The various processing of the web browser is realized with the DOM as the center thereof.
The layout engine 807 recursively determines an expression (presentation) on the display of each object according to the tree configuration of the object group that the DOM processing unit 804 holds, and consequently obtains the layout of the overall document. There may be cases wherein expressions on the display for each object are clearly specified with a style sheet format such as a Cascading Style Sheet (CSS), according to the description embedded in the document or a description within a separate file linked from the document. Also, the layout engine 807 reflects the analysis results of the style sheet by the style sheet parser 806 and determines the layout of the document. The style sheet parser 806 analyzes the style sheet associated to the content document.
The renderer 808 generates Graphical User Interface (GUI) data for displaying on the LCD 501 according to the document layout that the layout engine 807 has determined. The generated GUI data is displayed on the LCD 501 with the UI interface 201.
The event processing unit 809 receives operation events that the user has performed as to the touch panel sheet 502 and various keys on the operating unit 112, and performs processing corresponding to each event. Also, the event processing unit 809 receives status transfer events of an apparatus or job or the like from the control API 218, and performs processing corresponding to each event. The DOM tree configuration that the DOM processing unit 804 manages has an event handler registered which corresponds to the various events for each object class and each object instance. The event processing unit 809 determines the object for the applicable event processing from the object group which the DOM processing unit 804 manages according to the generated event, and distributes the event. The object distributing the event executes various processing according to the algorithm of the event handler corresponding to the event thereof. The processing of the event handler includes updating of the DOM that the DOM processing unit 804 has, redrawing instructions as to the layout engine, HTTP request issuance instructions as to the protocol processing unit 801, and image processing apparatus function by a call-out of the control API 218.
The script interpreter 805 is an interpreter which interprets and executes a script such as Java script. The script may be embedded in the document or described in a separate file that is linked from the document, whereby operations as to the DOM are performed. The content provider can program dynamic behaviors of the provided document by the script.
Next, a screen configuration of the web browser displayed on the LCD 501 by the UI interface 201 will be described with reference to
A tab 901, URL input field 902, OK button 903, progress bar 904, content display region 905, and status region 910 are displayed on the screen of the web browser displayed on the LCD 501 with the UI interface 201. Also, a return button 906, advance button 907, reload button 908, and stop button 909 for instructing transfer of the screen on the web browser displayed on the LCD are displayed.
The tab 901 performs screen switching between the web browser function and other functions (copy, box, transmission, option). The URL input field 902 is a field to input a URL of a desired resource of the user, and when the user presses this field, a virtual full keyboard (not shown) for performing text input is displayed. The user can input a desired text string with the touch-panel keys modeling key tops arrayed on the virtual full keyboard.
The OK button 903 is a touch-panel key to confirm the input URL text string. Upon the URL confirmed, the web browser module 211 issues an HTTP request for performing obtaining of the resource. The progress bar 904 shows the progress status of the content obtaining processing with HTTP request response. The content display region 905 is a region that the obtained resource is displayed. The return button 906 is a touch-panel key to review the history of the content display and redisplay the content displayed before the content being displayed at the current point-in-time. The advance button 907 is a touch-panel key for returning to the content display that has been displayed after the content displayed at the point-in-time of the button being pressed, when displaying the history of the content display. The reload button 908 performs re-obtaining and redisplaying of the content displayed at the current point-in-time. The stop button 909 is a touch-panel key to stop the content obtaining processing during execution.
The status region 910 is a region displaying a message from various functions of the image processing apparatus. Messages to prompt user warnings can be displayed on the status region 910 from the scanner or printer or other functions, even while the web browser screen is being displayed. Also, similarly messages can be displayed from the web browser function. The web browser function displays a URL text string of a link destination, content title text string, messages instructed by the script, and so forth.
Next, the operations of the present embodiment will be described with reference to
As shown in
The client 1001 sends the HTTP request with one method of a GET method or POST method. In the case that the client 1001 sends the HTTP request 1003 as to the desired resource to the server 1002 with the GET method, the resource is generally specified with a URI (particularly URL) format. The server 1002 obtains or generates data corresponding to the resource specified with the HTTP request 1003, and returns this data with the HTTP response 1004. Thus, in the case that the specified resource corresponds to a static file, the server 1002 reads the relevant file from the file system of the server 155, for example, and obtains such data. On the other hand, in the case that the specified resource corresponds to processing such as a CGI program or servlet, the server 1002 executes the relevant processing. The data generated as a result of the processing is then returned. For example, in the case that a resource for displaying a consumable goods catalog of the image processing apparatus is specified, software for electronic business transactions is executed. With this software, records of the latest prices and availability of sheets, toner, and parts are referenced from the database, and processing is performed to configure this information into HTML format or XML format and generate catalog document data.
With the client 1001, in the case that the data obtained with the HTTP response 1004 is in a format that can be displayed, the content is displayed. If the obtained data is an HTML document and so forth, obtaining and displaying new resources can be repeated simply by the user selecting link information which is embedded in the document displayed on the web browser as hypertext.
Next, a case wherein the HTTP request is sent with the POST method will be described. In the case that a form is included in an HTML document, the POST method is specified as the transmission method thereof (reference the HTML document in
Next, a configuration of an HTML document including a form specifying the POST method as the sending method thereof and a screen displayed based on such HTML document will be described with reference to
With the example of an HTML document which includes a form and wherein the sending method thereof is specified as a POST method, as shown in
With the client 1001, as shown in
Now, display objects 1104 and 1105 which are display objects unique to the web-browser of the image processing apparatus 110 are displayed in the display 1102 region. The display object 1104 is a “scan button” to specify that the image data from which the scanner 113 has read an image on the original and output is input. The display object 1105 is a “select from box” button to specify that the image data stored beforehand in the box region in the HDD 304 is read and input.
Next, layout processing of an object corresponding to an INPUT element in “file” form which is performed with the web browser of the image processing apparatus 110 will be described with reference to
The CPU 301 generates a component object serving as an increment of the layout processing in step S1201, as shown in
Next, in step S1203, the CPU 301 registers reading processing using the scanner 113 as an event handler which starts when an event occurs that the generated “scan” button is pressed.
In the following step S1204, a “select from box” button is generated, and disposed on a component. In step S1205, the CPU 301 registers readout processing of the image data from the HDD 304 as an event handler which starts when an event occurs that the generated “select from box” button is pressed.
In step S1206, the CPU 301 disposes the component on a component object corresponding to the FORM element which is a parent component of the component herein. With a similar procedure, a tree configuration is generated which expresses the inclusive relation of the component objects corresponding to the various elements, and the screen display layout is performed by recursively processing this tree.
Thus, instead of the screen displayed with a general browser as a screen corresponding to an HTML document described in a form for requesting image data input (
Next, processing for the image processing apparatus 110 to send image data based on an HTML document with a form described therein including an INPUT element in “file” form which is obtained from the server 155 will be described with reference to
First, in step S1301, the CPU 301 obtains transmitting destination information of the input image data. For example, in the case of transmitting image data based on the HTML document shown in
In the following step S1302, determination is made as to whether or not the size of transmittable image data is restricted, based on the transmission destination information obtained in step S1301. Note that the CPU 301 performs the determination with reference to the managing table shown in
In the case it is determined in step S1302 that the size of the transmittable image data is not restricted, the flow is advanced to step S1303, the screen shown in
On the other hand, if it is determined in step S1302 that the size of the transmittable image data is restricted, the flow is advanced to step S1304, the screen shown in
In step S1305, determination is made as to whether or not one of the “scan” button 1104 or “select from BOX” button 1105 in the screen shown in
In the case that one of the boxes on the screen shown in
The document selecting cell 1702 displays information relating to the document stored in the selected box (document type, document name, paper size, number of pages, date/time stored, and so forth) in one row for each document. Image data of a size greater than the restriction value indicated by the information managed by the managing table (e.g. 1 MB) is not displayed. Note that the image data of a size greater than the restriction value is not displayed in the screen shown in
Upon the user selecting one of the rows (Yes in step S1310), the selected document is determined as a transmitting document, and the screen is returned to the screen in
On the other hand, in the case that the “scan” button 1104 is pressed in step S1305, the flow is advanced to step S1311, and a warning message relating to the size restriction is displayed.
Note that an example is shown wherein the selectable reading parameters are restricted in order to reduce the size of the image data, but other arrangements may be made. That is to say, an arrangement may be made wherein selectable reading parameters are not restricted from the beginning, but as will be described later, the reading parameters are restricted in the case that the size of the actually read image data exceeds a restricted value.
In the example shown in
Settable reading parameters are determined based on the size limit information managed with the managing table shown in
Upon the OK button 1901 on the screen shown in
In the following step S1314, the size of the image data actually output from the scanner 113 and the size limit shown by the information managed in the managing table shown in
In step S1317, the image data is stored in a temporary region of the HDD 304, and the screen is returned to the screen shown in
On the other hand, in the case determination is made that the output image data size has exceeded the restricted value, the flow is advanced to step S1315, and a processing selecting screen is displayed.
In the case the change resolution button 2001 is pressed, the flow is advanced to step S1316, image processing is performed as to the image data, and the resolution is reduced. Also, in the case the “convert to B/W” 2002 button is pressed, the flow is advanced to step S1316, image processing is performed as to the image data, and the color image data is converted to black-and-white image data. Note that in the case that outputting black-and-white image data has been set when reading the image data on the original in step S1312, the convert to B/W 2002 button is not displayed.
In the case the change read parameter button 2003 is pressed, the flow is returned to step S1312, the read parameters are reset in the reading parameter setting screen, and the original is read again. Note that following determining in step S1314 that the size of the image data output from the scanner 113 has exceeded the size limit, the reading parameters can be further restricted in step S1312.
Following the image processing as to the image data being performed in step S1316, the flow is returned to step S1314, and determination is made again as to whether or not the size of the image data has exceeded the restricted value.
In step S1318, determination is made as to whether or not the user has instructed transmitting of the image data. Specifically, in the case that the send button 1103 in the screen shown in
In the case that transmitting the image data has been instructed, in the following step S1319 the document selected in step S1310 or the image data stored in the temporary region in step S1317 is sent to the server 155.
Next, processing in the case that determination is made in step S1302 that the transmittable image data size is not restricted will be described with reference to
First, in step S2101, determination is made as to whether or not one of the “scan” button 1104 or “select from BOX” button 1105 in the screen shown in
In the case one of the boxes being selected (Yes in step S2103) in the screen shown in
Upon one of the documents being selected by the user in step S2105 (Yes in step S2105), the selected document is determined to be the transmitting document, and the screen is returned to the screen in
On the other hand, in the case determination is made in step S2101 that the “scan” button 1104 is pressed, the flow is advanced to step S2106, and reading parameters such as reading resolution are received from the user. Note that in step S2106, the reading parameters can be specified via the reading parameter setting screen shown in
In the following step S2107, the scanner 113 is operated to read the original. Further, in step S2108, the image data output from the scanner 113 is stored in a temporary region in the HDD 304, and the screen is returned to the screen shown in
In step S2109, determination is made as to whether or not transmitting of the image data is instructed from the user. Specifically, in the case that the send button 1103 is pressed on the screen shown in
In the case that image data transmitting is instructed, the document selected in step S2105 or the image data stored in the temporary region in step S2108 are send to the server 155 in the following step S2110.
Thus, according to the first embodiment, in the case of obtaining a web page with a general-use form described therein to request a file upload from an ASP, input of the image data can be restricted according to the size of the transmittable image data. Thus, errors occurring in the event of transmitting image data to the server can be prevented.
Next, a second embodiment according to the present invention will be described. With the first embodiment, the information in the managing table shown in
In the second embodiment, the determination in step S1303 in
Next, processing to update the managing table shown in
In the case that the CPU 301 transmits image data, first in step S2301 determination is made as to whether or not the image data transmission has succeeded. In the case determination is made that the image data transmission has succeeded, the flow is advanced to step S2302, and the transmitted image data size and the greatest transmission size managed in the managing table shown in
As a result of the comparison in step S2302, in the case that the size of the transmitted image data is greater than the greatest transmission size, the flow is advanced to step S2303, and the greatest transmission size of the managing table shown in
In the case determination is made in step S2301 that the image data transmission is unsuccessful, the flow is advanced to step S2304, and the size of the transmitted image data and the smallest unsuccessful transmission size managed in the managing table shown in
From the results of the comparison in step S2304, in the case that the size of transmitted image data is smaller than the smallest unsuccessful transmission size, the flow is advanced to step S2305, and the smallest unsuccessful transmission size of the managing table shown in
In step S2306, the value of the greatest successful transmission size×N (N≧1) and the smallest unsuccessful transmission size×M (0<M≦1) which are managed in the managing table shown in
Increasing the greatest successful transmission size value by N times is because there are cases wherein transmission can be made even if the image data is of a size greater than the size of the image data that is actually successfully transmitted. That is to say, if the value of N is set to be large, the likelihood increases that a value greater than the size of the image data that is actually successfully transmitted is managed as the size limit.
Also, reducing the smallest unsuccessful transmission size by M times is because there are cases wherein transmission cannot be made even if the image data is of a size smaller than the size of the image data of which transmission is actually unsuccessful. That is to say, if the value of M is set to be small, the likelihood increases that a value smaller than the size of the image data of which transmission is actually unsuccessful is managed as the size limit.
Thus, by comparing the value of the greatest successful transmission size×N (N≧1) and the smallest unsuccessful transmission size×M (0<M≦1) and setting the larger of the two as the size limit, the following advantages can be obtained. That is to say, in the case that image data transmission is unsuccessful for a reason other than excessive size of the image data, for example, the size limit being updated to be smaller can be prevented.
Note that in
Thus, according to the second embodiment, information showing the size limit of transmittable image data can be updated based on the actual transmission results of the image data, so a more accurate size limit can be managed.
Next, a third embodiment of the present invention will be described with reference to
In the case determination is made in step S1305 that the “scan” button 1104 is pressed, the flow is advanced to step S2401, and a warning message relating to the size limit shown in
A “browse” button 2501 is pressed in the case that only text is included in the image on the original. A “text/photo” button 2502 is pressed in the case that text and photo are combined in the image on the original. A “photo of a figure” button 2503 is pressed in the case that a figure photo is included in the image on the original. A “photo of scenery” button 2504 is pressed in the case that a scenery photo is included in the image on the original.
Note that with the third embodiment, a template for the reading parameters to be set is managed correlated to the types of these images.
In the case one of the buttons 2501 through 2504 in the screen shown in
In the case that a “pre-scan and set automatically” button 2505 is pressed, the flow is advanced to step S2405, the scanner 113 is operated, and a virtual reading (pre-scan) of the original is performed. In the following step S2406, the reading parameters are automatically set based on the pre-scan results.
In the case that a “set manually” button 2506 is pressed, the flow is advanced to step S2403, the screen shown in
In step S2407, the scanner 113 is operated to read the original. In the following step S2408, the size of the image data actually output from the scanner 113, and the size limit which the information that is managed by the managing table shown in
In step S2412, the image data is stored in the temporary region of the HDD 304, and the screen is returned to the screen shown in
On the other hand, in the case determination is made that the size of the output image data has exceeded the restricted value, the flow is advanced to step S2409, and the processing selecting screen shown in
In the case that the change resolution button 2001 is pressed, the flow is advanced to step S2411, image processing is performed as to the image data, and the resolution is reduced. Also, in the case that the “convert to B/W” button 2002 is pressed, the flow is advanced to step S2411, image processing is performed as to the image data, and the color image data is converted to black-and-white image data. Note that in the case that reading the image data on the original and outputting black-and-white image data has been set in steps S2401, S2404, and S2406, the “convert to B/W” button 2002 is not displayed.
In the case that a “change read parameter” button 2003 is pressed, the flow is advanced to step S2410, and determination is made as to whether or not pre-scanning of the original is already executed. In the case pre-scanning of the original is executed, the flow is returned to step S2406, and in the case pre-scanning of the original is not executed, the flow is returned to step S2402.
Note that in step S2408, after determination is made that the size of the image data output from the scanner 113 has exceeded the size limit, reading parameters that can be set in steps S2403, S2404, or S2406 are further restricted.
After image processing is performed as to the image data in step S2411, the flow is returned to step S2408, and determination is made again as to whether or not the size of the image data has exceeded the restricted value.
Thus, according to the third embodiment, in the case that the transmittable image data size is restricted, appropriate reading parameters can be set more readily, thereby enabling better usability to the user.
The above embodiments have been described as examples, but the present invention can have a system, apparatus, method, program, or storage medium (recording medium) and so forth as an embodiment. Specifically, the present invention may be applied to a system configured from multiple devices, or may be applied to an apparatus made up of one device.
Note that the present invention supplies a software program that realizes the functions of the above-described embodiments (a program corresponding to the flowchart shown in the diagrams with the embodiments) directly, or from a distance, to the system or apparatus. The case in which a computer of the system or apparatus thereof reads out and executes the supplied program code is also included.
Accordingly, in order to realize the function processing of the present invention with a computer, the program code itself that is installed in the computer also realizes the present invention. That is to say, the present invention includes a computer program itself for realizing the functional processing of the present invention.
In this case, if the computer program has the functions of a program, the program may be in the form of object code, a program executed with an interpreter, script data supplied to the OS, and so forth.
Examples of recording media for supplying a program include a floppy disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, non-volatile memory card, ROM, and DVD (DVD-ROM, DVD-R).
Additionally, a supplying method of the program may be to supply a program by using a browser on a client computer to download from a website on the Internet to a recording medium such as a hard disk. That is to say, the website is accessed, and the computer program itself, or a file according to the present invention that is compressed and includes an automatic install function, is downloaded from the website. Also, the program code making up the program of the present invention can be divided into multiple files, with each file downloaded from different websites. That is to say, a WWW server for downloading a program file as to multiple users in order to realize the functional processing of the present invention with a computer is also included in the scope of the present invention.
Also, the program of the present invention may be encoded and stored in a computer-readable storage medium such as a CD-ROM and distributed to users. A user having cleared predetermined conditions can then download key information to decode the encoding from the website via the Internet. The key information therein can be used to execute the encoded program, thereby installing on the computer and executing.
Also, the computer executes the read out program, whereby the above-described functions of the embodiments can be realized. Additionally, based on the program instructions, the OS operating on the computer and so forth can perform a portion or all of the actual processing, whereby with such processing the above-described functions of the embodiments can be realized.
Further, the above-described embodiment functions can be realized even after the program read out from the recording medium is written into memory provided on a function expansion board inserted in the computer or a function expansion unit connected to the computer. That is to say, based on the program instructions thereof, the above-described functions of the embodiments can be realized by the CPU provided with the function expansion board or function expansion unit performing a portion or all of the actual processing.
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 modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2007-328726 filed Dec. 20, 2007, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2007-328726 | Dec 2007 | JP | national |