Abstract:
An improved document generation tool which intercepts data from a print spool and utilizes that data in conjunction with the database to cause certain changes to the final printed data.

Description:
TECHNICAL FIELD 
   This invention relates to the generation of business documents for a variety of transaction, and more particularly, to an improved technique of creating documents for such transactions. 
   BACKGROUND OF THE INVENTION 
   The generation of standard business documents has long created problems and errors. Specifically, incorrect codes, incomplete information, and other typographical errors often leads to much delay, incorrect actions being taken, etc. Although many such documents are generated by computer, a simple keystroke error can lead to plural documents being incorrectly generated. 
   It is desirable to allow business documents typically generated from a computer program to be generated and modified to any format as a particular user desires. This modified format could include additional information not normally included in such business documents. 
   Any solution implementing the above should ideally be in the form of a straightforward software package which can be implemented by almost any user. Solutions shall also include an error checking ability. 
   SUMMARY OF THE INVENTION 
   The above and other problems of the prior art are overcome in accordance with the invention which relates to a software program which intercepts data spooled to a printer. The data may then be utilized as an index key to a separate database, the separate database containing additional and/or different information from that contained in the document to be printed. The final document printed may then be in any format desired. Additionally, the index key can be utilized to verify information in the document and check it against a database for errors. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows a high-level block diagram of the functionality of what should be implemented in accordance with an exemplary embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1  shows a functional block diagram of several steps to be implemented in accordance with the teachings of the present invention. The arrangement of  FIG. 1  includes a print spool block  101  which represents arriving data to be printed, the reformatting software  102  done in accordance with the teachings of the present invention, an exemplary database  103 , multiple document generators  104  for interpreting and formatting and generating the numerous documents resulting from the reformatting software interacting with database  103  and the principal data received from  101 , and a storage or print block  105 . 
   In operation, the data to be printed from the software application arrives via print spool  101  and is intended to be sent to the printer. From the point of view of such applications software, the print spool is feeding its data directly to a printer, and blocks  102  through  104  are non-existent. 
   In accordance with the present invention, the reformatting software  102  is arranged to parse certain information fields of the data being spooled to the printer from print spool  101 . The parsed information may then be utilized as a key to database  103  for adding additional information. For example, the parsed information may include the vendor name to be printed, and the database could provide that vendor&#39;s shipment terms. As another example, the parsed field could include the name of an entity, and the database can include its payment record. Other possibilities may be implemented as well. 
   Another possibility is to generate multiple copies of the documents, each with different information in certain fields. For example, there may be five or six copies of the document generated for different entities, each of which require certain other information, not required by other parties receiving the documents. The document type could be parsed by the reformatting software which keys that document type to the database  103 . That database is then utilized with the reformatting software in order to determine which copies of the generated documents should include which information. The reformatting software can then send the multiple documents through the multiple document generator so that the printing or storage function  105  receives several different documents which, although being similar, each contains slightly different information. 
   The foregoing feature is useful, for example, in order to take a printed document and generate confidential and non-confidential versions thereof. Specifically, the reformatting software could utilize database  103  in order to determine which information should be deleted from the non-confidential version and then generate two versions of the document, one with the confidential information and one without. Other than such confidential information, the same information would be printed on both sets of documents. 
   Additionally, the printed documents may be double-sided. Specifically, the reformatting software can be utilized to allow for double-sided printing by reformatting the data from the print spool and causing prompts to be generated indicating that the user should load paper in a manner such that the print can be double-sided. 
   In addition to the foregoing, new messages may be added or created, abbreviations may be used to determine, from database  103 , the full name of something and to print out final documents with the full name. 
   The above is representative of examples only, and it is understood that various modifications can be made without departing from the scope of the invention.