Apparatus and method for automatically outputting document having data dependent size
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an apparatus and a method for outputting a plurality of records in accordance with a document format which is designated in advance. 
     2. Description of the Related Art 
     In a conventional office computer and the like, when a word in each data item in each record is printed in accordance with a document format, the document format is fixed in consideration of, e.g., the number of data items in the record, the word length of a word corresponding to each data item, and the number of words, and a word and a field framing line are output in accordance with the document format. 
     The size of a document form is, however, limited in advance, or fixed to be a predetermined one. Therefore, when the document format is set, the length of each data item in the layout direction must be limited. 
     When a large number of words are recorded in association with a single data item in one record, therefore, a word which is not completely printed, or a word which is not printed at all may often be present. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide an apparatus and a method for outputting a plurality of words in correspondence with a data item on a document even if one data item in one record includes a plurality of words. 
     In order to achieve the above object, according to the present invention, there is provided a document output apparatus comprising: record memory means for storing a plurality of records each comprising a plurality of item data; column field memory means for storing a plurality of column field data representing column field on a recording medium in correspondence with each item; line position memory means for storing line position data representing a line on said recording medium; data output means, connected to said record memory means, said column field memory means, and said line position memory means, for outputting each item data included in a read record at a column field of a line determined by the field data corresponding to the item and the line position data on said recording medium upon read-out of each record stored in said record memory means, and for performing line feed for each word at the column field corresponding to the item to output the data when the item data for the item includes a plurality of words; field framing rule output means, connected to said column field memory means, said line position memory means, and said data output means, for forming field framing rule which frame each item data of the read record on the basis of a maximum line feed count of the word which is line-fed by said data output means, and outputting the field framing rules from the line determined by the line position data on said recording medium; and means, connected to said line position memory means and said data output means, for updating the line position data in accordance with the maximum line feed count of the word. 
     According to the present invention, therefore, all words included in each record can be output in correspondence with the item data on the document. In addition, since a field framing rule of the document which frames the item data is output to have a size corresponding to an amount of words, a document including a field framing rule having a size corresponding to the amount of data of all records can be output. 
     Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate a presently preferred embodiment of the invention, and together with the general description given above and the detailed description of the preferred embodiment given below, serve to explain the principles of the invention. 
     FIG. 1 is a block diagram of a document output apparatus; 
     FIG. 2 is a view showing the contents of a record stored in a variable-length data memory 3; 
     FIG. 3 is a view showing the contents of a layout format memory 4; 
     FIG. 4 is a view showing an example of an output of the first document; 
     FIG. 5 is a flow chart showing the contents of the first processing in a CPU 1; 
     FIGS. 6A to 6I are views for explaining a procedure of a layout output of a record and lines; 
     FIG. 7 is a view showing an example of an output of the second document; and 
     FIG. 8 is a flow chart showing the contents of the second processing in the CPU 1. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 is a block diagram of a document output apparatus according to an embodiment to which the present invention is applied. 
     In this document output apparatus, data input from a key input section 2 is stored in a variable-length data memory 3 in accordance with a variable-length data format under the control of a CPU 1. The stored data is transferred to a page memory 5 in units of pages in accordance with layout format data in a layout format memory 4, and the transferred data is printed in a printing section 6 in units of pages. 
     The key input section 2 includes various function keys such as a document create key 2b for designating creation of a document format of the data in the variable-length data memory 3 in accordance with the layout format data in the layout format memory 4, in addition to a data input key 2a for inputting various data. 
     FIG. 2 schematically illustrates the contents of the variable-length data memory 3 in units of records. Note that &#34;;&#34; in FIG. 2 is an end code of each data item; and &#34;,&#34;, a separation code for separating a plurality of words in a single data item. In FIG. 2, each record consists of three items. In the third data items, two, one, zero, and three words are recorded in the order named from the first record. 
     FIG. 3 illustrates the format data of the layout format memory 4, and shows data which allows document output of the contents in FIG. 2 in accordance with a printing sheet shown in FIG. 4 or 7. 
     More specifically, &#34;0&#34; is set as each of X- and Y-coordinates of a starting point of a horizontal rule on the printing sheet, and &#34;25&#34; is set as its length. The X-coordinate and the length represent X-coordinate field of the document. 
     As shown in FIG. 4 or 7, since the document includes three column field and four vertical rules are required, (0, 0), (5, 0), (15, 0), and (25, 0) are set as X- and Y-coordinates of the starting points of the four vertical rules I to IV on the printing sheet, respectively. 
     In addition, (0, 0), (5, 0), and (15, 0) are set as starting position coordinates of the column field of three data items on the printing sheet, respectively. The data items correspond to the label names &#34;employee number&#34;, &#34;name&#34;, and &#34;hobby&#34;, respectively. A field width of each column field is also set. 
     The CPU 1 arranges variable-length item data in FIG. 2 in a document format in accordance with the contents of the layout format memory 4. At this time, line feed is performed to sequentially extend the formats. If one item data includes two words, e.g., the words corresponding to the third item in the first record in FIG. 2, these two words are printed while performing line feed for each word. An output line positions in the Y-direction (vertical direction) of horizontal rules on the printing sheet are sequentially updated in accordance with a line feed count. In addition, the length of each vertical rule corresponding to the record is also determined in accordance with the line feed count. 
     Note that when the above document output is performed, the CPU 1 utilizes a register group R1, and registers R2 and R3. 
     An operation of this embodiment will be described hereinafter with reference to FIG. 5, and FIGS. 6A to 6I. 
     When the document create key 2b is operated in the key input section 2, the CPU 1 sets &#34;0&#34; as an initial value of Y-coordinate data in the register R3, and a horizontal rule having a length of &#34;25&#34; is printed from a position represented by the Y-coordinate initial value &#34;0&#34; and X-coordinate data &#34;0&#34; of the horizontal rule in the layout format memory 4 (steps A1 and A2 in FIG. 5, and FIG. 6A). 
     Then, it is checked whether a read out operation of the contents of all the records in the variable-length data memory 3 is ended (step A3). If NO in step A3, the contents of one record are read out from the variable-length data memory 3 (step A4). As shown in FIGS. 6B and 6C, all the items each including one word in the record are printed in the horizontal direction from a position represented by X-coordinate data corresponding to each item in the layout format memory 4 and current Y-coordinate data in the register R3 (step A5). 
     Then, it is checked whether an item including a plurality of words is present in the record (step A6). As a result, if YES in step A6, these plurality of words are printed as follows. More specifically, as shown in FIG. 6D, the first word is printed in the horizontal direction from a position represented by X-coordinate data corresponding to the item in the layout format memory 4, and current Y-coordinate data in the register R3. As shown in FIG. 6E, the other word included in the same item is printed while line feed is performed to align leading characters of the words at the position of the X-coordinate data (step A7). Then, the data of the line feed count is set in one register in the register group R1 (step A8). It is checked whether an item having a plurality of words which are not output is left (step A9). If YES in step A9, the flow returns to step A7 in order to print the left word in the same manner as in the above operation. 
     On the other hand, when layout of the words of all the items each having a plurality of words is ended, the maximum line feed count data in the register group R1 is set in the register R2 (step A10). 
     As shown in FIG. 6F, each vertical rule having a length corresponding to the maximum line feed count data in the register R2 is printed from a position represented by the corresponding X-coordinate data in the layout format memory 4 and the current Y-coordinate data in the register R3 (step A11). 
     Then, the Y-coordinate data in the register R3 is updated in accordance with the maximum line feed count data in the register R2 (step A12), and a horizontal rule having a length of &#34;25&#34; is printed from a position represented by the updated Y-coordinate data in the register R3 and the X-coordinate data &#34;0&#34; of the horizontal rule in the layout format memory 4 (step A13 in FIG. 5, and FIG. 6G). 
     Each line feed count data in the register group R1 and the maximum line feed count data in the register R2 are cleared to prepare for document output of the next record which is to be performed in the same manner as in the above operation (step A14), and the flow returns to step A3. As a result, as shown in FIGS. 6H and 6I, the document is sequentially extended. 
     Note that, when it is determined that an item having a plurality of words is not present in step A6, the flow advances step A11. 
     Thus, a field framing rules which frame each item data of the record are sequentially printed in accordance with the number of records in the variable-length data memory. At this time, when an item data on the record includes a plurality of words, the words are output while performing line feed for each word. The position of the horizontal rule in the vertical direction is shifted in accordance with the line feed count. 
     FIG. 7 is a view showing an example of a printing sheet of the second document. 
     In the example of the first document shown in FIG. 4, when one data item includes a plurality of words, the words are printed while performing line feed for each word. In contrast to this, in the document in FIG. 7, words are sequentially printed within a column field corresponding to the item. When all the words cannot be included within the column field, characters which cannot be included is printed to the same column field in the next line. 
     FIG. 8 is a flow chart showing the contents of the second processing in the CPU 1 in order to print the above-mentioned second document. The flow chart in FIG. 8 will be described below in contrast to the contents of the first processing in FIG. 5. 
     In FIG. 8, steps B1 to B4 are the same as steps A1 to A4 in FIG. 5, and steps B11 to B15 in FIG. 8 are the same as steps A10 to A14 in FIG. 5. 
     Steps B5 to B10 in FIG. 8 will be described hereinafter. 
     Items in the record are sequentially designated from the first item, and a field width which is set for the designated item is read out from the layout format memory 4. The read field width is compared with a data length of the designated item in the read record. When the data length of the designated item in the read record is longer than the set width, line feed is performed and the data is printed from the line represented by the Y-coordinate in the register R3 within a range of the set width. When the data length of the item in the read record is shorter than the set width, the data is arranged at the line represented by the Y-coordinate in the register R3 within a range of the set width. A series of processing in steps B5 to B9 are sequentially repeated and executed for all the items in the record. When the data layout for all the items is ended, the flow advances to step B11. 
     Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details, representative devices, and illustrated examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.