1. Field of the Invention
The present invention relates to a communication apparatus capable of exchanging information between electronic information media such as electronic mail and word processor information and facsimile media.
2. Description of the Related Art
Recently, with the spread of PCs (Personal Computers) introduced into offices and homes, the number of PCs connected to LANs and the Internet is abruptly increasing, and consequently the population using electronic mails and WWW (World Wide Web) is dramatically increasing. At the end of 1997, the number of users using the Internet exceeded 60,000,000, and the rate of increase is 100% or more per year. This shows the advent of age in which in addition to transmitting means, represented by a facsimile apparatus, for exchanging electronic paper information using telephone lines, electronic data such as word processor documents and spreadsheet documents to be handled by computers can also be exchanged via LANs and the Internet.
As for a facsimile apparatus as a representative apparatus for transmitting conventional document information, the ratio of facsimile introduction to offices in Japan exceeded 90%, indicating that the market has ripened. However, the production of home facsimile apparatuses shows a great growth tendency. That is, the present day is the age in which information transmission using electronic data and information transmission by facsimile (paper) coexist.
With this age as a background, the rasterization of a facsimile apparatus or communication service as a contact between electronic data information transmission and facsimile information transmission is being sought. This is an apparatus or service called, e.g., Internet FAX that uses a facsimile apparatus as a document reader, converts read facsimile image data into electronic data such as electronic mail, and transmits this electronic data to another Internet FAX apparatus, PC, or facsimile apparatus via a LAN, the Internet, or a public telephone line.
Conventionally, electronic data handled by Internet FAX (apparatus or communication service) is exchanged between apparatuses as electronic mail data based upon an electronic mail data format called MIME (Multipurpose Internet Mail Extensions) recommended by IETF (Internet Engineering Task Force), which is formed by converting facsimile image data into TIFF (Tagged Image File Format) as one image file format and embedding it into electronic mail data. TIFF is image data, rather than general word processor document data or spreadsheet document data.
The abovementioned conventional Internet FAX (apparatus or communication service; the same shall apply hereinafter) exchanges facsimile image data using TIFF by embedding it into electronic mail. Therefore, when non-image data such as a word processor document or a spreadsheet document formed by a PC is added by electronic mail software on the PC and sent to Internet FAX, the receiving Internet FAX cannot interpret the data, such as a word processor document or a spreadsheet document, that is handled by the application software on the PC. Consequently, a printer of the Internet FAX cannot automatically print out the data, or it is impossible to convert the added data into facsimile image data and simply and rapidly send the data to a remote facsimile apparatus. These problems are summarized as follows.
(1) Cumbersome and Time-Consuming Operations
That is, when a PC user wishes to send a word processor document or a spreadsheet document to Internet FAX, he or she must perform complicated operations of once converting the document into image data to form a TIFF file on the PC and then adding this TIFF file to electronic mail.
(2) Large Data Size
If a user desires printing quality substantially equivalent to printing of a word processor document or a spreadsheet document on a PC, it is necessary to rasterize the document into image data with a resolution of about 400 DPI when a printer of the user has 400 DPI. In this case, the data size (quantity) of a TIFF file of the word processor document is obviously larger than the data size of the word processor document. This increases not only the communication time but also the traffic on a LAN or the Internet. Additionally, although the data size of electronic mail data receivable by an electronic mail server related to an electronic mail transfer system depends upon the settings by the system manager, the upper limit of this data size is about 1 Mbyte to. about 2 Mbytes. Therefore, the smaller the size of electronic mail data to be transmitted, the higher the possibility that the data is reliably transmitted to the destination. Also, a TIFF file in Internet FAX and the like contains facsimile image which is already compressed using such as MH, MR, and MMR coding. Therefore, additional file compression achieves little effect.
(3) Unknown Details of Reception Error
If electronic data cannot be normally received on a communication session for receiving the data, the reason of the error is reported using an error code determined by the communication rules. With the recent proliferation of the Internet and the recent technological progress of communication apparatuses, communication apparatuses are beginning to emerge which can process various electronic data such as electronic mails and can handle not only black-and-white images but also multimedia such as color images and sounds. However, it takes a considerable time for a standardization party to stipulate error codes determined by the communication rules. Also, error codes determined by the communication rules cannot completely report detailed information of error, represented by the problem of the receiving capability of receiving media.
Furthermore, messages such as the reasons of transmission errors of electronic data represented by electronic mails are often informed in English. So, it is not easy to understand the contents of these messages.
The present invention has been made in consideration of the above situation, and has as its object to improve a communication apparatus.
It is another object of the present invention to provide a communication apparatus for forming and outputting image data on the basis of binary data attached to electronic mail.
It is still another object of the present invention to obviate the need for conversion and the like in attaching data to electronic mail on the sender of the electronic mail.
It is still another object of the present invention to prevent an unnecessary increase in the size of data to be attached to electronic mail and thereby reduce the load on a network.
It is still another object of the present invention to inform, in readily understandable form, a user as a source of electronic mail of a message pertaining to error information of the electronic mail.
To achieve the above objects, a communication apparatus for forming and outputting image data on the basis of data received via a network analyzes the contents of received electronic mail and extracts binary data encoded using character codes. The communication apparatus converts the extracted binary data into image data and outputs the data.
The communication apparatus requests, where necessary, a server apparatus on the network to perform the conversion from the binary data into the image data.
If the conversion from the binary data into the image data is impossible, the communication apparatus reports this information to the source of the electronic mail in the same session as the electronic mail.
The communication apparatus also generates a message from the reported information and transmits the message as electronic mail in another session than the electronic mail.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.
FIGS. 23 to 30 are flow charts of a divided document converting process;
FIGS. 31 to 33 are flow charts of a converting process;
The present invention will be described in more detail below with reference to the accompanying drawings. The following explanation will be made by taking a hybrid machine having a network interface and including a copying function and a FAX function as an example of a communication apparatus according to the present invention. However, the present invention can naturally be constituted by an apparatus having another arrangement.
(Hardware Arrangement)
An image bus I/F 2005 is a bus bridge which connects the system bus 2007 to an image bus 2008 for transferring image data at high speed and converts the data structure. The image bus 2008 is constructed of a PCI bus or an IEEE 1394. The following devices are arranged on this image bus 2008. A network I/F 2010 connects the system bus 2007 to the LAN 2011 and inputs and outputs information. A raster image processor (RIP) 2060 rasterizes PDL (Page Description Language) codes into a bit map image. A device I/F unit 2020 connects the scanner 2070 and the printer 2095 as image input/output devices to the controller 2000 and performs synchronous system/asynchronous system conversion of image data. A scanner image processor 2080 corrects, processes, and edits input image data. A printer image processor 2090 corrects the printer and converts the resolution of the printer with respect to printed image data. An image rotator 2030 rotates image data. An image compressor/expander 2040 performs JPEG for multi-valued image data and JBIG, MMR, or MH for binary image data as a compressing/expanding process.
The arrangement as described above is separated into a system bus 207 section and the image bus 2008 section by considering the extensibility of the image processing portion. That is, a general computer configuration is applied. In the above arrangement, a general-purpose I/F is used as the image bus I/F to improve the degree of freedom with which arbitrary image processing activities can be combined, and to improve the extensibility in the future. In particular, various standards may be proposed in the future for the image compressing/expanding portion, so this portion is connected to the image bus side so as to be readily exchangeable.
The printer unit 2095 as an image output device converts raster image data 2096 into an image on a recording medium such as a paper sheet. Examples of the system are an electrophotographic system using a photosensitive drum or a photosensitive belt and an ink jet system which forms images directly on a sheet by ejecting ink from a fine nozzle array, and any system can be used. Printing is started by an instruction from the controller CPU 2001. The printer unit 2095 has a plurality of supply stages so that different recording medium sizes or different recording medium directions can be selected, and has corresponding cassettes 2101, 2102, 2103, and 2104. A paper delivery tray 2111 receives printed recording media.
Operation Unit
Scanner Image Processing Unit
The processed image data is again transferred onto the image bus via the image bus controller 2081.
Printer Image Processor
Image Compressor/Expander
The CPU 2001 performs setting for image compression control in the image bus I/F controller 2041 via the image bus 2008. By this setting, the image bus I/F controller 2041 performs setting (e.g., MMR compression or JBIG expansion) necessary for image compression for the image compressing/expanding unit 2043. After the necessary setting, the CPU 2001 permits the image bus I/F controller 2041 to transfer image data. In accordance with this permission, the image bus I/F controller 2041 starts transferring image data from the RAM 2002 or from any device on the image bus 2008. The input buffer 2042 temporarily stores the received image data and transfers the image at a constant speed in accordance with an image data request from the image compressing/expanding unit 2043. During this transfer, the input buffer checks whether image data transfer is possible between the image bus I/F controller 2041 and the image compressing/expanding unit 2043. If the image data read from the image bus 2008 or the image write to the image compressing/expanding unit 2043 is impossible, the input buffer performs control (to be referred to as a handshake hereinafter) so that no data transfer is performed.
The image compressing/expanding unit 2043 temporarily stores the received image data into a RAM 2044. This is because when image compression is to be performed, data of several lines is necessary depending on the type of image compressing process, and the first line cannot be compressed unless the image data of several lines is prepared. The compressed image data is immediately transferred to the output buffer 2045. The output buffer 2045 handshakes with. the image bus I/F controller 2041 and the image compressing/expanding unit 2043, and transfers the image data to the image bus I/F controller 2041. The image bus I/F controller 2041 transfers the transferred compressed (or expanded) image data to the RAM 2002 or to any device on the image bus 2008. The series of these processes are repeated until no further process request is output from the CPU 2001 (when the necessary number of pages are completely processed), or until this image compressor/expander outputs a stop request (e.g., when error occurs during compression or expansion).
Image Rotator
The CPU 2001 performs setting for image rotation control in the image bus I/F controller 2031 via the image bus 2008. By this setting, the image bus I/F controller 2031 performs setting (e.g., the image size and the direction and angle of rotation) necessary for image rotation in the image rotating unit 2032. After the necessary setting, the CPU 2001 permits the image bus I/F controller 2031 to transfer image data. In accordance with this permission, the image bus I/F controller 2031 starts transferring image data from the RAM 2002 or from any device on the image bus 2008. Assume that the width of the image bus 2008 is 32 bits, the image size for rotation is 32×32 (bits), and image data is transferred to the image bus 2008 in units of 32 bits (images to be handled are binary images).
To obtain an image of 32×32 (bits) as described above, it is necessary to perform the aforementioned unit data transfer 32 times and transfer image data from discontinuous addresses (
When the 32×32 (bits) image rotation (write to the RAM 3032) is complete, the image rotating unit 2032 reads out the image data by the abovementioned reading method and transfers the image to the image bus I/F controller 2031.
The image bus I/F controller 2031 that has received the rotated image data transfers the data to the RAM 2002 or to any device on the image bus 2008 by discontinuous addressing. The series of these processes are repeated until no further process-request is output from the CPU 2001 (when the necessary number of pages are completely processed).
Device I/F Unit
The procedure of image scan will be described below. Image data supplied from the scanner 2070 is stored in the scan buffer 2022 in synchronism with a timing signal from the scanner 2070. If the image bus 2008 is a PCI bus, when 32 bits or more of the image data are stored in the buffer, 32 bits of the image data are transferred, in a first-in first-out manner, from the buffer to the serial-parallel/parallel-serial converter 2023. This image data is converted into 32-bit image data which is in turn transferred onto the image bus 2008 via the image bus I/F controller 2021. If the image bus 2008 is an IEEE 1394, the image data in the buffer is transferred, in a first-in first-out manner, from the buffer to the serial-parallel/parallel-serial converter 2023. This image data is converted into serial image data which is,in turn transferred onto the image bus 2008 via the image bus I/F controller 2021.
The procedure of image printing will be described below. If the image bus 2008 is a PCI bus, the image bus I/F controller receives 32-bit image data supplied from the image bus and transfers the image data to the parallel-serial/serial-parallel converter 2024. This image data is decomposed into image data having the number of input data bits of the printer 2095, and the decomposed data is stored in the print buffer 2025. If the image bus is an IEEE 1394, the image bus I/F controller receives serial image data supplied from the image bus and transfers the image data to the parallel-serial/serial-parallel converter 2024. This image data is decomposed into image data having the number of input data bits of the printer 2095, and the decomposed data is stored in the print buffer 2025. In synchronism with. a timing signal supplied from the printer 2095, the image data in the buffer is transferred to-the printer 2095 in a first-in first-out manner.
(System Configuration)
A communication apparatus 148 is connected to electronic mail clients 141 and 146, a local electronic mail server 142, a DNS server 143, and a rasterization server apparatus 1416 via the LAN 2011. A router 1412 is connected to the LAN 2011. Via this router 1412, the communication apparatus 148 can communicate with a remote electronic mail server 1414 and an Internet FAX apparatus 1415 connected to another network such as an Internet/Intranet 1413. The communication apparatus 148 can also communicate with a FAX apparatus 1411 via a public line 1410, such as PSTN (Public Switching Telephone Network)/ISDN, in addition to the LAN 2011.
Electronic mail transmitted to the communication apparatus 148 from the remote electronic mail server 1414 or the electronic mail client 141 or 146 is received by the local electronic mail server 142 and transferred to the communication apparatus 148. If the electronic mail data received by the communication apparatus 148 contains an attached file which can be rasterized only by the rasterization. server apparatus 1416, the communication apparatus 148 requests the rasterization server apparatus 1416 to convert binary data of this attached file into data (e.g., TIFF binary data, binary data encoded by ITU-T recommendation T.4 or image data encoded by a predetermined encoding method such as JPEG etc) of a format which can be handled by the communication apparatus 148. Details of the communication between the rasterization server apparatus 1416 and the communication apparatus 148 will be described later.
(Software)
The operation of this embodiment will be described below.
As shown in
An ID management table 213 has areas of a reception number counter, document ID counter, and transaction ID counter, and generates a reception number, document ID number, and transaction ID number.
An electronic data converting transaction management table 21 is acquired when data of received electronic mail is to be analyzed, and stores the IDs generated by the ID management table 21 and various pieces of information extracted from the header of the electronic mail. A document management table pointer of this electronic data converting transaction management table 21 indicates the start position of a first document management table acquired in the transaction.
Document management tables 23 to 25 are tables obtained for each part of electronic mail data, and have areas for diverse pieces of information set in accordance with the contents of each part. Each document management table has a next point area for indicating the start position of a document management table corresponding to the next part. This next point area is a NULL pointer in a document management table (25) corresponding to the final part. Each document management table has an original document area 22, an error report document area 28, and a last document to be converted area 29.
Page management tables 210 to 212 have, as will be described later, an area for storing information necessary to manage received rasterized document data. Similar to the document management tables, these page management tables are linked by pointer areas.
These tables are stored and rasterized, where necessary, in a device such as the RAM 2002 or the HDD 2004 that the CPU 2001 can read and write.
When reception of electronic data (particularly electronic mail) from the LAN 2001 or the WAN 2051 is started, the CPU 2001 acquires (an area of) the electronic data converting transaction management table 21 in a specific area of the HDD 2004 or the RAM 2002. Simultaneously, the value of the “transaction ID counter” area in the ID management table 213 is incremented and set in the “transaction ID” area of the electronic data converting transaction management table 21. Analogously, the value of the “reception number counter” area in the ID management table 213 is incremented and set in the “reception number” area of the electronic data converting transaction management table 21.
Multimedia data of electronic mail described in MIME as shown in
The operation will be described by taking the mail shown in
The text part 92 of the mail is linked as the second document management table 24. “Text” is set in the “document type” area of this table, and “Japanese S-JIS” is set in the “language type” area of the table. The remaining attached file part 93 is linked as the third document management table 25. “Encoded text” representing data obtained by encoding binary codes such as UUENCODE into text is set in the “document type” area of this table.
Whenever a new document management table is acquired, the value of the “document ID counter” area is incremented and set in the “document ID” area of the acquired document management table. Simultaneously, the value of the “reception number” area in the electronic data converting transaction management table 21 is copied to the “reception number” area. Also, a value incremented in order from 1 each time a management table is acquired is set in the “document order number” area of the document management table.
In a “presence/absence of conversion during receiving session” area of the document management table, “convert” and “do not convert” can be switched for each of various converting processes during reception in accordance with the time of a converting process such as conversion of image data of received data during reception, and with the allowable time from completion of the reception of the received data to return of a response in the receiving session.
Accordingly, optimization can be readily performed by using, e.g., system parameters in accordance with the allowable time of response to the received data during the receiving session.
Additionally, by only setting information “form” or “do not form” in a “presence/absence of error report formation” area of the document management table, whether an error report (character string or image data) is to be formed can be easily changed.
The process flow in the present invention will be described below with reference to
The flow starts from “START”. Since data “Content-Transfer-Encoding” exists in the attached file part 93 of the electronic mail data, the “document type” of the attached film part 93 is discriminated as “encoded text”. Also, “x-uuencode”, “Content-Type”, “text/plain”, and “name” exist in this attached file part. Hence, to finally print out the data in the communication apparatus of the present invention, the following process flow is necessary:
First, the electronic mail apparatus transmits a connection request to the communication apparatus by using the port number 25 as a listener port of SMTP (S13). When receiving this connection request, the communication apparatus activates an electronic mail receiving process as an SMTP demon for electronic mail reception, and returns a normal response (S14). Then the electronic mail apparatus transmits the host name (“MailFaxMachine”) of the communication apparatus (S15). If the received host name is in agreement with the host name assigned to the communication apparatus, the communication apparatus returns a normal response (S16).
The electronic mail apparatus transmits the sender address (“username1@mail_srv.ccc.dd.ee”) of electronic mail (S17). Upon receiving the address, the communication apparatus returns a normal response (S18). In response to this, the mail apparatus transmits the destination address (“mail_fax_machine@MailFaxMachine.ccc.dd.ee”) of the mail (S19). The communication apparatus checks whether the destination is this communication apparatus and mail transfer is unnecessary. Since transfer is unnecessary in this example, the communication apparatus returns a normal response to the mail apparatus (S110).
Next, the electronic mail apparatus transmits mail data transfer start information (S111). When receiving this information, the communication apparatus performs operations such as initialization necessary for electronic mail reception and returns a normal response (S112). In response to this, the mail apparatus transmits electronic mail data (S113) and, when the transmission is over, subsequently transmits electronic mail transmission end information (S114). When receiving this end information, the communication apparatus performs terminating work, e.g., closes the reception file of the electronic mail data, and returns a normal response (Sll5).
If the number of mails to be transmitted is one, the mail apparatus transmits transmission end information (S116). When receiving a normal response (S117.) from the communication apparatus, the mail apparatus transmits a port disconnection request (S118), thereby terminating the mail transmission session.
The overall operation of the communication apparatus of this embodiment will be described below with reference to
The communication apparatus waits for the arrival of electronic data (S1513). If an external apparatus sends a port connection request by TCP/IP, the communication apparatus discriminates the port number (S1514). If the port number is not 25 (the port number for requesting connection by SMTP), the communication apparatus performs other data processing (S158) and returns to the electronic data arrival waiting state.
Upon receiving the request of connection to the port 25, the communication apparatus executes the aforementioned mail reception protocol sequence (
Next, the communication apparatus performs an electronic data delimiting process (S152) and checks whether the electronic mail contains data which cannot be rasterized in the communication apparatus and hence requires a rasterization request to the rasterization server (S1516). More specifically, the communication apparatus checks whether “present” is in a “presence/absence of external processing” area of any of the document management table queues 23, 24, and 25 linked from the electronic data converting transaction management table 21 and corresponding to individual parts of the mail data. If data requiring the rasterization server 1416 is found, the communication apparatus links association to the server 1416 by using TCP/IP and sends a “server operation confirmation” command (S153). If a response is received within a defined time and the response is not a “busy response” (S1517), the flow advances to a divided document converting process (S154). If no data requiring the rasterization server is found, the flow directly advances to the divided document converting process (S154).
The communication apparatus then checks whether the divided document converting process terminates normally (S1518). If the process terminates normally, the communication apparatus returns a normal response (
When the mail receiving process is complete, the communication apparatus prints out the received data (S1511). In step S1512, the communication apparatus transmits data formed by converting the received electronic mail data into FAX data to a desired destination by FAX transmission.
As a method of designating the FAX destination from the source, the following methods are possible:
(1) Method of Designating by Header Part
The FAX number of the destination is added to the header part of electronic mail data, e.g., added after the title (Sub:) of the mail. That is, in the electronic mail data shown in
(2) Method of Designating in Text Part
A description of the telephone number, e.g., “FAXNO =03-3756-1234” is added to the text part 92.
In either method, the number is detected in the electronic data delimiting process in step S151. The detected number is extracted, stored in a predetermined area of the RAM 2002 or the HDD 2004, and read out and used in step S1512.
To extract the number in method (1), a character string “FAX (and numerals)” is extracted from a character string after “Sub:” or “FROM:”. To extract the number in method (2), a line starting from “FAXNO=” is searched for, and a string of numerals following this line is extracted.
On the other hand, if the divided document converting process (S154) terminates abnormally in step S1518, instead of returning a normal response in step S159, the communication apparatus returns error to the electronic mail apparatus as the main source at the timing in step S115 of
The divided document converting process in step S1520 and S1521 is executed when the document converting process is not completely performed during the received data processing. When the whole converting process is complete, the flow advances to the next step without performing anything.
Details of the electronic data delimiting process shown in step S152 of
FIGS. 17 to 20 are flow charts showing details of the electronic data delimiting process.
First, a new document management table 23 is acquired and linked to the “document management table pointer” of the electronic data converting transaction management table 21 (to be referred to as a transaction management table hereinafter). Whenever a new document management table is acquired, the value of the “document ID counter” in the ID management table 213 is incremented and set in the “document ID” area of the acquired document management table. At the same time, the value of an area having the same name in the transaction management table 21 is copied to the “reception number” area in the document management table. Also, a value incremented in order from 1 each time a new management table is acquired is set in the “document order number” area of the document management table.
Next, a file having the name recorded in the “electronic data•path•file” area of the transaction management table 21 is opened, and search is performed line by line from the first line (S34). If both of “end of file?” (S331) and “blank line?” (S332) are NO, whether “Content-Type:” exists in the beginning of the line is checked (S333). If all the check results in steps S331 to S333 are NO, the next line is similarly checked. In the electronic mail data shown in
Details of this content type analyzing process will be described below with reference to
If the language is processable, “absent” is set in the “presence/absence of external processing” of the document management table and “CG rasterization+TIFF file formation” is set in the “document converting process content” area of the same table (S410), and the content type analyzing process is completed.
If the character string following “Content-Type:” is not “text/plain”, whether this character string is “Mulitpart/Mixed;” is checked (S412). If YES in step S412, “boundary=” is searched for (S43). A character string in double quotation marks (“”) next to “boundary=” is set in the “delimiting character string” area of the electronic data converting transaction work area 214 (S44), and the content type analyzing process is completed.
If NO in steps S42 and S412, i.e., the character string following “Content-Type:” is neither “text/plain;” nor “Multipart/Mixed;”, whether the character string is “image/tiff;” or “image/jpeg;” is checked in steps S416 and S417. If YES in step S416 or S417, “absent” is set in the “presence/absence of external processing” area of the document management table and “TIFF binary” (in the case of “image/tiff;”) or “JPEG binary” (in the case of “image/jpet;”) is set in the “document type” area of the same table (S49), and the content type analyzing process is completed.
If NO in both steps S416 and S417, error is set in the “process result” area of the document management table (S45), and the content type analyzing process is completed.
In this embodiment, the character string following “Content-Type:” in the mail data shown in
Next, the ninth line of the mail data is found as a blank line. Therefore, the file position of the header part 91 of the electronic mail data is set in a “valid data start•end offset” area of the “original document area 22 of the corresponding document management table 23. Also, data in the “electronic data•path•file name” of the transaction management table 21 is copied to a “document path•file name” area in the same area. Subsequently, the range of the character string indicated by the header part 91 is set as header character string information in a “document profile” area of the same area (S36).
It is checked whether the “process result” area in the “original document” area 22, which shows the result of the content type analyzing process for the header part 91 in step S35, is error (S334). If NO in step S334, it is checked whether the delimiting character string is set in the “delimiting character string” area of the electronic data converting transaction work area 214 (S335). Since, as described above, the content type analyzing process for the header part 91 is normally performed and the delimiting character string “ - - - Boundary - - - ” is already set, the next character string is searched for (S37).
In step S336, whether the next line is “end of file” is checked. Since the next line is the first line of the text part and hence is not “end of file”, the flow advances to step S337 to detect a delimiting character string. Since the first line of the text part 92 is a delimiting character string, the flow advances to step S38 in
Next, a character string “Content-Transfer-Encoding” is searched for (S344), and a character string “Content-Disposition” is searched for (S346), but neither is found. Since “Content-type:” is found (S347), the same content type analyzing process as in step S35 described earlier is performed. A character string following “Content-type:” in the text part 92 is “text/plain;charset=iso-2022-jp”, so the process is executed in the order of S411→S414→S47→S48. “Text” is set in the “document type” area of the document management table 24, and “Japanese S-JIS” is set in the “language type” area. After that, the flow returns to step S343.
The processing from step S343 is repeatedly executed for each line. When the last line of the text part 92 is reached, a blank line (meaning the end of the header information) is detected in step S343, and the flow advances to step S317. This step S317 is analogous to step S36 described above; data in the “electronic data•path•file name” area of the transaction management table 21 is copied to the. “document path•file name” area in the “original document” area of the document management table 24, and header character string information from the start line (“ - - - Boundary - - - ” line) to the last line (blank line)) in the text part 92 is set in the “document profile” area of the “original document” area in the document management table 92. Since the “process result” area in the document management table 24, which indicates the result of the content type analyzing process in step S320, does not contain data indicative of error (S348), the flow advances to step S312 to search for the next character string.
As a result of this search, the first delimiting symbol in the attached file part 93 is detected in step S341. In step S313, the file position of the text part 92 is set in the “valid data start•end offset” area of the “original document” area in the document management table 24.
The flow advances to step S38. Since the next character string is not. “end of file” in step S342, the flow advances to step S39. In step S39, a new document management table 25 for the attached file part 93 is acquired, initialized, and linked to the end of the document management table 24 already acquired for the text part 92 by using the “next pointer” area of the document management table 24. In step S344, the character string “Content-Transfer-Encoding:” is detected. A character string indicating the encoding method, following this character string, is “uuencode” which can be processed by the communication apparatus of the present invention or by the rasterization server apparatus. Therefore, in step S311 “encoded text” is set in the “document type” area of the document management table 25, and the processing is continued. In processing of the next line, “Content-Type:” is detected in step S347, so the flow advances to the content type analyzing process in step S320. Since the character string following “Content-Type:” is “text/plain;” and the subsequent character string is not “charset=”, the analyzing process is terminated only by performing the processing S411→S414, and the flow returns to processing of the next line.
In this embodiment, pieces of information such as encoding methods, extensions, and language types which can be processed by the communication apparatus 148 and by the external rasterization server 1416 are previously stored in the internal nonvolatile storage devices, such as the ROM 2003 and the HDD 2004, of the control unit 2000 of the communication apparatus 148. On the basis of these pieces of information, necessary judgements can be made.
In step S346, “Content-Disposition:” on the fourth line of the attached file part 93 is found. The flow advances to step S330 of
When the file “report.doc” converted into text format by uuencode is completely processed, a blank line immediately before the last line of the attached file part 93 is detected in step S343. In step S317, data in the “electronic data•path•file name” of the transaction management table 21 is copied to the “document•path•file name” in the “original document” area of the document management table 25. Also, header character string information from the start line (“ - - - Boundary - - - ” line) to the last line (blank line) of the attached file part 93 is set in the “document profile” area of the “original document” area in the document management table 25. Since the “process result” area in the document management table 25, which indicates the result of the content type analyzing process in step S320, does not contain data indicative of error (S348), the flow advances to step S312 to search for the next line.
In step S341, a delimiting character string of the next line of the attached file part 93 is detected, and the flow advances to step S313. In step S313, the file position of the attached file part 93 is set in the “valid data start•end offset” area of the “original document” area in the document management table 25, and the flow advances to step S38. In step S342, “end of file” is detected, and the electronic data delimiting process is completed.
On the other hand, if “end of file” is detected in step S331, the flow advances to step S326 of
If “end of file” is detected in step S336 or S340, the flow advances to step S314 in
If the content type analyzing process in steps S35 and S320 terminates with error, data for error report formation is set in the “document converting process content” area of the document management table in step S318, as in step S329. This data is used to form an error report (to be described later).
First, in step :S52 a reference point of a current document management table is placed in the start position of the document management table 23, which is indicated by the “document management table pointer” area in the transaction management table 21. Since the next document management table 24 exists, YES is determined in step S510. In step S53, the current document conversion management table is set in the “original document” area of the document management table 23. Since the next document conversion management table 28 exists, YES is determined in step S511, and the flow advances to step S54. In step S54, an original document converting process (to be described in detail later) is performed.
Next, the current document conversion management table is set to the next document conversion management table linked to the original document area 22 in the document management table 23 (S55). The original document converting process in step S54 is repeated to the end of the linked table queue, and the flow advances to step S56. The current document conversion management table is set in the “error report document” area 28 of the document management table (S56), and error report document conversion (to be described later) is performed (S58). This error report document conversion in step S58 is repeated to the end of a document conversion management table queue linked to the “error report document” area 28 by using the next document conversion management table as a reference point. When the table queue is completely processed to the end, NO is determined in step S512, and the reference point of the document management table is switched to the next document conversion management table (S57). When the above processing is completely performed for all document management tables, NO is determined in step S510, and the divided document converting process is completed.
FIGS. 24 to 30, 29, 30, and 31 are flow charts showing details of functions called in the original document converting process (S54) and the error report document converting process (S58) of
To more clearly explain the divided document conversion, a divided document converting process executed after the electronic mail data shown in
Prior to the explanation, the connection relationship between management data after the electronic mail data shown in
The header part 91 is linked as the first document management table 23 to the electronic data converting transaction management table 21. “Text”, “ASCII”, and “IDLE” are set in the “document type” area, the “language type” area, and the “document converting process status” area, respectively.
The text part 92 is linked as the second document management table 24 to the document management table 23. “Text”, “Japanese S-JIS”, and “IDLE” are set in the “document type” area, the “language type” area, and the “document converting process status” area, respectively. Also, “present” is set in the “presence/absence of converting process during receiving session” area.
The attached file part 93 is linked as the third document management table 25 to the document management table 24. “Encoded text” is set in the “document type” area.
In step S52 of
In step S61 of
In step S68, the document converting process management table 29 is set as a table to be processed, the page management table 210 is acquired, and parameters are set. In step S69, “TIFF binary” is set in the “document type” area of the original document area 22. In step S610, parameters to be set in a TIFF file to be formed are set in the “document profile” area of the original document area 22. In step S611, a file (contents are the same as shown in
In step S63 (S647), the “presence/absence of conversion during receiving session” area in the original document area 22 is checked. Since “present” is set in this area, a converting process (to be described in detail later) in step S64 is executed to convert from ASCII text into a TIFF image file. The file name after the conversion is “path•file name” (“investigation report.tiff”) set in step S610. If it is determined in step S684 that the converting process terminates normally, the original document converting process (
In steps S55 and S511, a document conversion management table to be processed next is searched for. Since no such table exists, the flow advances to step S56. Since no error report document exists either, the flow advances to step S57 to select the document management table 24, which is a document management table for processing the text part 92, as a document management table to be processed next. The processing from step S510 is performed in the same manner as for the header part 91. The document converting process of the text part 92 is the same as the document converting process of the header part 91 except that CG rasterization of Chinese characters is performed, so a detailed description thereof will be omitted.
When the document converting process of the text part 92 terminates normally, the flow advances to step S57 to select the document management table 25 for processing the attached file part 93 as a document management table to be processed next. In step S53, the first document converting process management table in the document management table 25 is set as an object to be processed. In step S54, the original document converting process is performed.
In step S61, the “document converting process status” area in the document management table 25 is checked. Since “IDLE” is set as in the document management table 23, the flow advances to step S62 without branching in steps S637 to S640. Since “encoded text” is set in the “document type” area, the flow branches from step S642 to step S613 in
In step S629, a new document converting process management table is acquired (not shown). In step S630, this table is linked to the “document converting process management table pointer” area of the document management table 25. Next, parameters such as “external”, “external server converting process”, and “erase of file” are set in the “internal/external processing designation” area, the “document converting process content” area, and the “processing after document conversion” area, respectively, of the acquired document converting process management table (S631). The acquired document converting process management table is initialized (S632), and the document profile information from the second line to the fourth line in the attached file part 93 is set in the “document profile” area (S633). In step S634, “computer processable binary” is set in the “document type” area. In step S635, “report.doc” as a file name is extracted from the “document profile”. In step S630, the extracted file name is set in the “document path•file name” area of the document converting process management table. In step S636, “wait until conversion completion in preceding stage” is set in the “document converting process status” area of this table, and the flow advances to step S63 in
Details of the converting process in step S64 will be described below with reference to
In step S81, “converting process in progress” is set in the “document conversion status” area of the document converting process management table being processed, thereby controlling the flow such that the flow does not advance to the next processing until CG rasterization and TIFF file conversion are complete. Since “CG rasterization+TIFF file formation” is set in the “document converting process content” area of this table, the flow branches from step S830 to step S816 in
If in step S811 “processing after error in progress” is set in the “document converting process status” area, the flow returns from step S648 to step S61 in the original document/error report converting process shown in FIGS. 24 to 30. The flow further branches from step S639 to step S71 in
On the other hand, in a converting process of the attached file part. 93 in
In step S820, a predetermined unit such as one page of data converted from an encoded text into a TIFF file is received from the rasterization server apparatus. If the data is received with no error, in step S821 TIFF file data of the received file is written in a file indicated by “raster image file•path•file name” shown in the page management table. Also, whether the received data is correct is checked. Furthermore, document profile information is extracted from the TIFF file data and stored in the “document profile” area of the document management table, and the received data is decoded to check the presence/absence of error in the received image. If “mode of receiving in units of pages” is “YES”, a page management table is acquired for each page in step S822, and a page management table queue is formed as indicated by 210, 211, and 212. Next, in step S823 “number of pages” in the page management table is incremented. If “mode of receiving in units of pages” is “NO”, the flow advances to step S820 without forming any new page management table in step S825.
Next, processing when reception from the rasterization server 1416 terminates with error while the attached file part 93 is being processed will be described below with reference to
Since “processing after error in progress” is found in the “document converting process status” area in step S648 of
In step S74, to reuse the “document converting process management table”, which is used to store the data rasterized by the rasterization server, to form the error report text data, the “document converting process management table pointer” address linked to the “document converting process management table” in the “original document” area of the document management table 25 is set as a currently processed pointer that is to be processed next.
In step S75, “error report formation source data” is set in the “document type” area pointed by the currently processed pointer. In step S76, “IDLE” is set in the “document converting process status” area pointed by the currently processed pointer. In step S72, “error report formation” is set in the “document converting process content” area. In this manner, the error report text data formation process is continued.
The flow again advances to step S61 in
In step S79, the start address of the “error report document” is set in the currently processed pointer. In step S710, “text” is set in the “document type” area of the “document converting process management table” for the error report document, pointed by the currently processed pointer, thereby indicating that error report text conversion is necessary. In step S711, “wait until conversion completion in preceding stage” is set in the “document converting process status” area of the “document converting process management table” pointed by the currently processed pointer. In this way, the original document converting process, i.e., step S54 in
Next, in step S55 (
In this error report document converting process starting from
In this converting process, in step S81 “conversion in progress” is set in the “document converting process status” is set in the current document converting process table. In step S82, “document converting process content” area is checked. Since “error report formation” is already set in this area in step S72 (
Since the text generating process is normal, the flow does not branch in step S835 to check the “document converging process status” area in the “document converting process table” linked to the “next pointer” area in the current document converting process table (S83). If the content is “wait until conversion completion in preceding stage”, YES is determined in step S836. After that, “IDLE” is set in this area (S84), and the converting process is completed.
Since the converting process (S64) shown in
The foregoing is the processing when error occurs in communication with the rasterization server. If error is detected when the rasterization server is rasterizing source data, the rasterization server generates an error report described above and transmits as an image file to the communication apparatus of this embodiment. Alternatively, the rasterization server informs the communication apparatus of error information, and the communication apparatus generates an error report.
First, the communication apparatus of the present invention associates, by using TCP/IP, with the rasterization server apparatus by a port number (xx) corresponding to a demon process of rasterization (S121). Next, the rasterization server apparatus responds (S122) to start a document rasterization request session. The communication apparatus sends a “rasterization request” command to the rasterization server apparatus (S123) to request the server to start the rasterizing process session.
The communication apparatus receives a response from the rasterization server apparatus (S124) and, in order to report information “rasterization control data” pertaining to data requested to be rasterized, sends a “rasterization control data transfer request” to the rasterization server apparatus (S125). After receiving a normal response from the server (S126), the communication apparatus transmits the rasterization control data (S127). As this rasterization control data, pieces of information such as “language type”, “paper size for image rasterization” (e.g., A4 or B4), “form one file by a plurality of pages of raster images in image rasterization” or “form one file by one page”, and “reception number” are transferred.
When completing the transmission of the rasterization control data and receiving a normal response from the server (S128), the communication apparatus transmits a rasterization data transmission request command to the server (S129). After receiving a response from the server (S1210), the communication apparatus transmits electronic mail data (attached file data) as rasterization data on the basis of information recorded in a predetermined area of the management table (
The rasterization server apparatus 1416 associates, by using TCP/IP, with the communication apparatus 148 by a port number (xx) corresponding to a demon process of rasterized document reception operating on the communication apparatus (S131). Upon receiving a response from the communication apparatus (S132), the server transmits a “rasterized file transfer session start request” command (S133). The communication apparatus normally responds to this command (S134) to start a rasterized document transfer session.
First, the rasterization server apparatus transmits a “rasterized document transfer request” command (S135). When receiving this command, the communication apparatus prepares for reception, e.g., acquires a memory and table for reception, and returns a response (S136). Upon receiving the response, the server transmits “rasterization result data” such as “reception number” and “rasterizing process result” (S137). Of the received rasterization result data, the communication apparatus sets necessary data in a predetermined area of the management table (
The rasterization server apparatus transmits a “rasterized file data transfer request” command for the first page (S139). The communication apparatus sets information concerning a file to be transmitted, obtained from this command, into a predetermined area of the management table and returns a response (S1310). Upon receiving this response, the server transmits file data (first page) rasterized into TIFF binary (S1311). In this embodiment, “form one file by one page” is set when rasterization is requested. Therefore, the communication apparatus stores the received file in the HDD 2004 or the like. The communication apparatus also stores management information in the page management table 210 linked to the page management table pointer area in the “last document to be converted” area 29 of the document management table 23, and returns a response (S1312).
Subsequently, the server and the communication apparatus execute steps S139 to S1312 for a file of the second page. The communication apparatus stores management information of this second-page file in the page management table 211. The same processing is repeatedly performed for the remaining pages. Transfer request (S1313) and file data transmission (S1315) are similarly performed for the last (Nth) page. The communication apparatus normally responds after reception (S1316), and the rasterization server apparatus transmits a “data transfer completion information” command (S1317). The rasterization server apparatus receives a normal response from the communication apparatus (S1318) and confirms that transmission of all pages terminates normally. If no more rasterized document exists, the server transmits a “session termination request” command (S1319). To transmit a plurality of documents, the steps from the transmission of the “rasterized document transfer” command (S135) to S1318 are repeated. When the communication apparatus receives the “session termination request” command and returns a normal response (S1320), the rasterization server apparatus transmits a “port disconnection request” command to terminate the session.
First, the electronic data converting transaction management table 21 (
On the other hand, if an error report is currently being looked up, the “last document to be converted” area in the current document management table is set as the current document converting process table as a document to be printed (S1610), and the flow advances to step S1611. Since not all document converting process tables have been completely looked up, the “document type” area in the current document converting process table is looked up to check whether the document is “TIFF binary” or “JPEG binary” (S1615). If the document is one of these two types, whether the “document path•file name” area in the current document converting process table has been set is checked (S1616). If this area has been set, the file is printed (S1617).
If the area has not been set, in step S164 the “page management table pointer” in the current document converting process table is set as the current page management table, and whether all pages have been looked up is checked (S1612). If all pages have been looked up, in step S167 the next current document conversion management table is set to the next one, and the flow advances to step S1611.
If not all pages have been looked up in step S1612, the “rasterization image file•path•file name” area in the current page management table is checked (S1613). If this area has not been set, the flow advances to step S166; if YES, the set file is printed in step S165. In step S166, the contents of the “next pointer” in the current page management table are set in the table, and the flow advances to step S1612. In this manner, the printing process is completed through processing of all pages in document conversion management table processing of all document management tables processing of all document management tables.
[Other Embodiments]
In the above embodiment, the present invention is applied to a hybrid machine having a copying function and a FAX function. However, the present invention can be applied to a system constituted by a plurality of devices (e.g., a host computer, interface, reader, and printer) or to an apparatus (e.g., a copying machine or facsimile apparatus) comprising a single device.
Further, the object of the present invention can also be achieved by providing a storage medium storing program codes of software for performing the aforesaid functions according to the embodiments to a system or an apparatus, reading the program codes with a computer (or a CPU or MPU) of the system or apparatus from the storage medium, and then executing the program.
In this case, the program codes read from the storage medium realize the functions according to the embodiments, and the storage medium storing the program codes constitutes the invention.
Further, as the storage medium for providing the program codes, it is possible to use, e.g., a floppy disk, hard disk, optical disk, magnetooptical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, and ROM.
Furthermore, besides aforesaid functions according to the above embodiments are realized by executing the program codes which are read by a computer, the present invention includes a case where an OS (Operating System) or the like running on the computer performs a part or the whole of actual processing in accordance with designations by the program codes and realizes functions according to the above embodiments.
Furthermore, the present invention also includes a case where, after the program codes read from the storage medium are written in a function extension board which is inserted into the computer or in a memory provided in a function extension unit which is connected to the computer, a CPU or the like contained in the function extension board or unit performs a part or the whole of actual processing in accordance with designations of the program codes and realizes functions of the above embodiments.
When the present invention is applied to the above storage medium, this storage medium stores program codes corresponding to the aforementioned flow charts. For example, a module capable of realizing the flow chart shown in
As has been described above, the communication apparatus of the present invention can rasterize an electronic data document such as a word processor document or a spreadsheet document and output the rasterized data as image data. This releases the user of a PC from a series of complicated operation procedures of once converting a document into image data to form a TIFF file and attaching this TIFF file to electronic mail. That is, the user can easily send a desired word processor document or spreadsheet document from the PC by simply attaching the document using electronic mail software.
Also, a word processor document or a spreadsheet document is transferred to this communication apparatus without being rasterized into a TIFF file. Therefore, the data capacity is smaller than that of a TIFF-file, so the data can be reliably transmitted to the communication apparatus.
Furthermore, the language type of source is detected, and an error report described in that language is transmitted if error occurs. This allows the user to correctly recognize the contents of the error.
The communication apparatus of the above embodiment is, of course, applicable to an apparatus constructed of a plurality of devices such as a computer, a scanner, and a printer.
Although the above embodiments have been described in conjunction with the SMTP protocol, this invention is not limited to this aspect but another electric mail protocol is applicable to send or receive electric mail data.
The above embodiment can also be achieved by supplying programs to a system or an apparatus. If this is the case, the objects of the present invention are achieved by a computer (CPU or MPU) of the system or the apparatus by reading out and executing program codes stored in the storage medium to achieve the present invention.
When the computer is to execute the readout program codes, a module provided by an OS (Operating System) running on the computer can also perform a part of the processing.
As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-295931 | Oct 1998 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | 09419246 | Oct 1999 | US |
Child | 11091499 | Mar 2005 | US |