United States Patent6088710
Dreyer , ; et al.July 11, 2000

Title

Apparatus and method for producing fulfillment pieces on demand in a variable imaging system

Abstract

The present invention discloses a method for assembling fulfillment pieces with custom documents in an efficient manner. The fulfillment pieces, which may have fixed and/or variable information, are produced in line on the same press as the custom documents. This "on demand" fulfillment is accomplished through the manipulation of an original database containing document recipient information. The database manipulation includes adding records (rows) or columns to the original database to represent the custom document and the fulfillment pieces. The modified databases are used to create press command files, which are combined according to the configuration of the database to produce ordered output from a press.


Inventors:Dreyer; Mark G. (Aurora, IL), Warmus; James L.  (LaGrange, IL)
Assignee:R.R. Donnelley & Sons Company (Chicago, IL)
Appl. No.:960519
Filed:October 29, 1997

Current U.S. Class:715/517 715/522 
Field of Search:707/513,515,517,518,520,522 364/469.03,469.04 395/104,111,117

U.S. Patent Documents
3872460March 1975Fredrickson et al.
3899165August 1975Abram et al.
3982744September 1976Kraynak et al.
4095780June 1978Gaspar et al.
4121818October 1978Riley et al.
4395031July 1983Gruber et al.
4426072January 1984Cole et al.
4495582January 1985Dessert et al.
4500083February 1985Wong
4536176August 1985Gaspar
4554044November 1985Gaspar et al.
4601003July 1986Yoneyama et al.
4672462June 1987Yamada
4674052June 1987Wong et al.
4718784January 1988Drisko
4727402February 1988Smith
4729037March 1988Doelves
4768766September 1988Berger et al.
4789147December 1988Berger et al.
4827315May 1989Woldberg et al.
4900001February 1990Lapeyre.
4903139February 1990Minter
4910612March 1990Yamazaki
4928252May 1990Gabbe et al.
4937761June 1990Hassett
4968993November 1990Wolfberg et al.
4974171November 1990Yeh et al.
5001500March 1991Wolfberg et al.
5021975June 1991Yamanashi et al.
5043749August 1991Punater et al.
5053955October 1991Peach et al.
5060165October 1991Schumacher et al.
5067024November 1991Anzai
5085470February 1992Peach et al.
5105283April 1992Forest et al.
5112179May 1992Chan et al.
5133051July 1992Handley et al.
5136316August 1992Punater et al.
5142667August 1992Dimperio et al.
5144562September 1992Stikkelorum et al.
5177877January 1993Duchesne et al.
5194899March 1993Buchanan
5245701September 1993Matsumoto
5267155November 1993Buchanan et al.
5271065December 1993Rourke et al.
5274567December 1993Kallin et al.
5274757December 1993Miyoski et al.
5289569February 1994Taniguchi
5295236March 1994Bjorge et al.
5299310March 1994Motoyama
5301036April 1994Barrett et al.
5313564May 1994Kafri et al.
5321604June 1994Peach et al.
5333246July 1994Nagasaka
5349648September 1994Handley
5353222October 1994Takise et al.
5359423October 1994Loce
5359432October 1994Peltzer et al.
5379373January 1995Hayashi et al.
5384886January 1995Rourke
5396321March 1995McFarland et al.
5398289March 1995Rourke et al.
5412566May 1995Sawa
5437441August 1995Tuhro et al.
5446653August 1995Miller et al.
5459826October 1995Archibald
5493490February 1996Johnson
5502636March 1996Clarke
5519624May 1996Hidding
5523942June 1996Tyler et al.
5552994September 1996Cannon et al.
5594860January 1997Gauthier
5628004May 1997Gormley et al.
5630028May 1997DeMeo
5729665March 1998Gauthier
5765874June 1998Chanenson et al.
5845262December 1998Nozue et al.
B14968993July 1993Wolfberg et al.
B15178063January 1993Wolfberg et al.
Re32690June 1988Wong
Foreign Patent Documents
0 602 547Jun., 1994EP
2 761 789Oct., 1998FR
PCT/US86/00242Aug., 1986WO
WO 95 07510Mar., 1995WO
Other References
Alexander, George A., "Innovations in Book Printing: Custom Books and Demand Printing" and "Custom Book Publishing and Book Printing on Demand," The Seybold Report on Publishing Systems, vol. 21, No. 16 (May 1992). .
International Search Report dated Apr. 22, 1999. .
European Search Report dated Jul. 22, 1999. .
Ultimate Technographics, Inc. Manual, "Poststrip," 1989. .
Dieckmann, Glenn, "Press Imposition for IBM 4250, General Information," R.R. Donnelley & Sons Company, Crawfordsville Manufacturing Division, Department CHT, Feb. 21, 1989. .
Alpha Four, New Version 3, "True Relational Database Power Without Programming, Reference Manual," Alpha Software Corporation, Lesson 20: Using Sets and Lesson 22: Advanced Sets: One-to-Many Links, 1993. .
"Design Your Forms, Power With Room to Grow: Xbasic.TM.," advertisement, DBMS Magazine, Sep. 1994. .
Xeikon announcement, "Xeikon announces new RIP for the DCP-1 digital color press," Sep. 13, 1994. .
"Finding the Right Niches for Electronic Printing," The Seybold Report on Desktop Publishing, Mar. 7, 1994, pp. 12-18. .
Barco Graphics brochure, "RIP and Electronic Collation System for Xeikon DCP-1 Digital Printing Press," Feb. 2, 1994, with Addendum 1. .
Seybold Report on Publishing Systems, vol. 25, No. 22, ISSN: 0736-7260, Aug. 26, 1996. .
"Variable Postscript and the Coming of Age of Electronic Print-for-Profit," Print on Demand Business, May/Jun. 1996, pp. 64, 66-67. .
"Variable-Data Printing Comes of Age: Capabilities & Market Demand Converge," Seybold Report on Publishing Systems, vol. 27, No. 2, Sep. 15, 1997, pp. 3-24. .
"Indigo Variable Data Solution Evaluation," Interoffice Memorandum from R.R. Donnelley & Sons Company dated Jul. 26, 1995 (portions redacted). .
H. Sharples, "Software Automates Impositions; Prepress Imaging," vol. 65, No. 9, p. 67, Graphic Arts Monthly (Sep., 1993). .
"Linotype-Hell's Herkules: Fast, Versatile Drum Imager to Head IPEX lineup; Product Announcement," vol. 23, No. 1, p. 3, The Seybold Report on Publishing Systems (Sep. 1, 1993). .
"Aldus to Offer Presswise 2.0 Imposition Software for Large-Format Presses," PR Newswire (Sep. 7, 1993). .
P. Dyson, "Computer to Plate: New There's a Market; Direct-to-Plate Production Now Feasible; includes related article on the Eskofot Escosan 2540 for boards and films," vol. 23, No. 4, p. 3, The Seybold Report on Publishing Systems (Oct. 11, 1993). .
"Imposition Cuts Stripping Time; Electronic Imposing System; Prepress Imaging," vol. 65, No. 11, p. 84, Graphic Arts Monthly (Nov., 1993). .
S. Edwards et al., "IFRA '93 Review: An Industry Riding the Crest of a Slump; IFRA European Newspaper Equipment Exhibition; includes related article on trade show rumors," vol. 23, No. 6, p. 3, The Seybold Report on Publishing Systems (Nov. 8, 1993). .
H. Sharples, "Electronic Imposition: Moving Forward," vol. 66, No. 2, p. 53, Graphic Arts Monthly (Feb., 1994). .
"Aldus Prepress Division Ships Presswise 2.0 for the Apple MacIntosh," PR Newswire (Mar. 22, 1994). .
"Press Imposition Software; Seybold Special Report: Seybold Seminars Boston '94, Part I; Product Announcement," vol. 23, No. 15, p. S74, The Seybold Report on Publishing Systems (Apr. 22, 1994). .
"High-Resolution Output; includes related articles on how to obtain a Hyphen print sample and naming a new screening technology; Seybold Special Report; Seybold Seminars Boston '94, part I," vol. 23, No. 15, p. S47, The Seybold Report on Publishing Systems (Apr. 22, 1994). .
P. Hilts, "Donnelley's Digital Production Vision; R.R. Donnelley and Sons invited book publishers to come to Crawfordsville to see the future of printing," vol. 241, No. 34, p. 24, Publishers Weekly (Aug. 22, 1994). .
A. Karsh, "Scitex's SGAUA Review: Savanna, GTO-DI Interface, Whisper Upgrade; Scitex Graphic Arts User Association, Scitex Savanna Typesetting System, Press Interface for GTO-DI, Autoflat Image Processing Software, MacCSS Connection Peripheral Server," vol. 24, No. 2, p. 11, The Seybold Report on Publishing Systems (Sep. 19, 1994). .
"Color Shop Goes Electronic; Color Tech Corp.," vol. 66, No. 10, p. 90, Graphic Arts Monthly (Oct., 1994). .
"Xerox and Scenicsoft Bring New Flexibility to Prepress Work With Postscript Files," vol. 7, No. 10, Worldwide Videotex (Oct., 1994). .
"High-Resolution Output Devices; Seybold Special Report: Seybold San Francisco '94, Part 1: Product Announcement," vol. 24, No. 3, p. S32, The Seybold Report on Publishing Systems (Oct. 26, 1994). .
"Output Servers; Seybold Special Report: Seybold San Francisco '94, part 2, Product Announcement," vol. 24, No. 3, p. T13, The Seybold Report on Publishing Systems (Oct. 26, 1994). .
"CTP Field Gets a New Entry; Linotpye-Hell's Computer-to-Plate System, Gutenborg," vol. 66, No. 11, p. 102, Graphic Arts Monthly (Nov., 1994)..~
Primary Examiner: Hong; Stephen S.
Attorney, Agent or Firm:Marshall, O'Toole, Gerstein, Murray & Borun

Parent Case Text



RELATED APPLICATIONS

This application is related to the subject matter described in U.S. application Ser. No. 08/802,337 entitled "Imposition Process and Apparatus for Variable Imaging System," filed Feb. 2, 1997, which is a continuation-in-part of U.S. application Ser. No. 08/478,397, filed Jun. 7, 1995 and a continuation-in-part of U.S. application Ser. No. 08/627,724, filed Apr. 2, 1996 now U.S. Pat. No. 5,857,209.

Claims


We claim:
1. A method of reproducing books and fulfillment pieces in distribution order, wherein each book and fulfillment piece may include variable data, comprising the steps of:
(a) modifying a database containing variable data for pages in the book to include reference to the fulfillment pieces;
(b) creating template page files, the page files having fixed information and a placeholder at the location on the page where the variable data will be reproduced;
(c) generating a press command file to specify the distribution order in which the pages and the fulfillment pieces should be reproduced;
(d) interpreting the pages and fulfillment pieces according to the press command file, including incorporating the variable data from the database into the pages at the location of the corresponding placeholder; and
(e) transmitting the pages and fulfillment pieces to a display device in distribution order.

2. The method of claim 1, wherein the display device is a demand printer that prints the pages and fulfillment pieces.

3. The method of claim 1, wherein the display device is a computer.

4. The method of claim 1, wherein the pages and fulfillment pieces are transmitted to a computer network.

5. The method of claim 1, further comprising the step of attaching the fulfillment pieces to the pages to be distributed to a single address.

6. The method of claim 1, wherein the reference to the fulfillment piece in the database comprises a file name corresponding to the fulfillment piece.

7. The method of claim 6, wherein the fulfillment pieces are generated as QuarkXPress.RTM. files.

8. The method of claim 1, wherein the database contains a record for each person and the step of modifying the database comprises:
(i) adding one column to the database for each fulfillment piece; and
(ii) for each column, adding the reference to the fulfillment piece for each person in each record.

9. The method of claim 8, wherein the step of generating a press command file comprises:
(i) creating a separate press command file for each book and each fulfillment piece;
(ii) for each record in the modified database, copying the press command file for the book and the press command file for each fulfillment piece referenced; and
(iii) merging the copied press command files into a new press command file.

10. The method of claim 1, wherein the step of modifying the database comprises:
(i) creating a controlling database containing variable data for the book, a record for each person and a column including a unique identification for each person; and
(ii) creating a fulfillment database for each fulfillment piece, wherein each fulfillment database contains variable information for the fulfillment piece, a record for each person and a column including the unique identification for each person.

11. The method of claim 10, wherein the step of generating a press command file comprises:
(i) creating a separate press command file for each book and each fulfillment piece;
(ii) analyzing the controlling database for identification numbers and for each identification number, searching each fulfillment database for the records containing that unique identification;
(iii) for each record in each fulfillment database containing that identification number, copying a press command file associated with the identification number; and
(iv) merging the copied press command files into a new press command file.

12. The method of claim 1, further comprising the step of adding a number of blank page files to the template page files, wherein the number of blank page files corresponds to a maximum number of pages in the fulfillment pieces.

13. The method of claim 12, wherein the pages of the fulfillment pieces are generated as QuarkXPress.RTM. files and stored in EPS format.

14. The method of claim 12, further comprising inserting an image box on each added blank page file.

15. The method of claim 14, wherein each image box is named corresponding to a column name in the modified database.

16. The method of claim 12, wherein the database contains a record for each person and each page in the fulfillment pieces is stored in a named file, and wherein the step of modifying the database further comprises adding the file name of the fulfillment piece pages for each record.

17. The method of claim 1, wherein the database contains a record for each person and the step of modifying the database comprises adding an additional number of records for each person, wherein the number of additional records per person corresponds to the number of fulfillment pieces for that person.

18. The method of claim 17, wherein the additional records for each person are added to the database in distribution order.

19. A method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database which contains a record for each person to receive a book, comprising the steps of:
(a) creating template page files representing each page, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced;
(b) adding an additional number of records to the database for each person, wherein the number of additional records per person corresponds to the number of fulfillment pieces for that person;
(c) for each additional record added to the database, inserting a reference to a fulfillment piece; and
(d) reading each record from the database, including mapping the variable information in the database to the corresponding placeholder on the page
files to generate a book and, for each reference in the database to a fulfillment piece, generating that fulfillment piece.

20. The method of claim 19, further comprising the step of transmitting the books and fulfillment pieces to a demand printer to print the books and fulfillment pieces.

21. The method of claim 20, wherein the demand printer prints the books and the fulfillment pieces as separate pages.

22. The method of claim 19, wherein the additional records for each person are added to the database in distribution order.

23. The method of claim 19, wherein the fulfillment pieces include variable information.

24. The method of claim 19, further comprising the step of imposing the books and the fulfillment pieces into a single book.

25. The method of claim 24, further comprising the step of printing the imposed books and fulfillment pieces as a single document.

26. A method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database which contains a record for each person to receive a book, comprising the steps of:
(a) creating template page files representing each page, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced;
(b) adding a column to the database for each fulfillment piece and, for each column, adding a reference to the fulfillment pieces for each record;
(c) creating a press command file for each book and each fulfillment piece and, for each record in the database, copying the press command file for the book and the press command file for each fulfillment piece referenced, and merging the copied press command files into a new press command file; and
(d) interpreting the page files according to the new press command file, including mapping the variable data from the database to the corresponding placeholders on the page files.

27. The method of claim 26, further comprising the step of transmitting the books and fulfillment pieces to a demand printer to print the books and fulfillment pieces.

28. The method of claim 27, wherein the demand printer prints the books and the fulfillment pieces as separate pages.

29. The method of claim 26, further comprising the step of imposing the books and the fulfillment pieces into a single book.

30. The method of claim 29, further comprising the step of printing the imposed books and fulfillment pieces as a single document.

31. A method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database, comprising the steps of:
(a) creating template page files representing each page, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced;
(b) creating a controlling database containing variable data for the book, a record for each person to receive the book and a unique identification for each person;
(c) creating a fulfillment database for each fulfillment piece, wherein each fulfillment database contains variable information for the fulfillment piece, a record for each person and the unique identification for each person;
(d) analyzing the controlling database for identification numbers, and for each identification number, searching each fulfillment database for the records containing that unique identification, and for each record in each database containing that identification number, copying a press command file associated with the identification number and merging the copied press command files into a new press command file; and
(e) interpreting the page files according to the new press command file, including mapping the variable information from the databases to the corresponding placeholders on the page files.

32. The method of claim 31, further comprising the step of transmitting the books and fulfillment pieces to a demand printer to print the books and fulfillment pieces.

33. The method of claim 32, wherein the demand printer prints the books and the fulfillment pieces as separate pages.

34. The method of claim 31, further comprising the step of imposing the books and the fulfillment pieces into a single book.

35. The method of claim 34, further comprising the step of printing the imposed books and fulfillment pieces as a single document.

36. A method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database which contains a record for each person, comprising the steps of:
(a) creating template page files representing each page in a book, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced;
(b) adding a number of blank page files to the template page files, wherein the number of blank page files corresponds to a maximum number of pages in the fulfillment pieces;
(c) inserting an image box on each added blank page file;
(d) modifying the database by adding a reference to fulfillment piece pages for each record;
(e) interpreting the page files, including mapping the variable information from the database to the corresponding placeholders on the page files;
and
(f) imposing the book pages and the fulfillment piece pages for each record in the database into a single book.

37. The method of claim 36, wherein each image box is named corresponding to a column name in the modified database.

38. The method of claim 36, wherein the fulfillment piece pages are stored in a named file and the reference to the fulfillment pages in the database is the file name.

39. The method of claim 36, wherein the fulfillment piece pages contain variable information.

40. The method of claim 36, further comprising the step of transmitted the single book to a demand printer.

Description

TECHNICAL FIELD

The present invention relates generally to reproduction methods and systems, and more particularly to a method of and system for selectively reproducing images.

BACKGROUND ART

Most printing systems in use today utilize printing plates or cylinders which are engraved or photochemically processed to create an image thereon. Ink is then deposited on the plate or cylinder and the ink is thereafter transferred to a substrate, such as paper. In a conventional printing press, a number of pages are printed on a sheet of paper to form a signature which is then folded and assembled with other signatures. The assembled signatures are then bound, trimmed and finished by finishing apparatus to produce finished books, such as magazines, catalogs or any other printed and bound matter.

Often, there is a need to produce different versions of books and/or customized books within a single press run. For example, it may be desirable to produce a number of standard books together with a number of books having additional and/or different signatures or pages therein. Also, it may be necessary or desirable to provide customized information in the form of an address label, personalized information or the like on the inside or outside of finished books. In either case, conventional printing systems are not easily adaptable to produce books of these types.

A printing system which has the ability to produce differing book versions and/or books with customized information is disclosed in Riley U.S. Pat. No. 4,121,818, assigned to the assignee of the instant application. The printing system includes a number of packer boxes disposed adjacent a binding chain wherein each packer box stores a plurality of signatures. A control is included for controlling the packer boxes to selectively feed signatures onto chain spaces of the binding chain so that books of varying content can be produced. Customized information can be printed on the signatures by means of an ink jet printer which is selectively operated by the control. Other types of customization can be effectuated, such as by inserting or onserting cards or the like.

Other systems for producing customized books are disclosed in Abrams et al. U.S. Pat. No. 3,899,165, Wong et al. U.S. Pat. Nos. 4,500,083 and 4,674,052, Wong U.S. Pat. No. Re 32,690 and Berger et al. U.S. Pat. Nos. 4,768,766 and
4,789,147.

Image manipulating systems have been developed which permit gathering of images in an office or home environment. For example, conventional word processing programs, such as Microsoft.RTM. Word.RTM., WordPerfect.RTM. and the like, permit a user to import images into a page and also allow a user to command which pages of a document to print. In addition, macros (i.e., a sequence of commands) can be assembled and executed within these programs which can allow printing of particular document pages in a certain order. Still further, most word processing programs have merge capability wherein a customized image is merged with other standardized information and printed or displayed. As one example, customized information in the form of addressee and address information may be merged with standardized return address information and printed on a series of envelopes.

A different image gathering capability provided by CAD (computer aided design) software, sometimes referred to as "layering," involves the creation and storage of a base page and one or more layer pages. A user can issue commands to display or print the base page and one or more of the layer pages simultaneously atop one another to achieve an effect similar to the overlay of transparencies so that a composite page appearance results.

While the foregoing image manipulating systems allow some image gathering capability, none is effective to assist in the rapid production of different book versions. Of course, CAD systems are primarily designed for line art and not text or graphic images, and hence are of only limited use. Further, if one were to use word processing software to produce book versions it would be necessary to issue commands to separately print the pages of each book version just before such version is to be produced. That is, a user would have to create and store ages to be included in a first book version and then command the software to print as many copies of the first version as are needed. Thereafter, the user would have to recall the pages of the first version from memory, edit and store the pages to create pages to be included in a second book version and then command the system to print the required number of books of the second version. Similar steps would have to be undertaken for each other book version to be produced. Alternatively, the pages of the different book versions could be created and stored and thereafter printed together. In either event, where many book versions are to be produced, such a process would be quite time-consuming. In addition, image importation and merge routines provided as a part of word processing software are adapted for use on a sub-page basis only and hence are of only limited usefulness in the book production environment. Still further, data manipulated by word processing software are largely (if not entirely) in symbolic format. As a result, data to be displayed or printed must be first rasterized by a raster image processor (RIP), which utilizes complex and time-consuming computational routines which further increase production time to an economically impractical level.

Recently, new printing systems have been developed, called "demand printers," which are capable of high speed printing of images from electronic representations thereof. The demand printer produces high quality color (or black and white) images using a set of fusible toners in an electrophotographic process. More particularly, a web of paper is passed adjacent a series of drums, each of which has been electrostatically charged according to an image pattern for a particular color to be applied to the web. The charge is transferred to the paper and an oppositely charged toner of the proper color is brought into contact with the paper. The oppositely charged web and toner attract so that the toner is held on the paper as other colors are applied thereto. The toners and paper are thereafter heated to fuse the toners to the paper to produce the final image. The web is then cut into sheets (or "forms") and the forms are further processed as needed to produce a final product.

Unlike conventional presses which utilize engraved or photochemically prepared plates or cylinders, demand printers are capable of rapidly printing high quality images of differing content owing to the fact that the images are produced by an electrophotographic process. That is, instead of the need to replate and re-engrave a gravure cylinder when a different image is to be printed therewith, it is only necessary to change the charge applied to the drums of the printer in order to make such change. Thus, different images can be printed by the same printer without significant delays. This advantage makes the demand printer desirable for use in certain production environments.

Warmus et al. U.S. patent application Ser. No. 08/478,397, entitled "Variable Imaging Using An Electronic Press" discloses an apparatus and method for controlling an electronic press so that fixed and variable information may be printed in a simple and effective manner. More particularly, first and second sets of template data representing associated first and second template pages, respectively, are developed. Each set of template data includes master data representing fixed information and area data representing an area of a page for variable information. A database is also developed having a number of entries each of which represents variable information. The printer is operated in accordance with the sets of template data and the entries in the database such that the first and second template pages are displayed with selected variable information.

The Warmus et al. apparatus and method generates a page definition language representation of each single page and thereafter generates a page definition language representation of each imposed flat, i.e., each side of a piece of paper to be printed with two or more pages. Such a procedure can be computationally expensive and may limit productivity.

Prior Art Fulfillment Systems

The process of assembling additional pieces of information with a custom document is referred to as fulfillment. Traditionally, fulfillment is accomplished by preprinting all static fulfillment pieces off-line and warehousing them in sorted bins. After the customized document is produced, the appropriate static fulfillment pieces are assembled with each custom document to be mailed. Assembly of the custom documents and the fulfillment pieces is typically done manually. For example, if John Smith is to receive static fulfillment pieces A,B, and C with his custom document, a production worker manually pulls static pieces A,B, and C from the appropriate bins and assembles them with the custom document to be mailed to John Smith.

This fulfillment process is prone to human error due to the fact that the person picking the fulfillment pieces from the bins may inadvertently pull a fulfillment piece from the incorrect bin. Additionally, the person responsible for stocking the bins with the fulfillment pieces may inadvertently stock the bins with the wrong pieces, which would result in the "incorrect" fulfillment pieces being pulled from the "correct" bins. Another shortcoming of the manual fulfillment process is the need to store the pre-printed fulfillment pieces in a warehouse, which can result in warehousing costs and obsolesence of the fulfillment pieces. Additionally, the number of pieces pre-printed is typically in excess of projected needs to avoid running out of fulfillment pieces in the event that some of the pre-printed pieces are damaged or have defects such as smudges. Overprint leads to waste of the excess fulfillment pieces when a job is completed.

Traditionally, since the fulfillment pieces are printed offline, they must contain the same information for everyone that is to receive a particular fulfillment piece. That is, there can be no customization of the fulfillment pieces.

Peach et al., U.S. Pat. No. 5,053,955, discloses a process for merging promotional information from different promotions based on multiple requests. The information is merged into a single stream for printing. Printing can be arranged such that the items are printed in the desired mailing sequence.

Hidding, U.S. Pat. No. 5,519,624, discloses a fulfillment system wherein a main document is scanned. Based on the information read by the scanner, documents are selected for enclosure with the main document. The information read by the scanner prompts the database to send data for the appropriate enclosures to a printer. After the enclosure documents are printed they are assembled with the main document for mailing.

The Peach et al. and the Hidding systems are incapable of providing fulfillment pieces having custom information for each recipient. Also, in the Peach et al. and Hidding systems, the fulfillment pieces are printed separately from the main document and cannot be incorporated into a single document. Additionally, the Hidding system requires the use of a bar code on the master document and a scanner to read the bar code. Once the fulfillment pieces are printed, they must be manually assembled with the appropriate master document. Moreover, both the Peach et al. and the Hidding systems require the use of the same stock size for all printed material.

The present invention overcomes many of the limitations of the prior art in that it allows "on-demand fulfillment" or in-line processing of fulfillment pieces that are to accompany a primary mailing. The present invention allows fulfillment pieces to be reproduced as they are needed in

mailing order along with the primary mailing, which avoids manual assembly. The fulfillment pieces may be printed as separate sheets or combined with the primary mailing as a complete book. Also, the present invention provides additional flexibility in that the fulfillment pieces can contain variable information and can be printed on different stock. Additionally, the present invention reduces processing time by eliminating redundant processing of static information.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, a method of reproducing books and fulfillment pieces in distribution order, wherein each book and fulfillment piece may include variable data, comprises the steps of: (a) modifying a database containing variable data for pages in the book to include reference to the fulfillment pieces; (b) creating template page files, the page files having fixed information and a placeholder at the location on the page where the variable data will be reproduced; (c) generating a press command file to specify the distribution order in which the pages and the fulfillment pieces should be reproduced; (d) interpreting the pages and fulfillment pieces according to the press command file, including incorporating the variable data from the database into the pages at the location of the corresponding placeholder; and (e) transmitting the pages and fulfillment pieces to a display device in distribution order.

In a preferred embodiment, the display device is a demand printer that prints the pages and fulfillment pieces or a computer that transmits the pages and fulfillment pieces are transmitted to a computer network. Also, the fulfillment pieces may be printed as separate sheets or attached to the pages to be distributed to a single address. The reference to the fulfillment piece in the database may comprise a file name corresponding to the fulfillment piece and the fulfillment pieces may be generated as QuarkXPress.RTM. files.

According to another aspect of the present invention, a method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database which contains a record for each person to receive a book, comprises the steps of: (a) creating template page files representing each page, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced; (b) adding an additional number of records to the database for each person, wherein the number of additional records per person corresponds to the number of fulfillment pieces for that person; (c) for each additional record added to the database, inserting a reference to a fulfillment piece; and (d) reading each record from the database, including mapping the variable information in the database to the corresponding placeholder on the page files to generate a book and, for each reference in the database to a fulfillment piece, generating that fulfillment piece.

According to yet another aspect of the present invention, a method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database which contains a record for each person to receive a book, comprises the steps of: (a) creating template page files representing each page, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced; (b) adding a column to the database for each fulfillment piece and, for each column, adding a reference to the fulfillment pieces for each record; (c) creating a press command file for each book and each fulfillment piece and, for each record in the database, copying the press command file for the book and the press command file for each fulfillment piece referenced, and merging the copied press command files into a new press command file; and (d) interpreting the page files according to the new press command file, including mapping the variable data from the database to the corresponding placeholders on the page files.

According to still another aspect of the present invention, a method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database, comprises the steps of: (a) creating template page files representing each page, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced; (b) creating a controlling database containing variable data for the book, a record for each person to receive the book and a unique identification for each person; (c) creating a fulfillment database for each fulfillment piece, wherein each fulfillment database contains variable information for the fulfillment piece, a record for each person and the unique identification for each person; (d) analyzing the controlling database for identification numbers, and for each identification number, searching each fulfillment database for the records containing that unique identification, and for each record in each database containing that identification number, copying a press command file associated with the identification number and merging the copied press command files into a new press command file; and (e) interpreting the page files according to the new press command file, including mapping the variable information from the databases to the corresponding placeholders on the page files.

According to yet another aspect of the present invention, a method of generating books and fulfillment pieces in distribution order, wherein each book comprises a plurality of pages having static and variable information and the variable information is stored in a database which contains a record for each person, comprises the steps of: (a) creating template page files representing each page in a book, wherein the page files include the static information and a placeholder at the location on the page where the variable information will be reproduced; (b) adding a number of blank page files to the template page files, wherein the number of blank page files corresponds to a maximum number of pages in the fulfillment pieces; (c) inserting an image box on each added blank page file; (d) modifying the database by adding a reference to fulfillment piece pages for each record; (e) interpreting the page files, including mapping the variable information from the database to the corresponding placeholders on the page files; and (f) imposing the book pages and the fulfillment piece pages for each record in the database into a single book.

Other features and advantages are inherent in the apparatus claimed and disclosed or will become apparent to those skilled in the art from the following detailed description in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a prior art method of producing books;

FIG. 2 is a block diagram of a method of producing books implementing the present invention;

FIG. 3 is a block diagram illustrating an exemplary system for implementing the method of the present invention illustrated in FIG. 2;

FIG. 4 is a block diagram illustrating one of the demand printing systems of FIG. 3 in greater detail;

FIG. 5 is a generalized diagram of the steps implemented by the method of the present invention;

FIGS. 6a and 6b are elevational views of portions of a sample book that may be produced by the present invention;

FIGS. 7a, 7b and 8a, 8b are elevational views of portions of other sample books that may be produced by the present invention;

FIG. 9 is a flowchart illustrating programming that may be executed by a user on a personal computer to create the template files 105 of FIG. 5;

FIGS. 10a-10f, when joined along similarly-lettered lines, together represent programming executed by the control unit 52 of FIG. 3;

FIG. 11 is a flowchart illustrating the programming implemented by the control unit 52 to generate a page description language instruction set specifying which pages should be printed and how the pages should be positioned (or imposed) for printing;

FIG. 12 is a sample window to prompt a user for the information needed to create a pagination file;

FIG. 13 is a flowchart illustrating in detail the programming implemented by the block 348 of FIG. 11 which determines which pages should be printed for a particular record in the press command file;

FIG. 14 is a flowchart illustrating in detail the programming implemented by the block 350 of FIG. 11 to determine whether the pages should be forced to the left or right-hand side of the book;

FIG. 15 is a flowchart illustrating in detail the programming implemented by the block 352 of FIG. 11 to pad the pages included in the book into a multiple of the number of pages to be printed on a sheet;

FIG. 16 is a sample window to prompt a user to provide various information to select imposition and printing styles;

FIG. 17 is a flowchart illustrating the programming implemented to RIP page files to Tiff format for use in "Get Tiff" imposition in accordance with the present invention;

FIG. 18 is flowchart illustrating the programming implemented to impose pages using "Get Tiff" imposition in accordance with the present invention;

FIG. 19 is a more detailed block diagram of the print system 79 (shown in FIG. 4) incorporating the imposition-on-the-fly procedures of the present invention;

FIG. 20 is a flowchart illustrating the standard operation of the Level 2 PostScript.RTM. showpage operator;

FIG. 21 is a flowchart illustrating the program steps implemented by the redefined Postscript.RTM. initclip operator according to the imposition-on-the-fly procedures of the present invention;

FIG. 22 is a flowchart illustrating the program steps implemented by the redefined PostScript.RTM. transform operators according to the imposition-on-the-fly procedures of the present invention;

FIG. 23 is a flowchart illustrating the program steps implemented by the EnableVirtualDevice procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 24 is a flowchart illustrating the program steps implemented by the DisablePageDevice procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 25 is a flowchart illustrating the program steps implemented by the SetPortrait procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 26A is a diagram illustrating the conversion of a portrait-oriented page to a landscape-oriented page according to the SetPortrait procedure of FIG. 24;

FIG. 26B is a diagram illustrating the conversion of a landscape-oriented page to a portrait-oriented page according to the SetPortrait procedure of FIG. 24;

FIG. 27 is a flowchart illustrating the program steps implemented by the setvirtualdevice procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 28 is a flowchart illustrating the program steps implemented by the ImposeJob procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 29 is a flowchart illustrating the program steps implemented by the ImposeFile procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 30 is a flowchart illustrating the program steps implemented by the MakeNull procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 31 is a flowchart illustrating the program steps implemented by the redefined EndPage procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 32 is a flowchart illustrating the program steps implemented by the redefined BeginPage procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 33 is a flowchart illustrating the program steps implemented by the Vsave procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 34 is a flowchart illustrating the program steps implemented by the Vrestore procedure according to the imposition-on-the-fly procedures of the present invention;

FIG. 35 is a flowchart illustrating the program steps implemented by the redefined PostScript.RTM. save operators according to the imposition-on-the-fly procedures of the present invention;

FIG. 36 is a flowchart illustrating the program steps implemented by the redefined PostScript.RTM. restore operator according to the imposition-on-the-fly procedures of the present invention; and

FIG. 37 is a flowchart illustrating the program steps implemented by the redefined PostScript.RTM. grestore and grestoreall operators according to the imposition-on-the-fly procedures of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates a prior art method of producing books, for example, as shown in the above-identified Riley et al. '818 patent. During a publishing step 20, the contents of one or more book versions are determined. Each version may comprise, for example, a set of standard or common pages. In addition, some of the versions may include one or more additional pages or other customized information. Thereafter, during a preliminary step 22, color correction of color images is undertaken together with undercolor removal and screening for halftone images. During a prepress step 24, page imposition is effected and printing cylinders or plates are prepared. The plates or cylinders are then used during a printing step 26 to prepare signatures which are loaded into packer boxes (not shown). As noted in the Riley et al. '818 patent identified above, the signatures are then selectively collected on a gathering chain (not shown) during a book assembly step 28 and the gathered signatures are bound and trimmed to create the books. The books are thereafter distributed during a step 30 to users via one or more distribution systems, for example, the U.S. Postal Service.

As should be evident from the foregoing, customization occurs during the book assembly step 28, inasmuch as the choice of particular signatures to be included in a book is made at that time. In addition, customized information can be printed onto selected signatures using an ink jet printer disposed adjacent the gathering chain. Thus, for example, addressee information can be printed by the ink jet printer on assembled books so that preprinted addressee labels need not be used. Other types of customization can be effected at this time, for example, by inserting or onserting cards into or onto a stack of collected signatures, affixing a specialized or customized cover on a gathered stack of signatures, or the like. Customization at this point in the production process is simpler and less expensive than, for example, separately printing each book version with customized information.

FIG. 2 illustrates a block diagram of a method 40 according to the present invention which may be used in place of the method of FIG. 1 to produce books. The method 40 includes a step 42 which utilizes the output of publishing and preliminary steps 36, 38 and produces books for distribution according to the step 30 of FIG. 1. The step 42 creates one or more master and variable page files in, for example, a page description language (PDL) such as PostScript.RTM. (Postscript.RTM. is a trademark of Adobe Systems, Inc. for its page description language) representing pages to be produced. In addition, as noted in greater detail hereinafter, a press command file (also referred to as a "book ticket" file) is developed which specifies the manner in which data contained within the master and

variable page files are to be merged to produce printed pages. The format of the press command file may be, for example, of the form specified by Barco Graphics of Gent, Belgium, which is particularly suited for control of a DCP-1 digital color press manufactured by Xeikon of Mortsel, Belgium. Alternatively, the format of the press command file may be of the form specified for control of a DocuPrint printer, manufactured by Xerox Corporation. Other demand printers include the IBM 3900 or Siemens 2090 Twin or 2140 Twin. It should be noted that the apparatus and method of the present invention are not limited to use with a particular type of demand printer or a particular system for controlling such a printer, inasmuch as the invention can be adapted for use with any type of printer or control whether located locally or remotely.

The master and variable page files and the press command file are converted by a collator and raster image processor (RIP) into bitmaps which may be stored in a memory. The stored bitmaps are used to control one or more demand printers and/or any other type of display device, such as a laser printer, a CRT, an LCD display or the like so that the device displays pages having fixed and variable information thereon. Alternatively, the master and variable page files may be premerged to create a plurality of combined files each representing a page to be reproduced with master and variable information. The combined files can be then sent to any type of printer or other display device, whether local or remote. Also, the combined files can be converted to a suitable format (e.g., Acrobat.RTM. PDF format) and transmitted to a remote location using a facsimile machine, e-mail, the Internet/World Wide Web or other transmission medium, if desired. Advantageously, the combined files may be transmitted over the Internet or any other networked or linked computers, such as a company intranet. In this case, an electronic page containing customized data can be sent over the Internet/intranet to a user based upon user demographic(s), a user search and/or any other identifiable user interests(). For example, a customized Internet page could be sent with links to other web pages of interest to a user or a customized page may be sent in response to a user search for information on a particular subject. Alternatively, or in addition, ads could be generated and sent as a web page to one or more users based upon user demographics. As a further example, personnel information concerning a particular employee may be sent to the employee in response to a request for information.

If the pages are to be displayed by rendering the ages on the demand printer, the assembled books may be bound and trimmed and, if desired, further customized, during a finishing step.

FIG. 3 illustrates a system 50 which implements the steps 36, 38 and 42 in the method 40 of FIG. 2. A control unit 52, which may be implemented by a personal computer or another type of computer, includes a memory 53 and stores therein data representing images to be printed. As noted in greater detail hereinafter, the data may be specified by a publisher using a personal computer 54 or any other type of computer and may comprise one or more template files specifying pages to be produced with master or fixed printed information (i.e., printed information which does not vary from book to book of the same version) and variable printed information (which typically varies from book to book). The variable information may be stored in a database created by the publisher and the template file(s) specify the locations on particular pages for variable information stored in the database, as noted in greater detail hereinafter.

If desired, image data may be obtained from any other type of device or devices, such as a scanner which scans input copy, data supplied over a network or any other source. The control unit 52 is further responsive to control and makeready files and causes one or more demand printing systems 62 to print desired pages. While three demand printing systems 62a-62c are illustrated in FIG. 3, it should be understood that the control unit 52 may operate a different number of demand printing systems, as desired. Also, the control unit 52 may operate a fax machine 64 and/or may communicate with other remote devices to send properly converted combined files, as desired and as noted above. In the case of other remote devices, a modem 65 may be operated by the control unit 52 to transmit data representing one or more pages to be displaced by a display device at a remote location over phone lines (land lines and/or cellular) or a combination of phone lines and the Internet. Alternatively or in addition, the data may be sent to a local or remote location at least in part over an intranet or another computer network through a direct connection therewith. The combined files may be printed or may alternatively be reproducible in a different medium and/or may comprise a non-static image or other information, e.g., movies or audio.

The pages printed by the demand printing system 62 may be supplied to a finishing apparatus 66 which includes various auxiliary production devices and device interfaces for assembling the pages to produce finished books which are ready for distribution. The finishing apparatus 66 may include one or more gathering devices 70 for gathering printed pages into books, one or more ink jet printers 72 for printing additional customized information, such as addressee information, on each book, one or more label printers 74 for printing address labels and/or other control devices 76. In addition, one or more detectors 78 may be provided to sense when a defective book is produced. The control unit 52 may be responsive to the output of the detector 78 to reorder a defective book at an appropriate point in the production sequence thereof so that advantage can be taken of postal discounts, if possible.

One or more components of the finishing apparatus 66 may be physically located on the demand printer (i.e. "online finishing"). Alternatively, the finishing apparatus 66 may be physically separate from the demand printer (i.e. "offline finishing").

FIG. 4 illustrates the demand print system 62a of FIG. 3 in greater detail, it being understood that the systems 62b and 62c are functionally similar. The system 62a includes a print system 79 having a press controller 80, a collator 81 and a raster image processor (RIP) 82 which are operable in response to press commands generated by the control unit 52. A collator is an electronic device for storing raster image processor files (i.e., bitmap files) and delivering selected files to a digital press in real time, such that the digital press can run at full speed while processing and printing unique page data for each book produced on the press. The RIP 82 converts the page files to bitmap format or any other format, such as a symbolic printer control language. The collator 81 includes memory in the form of mass storage drives and physical memory and collates the bitmap page files. If desired, the collator 81 and/or RIP 82 may comprise a part of the press controller 80. The controller 80 instructs the collator 81 to send page files to a demand printer 84. The print system 79 may comprise the PrintStreamer system, manufactured and marketed by Barco Graphics of Belgium, while the demand printer 84 may comprise the Xeikon DCP-1 digital color press noted above. Alternatively, the demand printer 84 may be a DocuPrint printer manufactured by Xerox Corporation and the RIP 82 may be a Xerox DocuPrint RIP.

It should be noted that a different print system and/or demand printer may alternatively be used, such as the Indigo printer manufactured by Indigo Nev., of Maastricht, Netherlands, if desired.

FIG. 5 illustrates in diagrammatic generalized form he method of the present invention. For the purpose of explaining the present invention, as an example, it will be assumed that the demand print system 62a will be operated to produce a number of multiple-page books in the form of a brochure in duplex (or "saddle-stich") format. FIGS. 6a and 6b illustrate four pages P1-P4 printed on a single sheet of paper 100 and to be included in a brochure. The sheet of paper 100 includes a first side
100a with printed pages P1, P4 thereon and a second side 100b with pages P2, P3 printed thereon. (As will become evident hereinafter, the use of designations P1-P4 is not meant to imply that such pages will necessarily become pages 1, 2, 3 and 4 of the finished book.) In addition, pages P1-P4 are imposed such that the page P1 is placed on a right-hand portion 100a-r of the side 100a while the page P4 is placed on a left-hand portion 100a-l of the side 100a. Further, the page P2 is placed on a left-hand portion 100b-l of the side 100b while the page P3 is placed on a right-hand portion 100b-r of the side 100b. In this fashion, when the sheet of paper 100 is folded along a fold line 102 with the pages P1 and P4 on the outside, the pages P1-P4
appear in sequence. (The format shown in FIGS. 6A and 6B is often referred to as "saddle stitch" imposition and is commonly used in magazines.) Because each book to be produced in this example includes multiple sheets of paper (or "forms"), each folded once along a fold line, the imposition process takes into account shingling effects but not bottling effects. It should be noted both of that such effects will generally have to be taken into account when more than two pages are to be printed on a single side of a sheet of paper and thereafter folded multiple times and assembled with other multiple-folded printed sheets of paper to create a book.

In addition to the foregoing, in the first example, assume that the pages P1 and P4 will become the outside front and back covers, respectively, of a finished book and include variable and fixed information thereon. Further, assume that the pages P2 and P3 will become the inside front and back covers, respectively, (as must be the case if P1 and P4 are the outside front covers) and include fixed information only thereon. For example, the page P1 may include variable information in the form of a personalized message, a variable image, or the like in an area 110 whereas the page P4 may include other variable information in an area 112, for example, postal information for mailing the brochure to an addressee. Corresponding front and back pages of the remaining books may include different variable information. The remaining printed information on pages P1-P4 may be identical to the printed information on corresponding pages of remaining books.

The books to be produced may include the same or differing number of forms and may have the same or differing numbers of pages. For example, the pages P1-P4 may be assembled with a number of other printed forms comprising twelve additional pages to produce a first book having sixteen pages. Another book to be produced in the same run may include some or all of pages P1-P4 and a second number of forms printed with twenty other pages, some of which may or may not be identical to the twelve additional pages of the first book. Filler pages may be placed in some or all books to cause such book(s) to have a certain number of pages. This may be necessary or desirable to result in a book length which is evenly divisible by four (in the event pages are imposed as two-page spreads) and/or to insure that particular page(s) appear on the left-hand or right-hand side in the finished book.

In fact, the books to be produced in the same press run may be different in terms of page content and/or appearance, book length, book size (by changing page imposition parameters), book version, etc . . . Specifically, for example, the pages of FIGS. 7a, 7b and 8a, 8b may be produced and assembled in different book versions together with the book version incorporating the pages of FIGS. 6a and 6b in the same production run or job. Pages P5-P8 of FIGS. 7a and 7b are identical to the pages P1-P4, respectively, of FIGS. 6a and 6b except that an additional area 113 is provided on the page P5 for placement of variable information, in addition to the areas 110 and 112. Because of the addition of the area 113, the remaining master information appearing in an area 114 differs from master information appearing in an area 116 of the page P1 of FIG. 6a.

The book version incorporating eight pages P9-P16 of FIGS. 8a and 8b differs from the book versions incorporating the pages of FIGS. 6a, 6b and 7a, 7b not only in terms of content of master and variable information, but also number of pages and page size. Specifically, the pages P9, P12, P13 and P16 are to be printed on a first side 117a of a sheet of paper 118 and the remaining pages P10, P11, P14 and P15 are to be printed on a second side 117b of the sheet 118. In addition, the pages P11-P14 are printed upside down relative to the remaining pages so that, when the sheet 118 is folded first along a fold line 119a and then along a fold line 119b, the resulting pages P9-P16 appear in order. Thereafter, the folded sheet 118 is trimmed to separate the pages P9-P16. As should be evident, the pages P9-P16 are one-half the size of the pages P1-P8, and further include different master and variable information thereon. The demand printer may also have multi paper trays to select different paper sizes, stocks, colors etc. or preprinted sheets to be included in the finished book.

Referring again to FIG. 5, one or more template files 106 are developed by a publisher specifying the content (including appearance) of fixed information and the positioning of all information (i.e., fixed and variable) on the different books or book versions. A database 108 is also developed by the publisher using the personal computer 54 specifying the content of variable information to be placed in variable information areas, for example, the areas 110, 112 on the pages P1, P4, respectively, of FIGS. 6a and 6b. The database 108 further includes control information, as noted in greater detail hereinafter.

The template files 106 include data specifying the position and content of fixed information on the pages to be printed. Specifically, the template files 106 define template pages wherein each template page includes data representing any fixed information to be reproduced on corresponding pages of the books or book versions and area data representing any area(s) on the corresponding pages where variable information is to be reproduced. The template files are duplicated to create working files. One set of working files is stripped of all area data relating to placement of variable information to create stripped master page files 120 defining template pages having only fixed information thereon. The stripped master page files are then converted into PDL master page files 122 expressed in a page description language, such as Postscript.RTM..

Optionally, the PDL master page files 122 may be converted into two-page spreads by a page make-up program such as QuarkXPress.RTM.. Preferably, however, the PDL master page files 122 are provided to the print system 79 and imposed according to the imposition processes of the present invention, as explained in detail below.

A further set of working files is stripped of all fixed information to create stripped variable page files 126 defining template pages having fixed information removed therefrom and further having the area data defining the areas 110, 112. The data representing template pages having variable information thereon are expanded into a set of intermediate page files. In the example of FIGS. 6a and 6b and under the assumption that three books are to be printed, two intermediate page files 130, 132
are thus produced. The file 130 includes a file portion P1-a defining the position of variable information to be produced on the page P1 for the first book. Two other file portions P1-b and P1-c define the position of variable information to be produced on the front outside covers of the remaining two books. In like fashion, file portions P4-a, P4-b and P4-c represent the position of variable information to be reproduced on the back outside covers of the three books. At this point, data is also contained in each of the files 130, 132 identifying the entries in the database 108 to be placed in the areas 110, 112 during printing.

The files 130, 132 are then converted into variable page files 134, 136. The files 134, 136 are identical to the files 130, 132, respectively, except that the data in each file identifying entries in the database are replaced by the actual data stored at such entries. The files 134, 136 are then converted into files 137, 138 in a PDL format, for example, Postscript.RTM..

Like the master PDL files 122, the variable PDL files 137, 138 may be converted into two-page spreads by a page make-up program such as QuarkXPress.RTM.. Preferably, however, the variable PDL files 137, 138 are provided to the print system 79
and imposed according to the imposition procedures of the present invention, as explained in detail below.

The print system 79 operates in response to the press commands in a press command file 140 and merges the PDL master page files 122 with the PDL variable files 137, 138 to create the finished books or book versions.

Alternatively, the master page files 122 may be premerged with the PDL variable files 137, 138 before the files are provided to the print system 79.

FIG. 9 illustrates a flow chart of programming executed by the personal computer 54 for creating the template file(s) 106 of FIG. 5. The programming may be written as an extension of QuarkXPress.RTM., a page make-up program distributed by Quark, Inc. of Denver, Colo. The QuarkXPress.RTM. program may be adapted for operation on the Apple.RTM. Macintosh.RTM. operating system or any other operating system, such as the Microsoft Windows.RTM. operating system. Alternatively, a different page make-up program may be used, if desired.

During the make-up process for a document consisting of one or more pages, a template file is created for each book version to be produced, or, where a book is to include two or more parts (referred to as "sections" hereinafter) a template file may be created for each section. At a block 150 a user may select an area of a page for reproduction of variable information therein, at which point a line object, a text object or an image object may be selected. A block 152 then checks to 5 determine which type of object has been selected. If a text object has been selected, indicating that variable text is to be inserted at a point defined by the current cursor position on the computer display, the name or an indication of the appropriate field in the database 108 is inserted into the template file at the insertion point defined by the current cursor position by a block 154. If the user wishes to designate more areas for variable information (block 156) control returns to the block 150 to await selection by the user. If the user then selects an image object, a box is defined by the user to contain an image at a desired location on a selected page. Control from the block 152 thereafter passes to a block 158 which inserts a dummy picture file and an indication of the proper database field name in the template file for the page at the location indicated by the current cursor position. The user will thereafter see the dummy picture file at the insertion point on the display of the computer 54
when the page is viewed. The dummy picture file will display an indication of which database field will be used for insertion on the respective pages.

Following the block 158, a block 160 prompts the user to enter an indication of whether the image object is to be displayed in one of several display formats. If the image is to be displayed in other than the original size thereof, a block 162
sets a subname defined for the image to "fit," indicating that the image is to be scaled to fit the box. If the image is to be displayed in the original size thereof, a block 163 prompts a user to select a position for the image at a particular location in the box defined therefor, such as the upper left-hand corner, the lower right-hand corner, or the like. If the user does not select a position, the image is placed in the upper left corner of the image box. Control thereafter proceeds to the block
156.

If the block 152 determines that a line object has been selected, control returns directly to the block 150, inasmuch as variable information cannot be entered into a line object. The resulting page template files(s) are stored on a storage medium, such as an optical disc or other storage device, and/or the files(s) are downloaded together with the database to the control unit 52.

At any point during the page make-up process, other functional aspects of the QuarkXPress.RTM. program may be invoked to both master and variable aspects as necessary to produce finished pages.

The database 108 is assembled by creating an ASCII file having a plurality of records wherein each record includes one or more fields entered into the database in tab-delimited format (i.e, the fields are separated from one another in each record by tab keystrokes and the records are separated from one another by line returns) and wherein the fields are arranged under field names of a header. Each field may include text to be reproduced on a page or a name of an image file stored in the memory
53 and defining an image to be reproduced on a page.

In addition to the foregoing data, the database 108 may include an optional field designating the number of copies of each book to be produced, an optional townsort image field, a version identification field indicating book version number if multiple book versions are to be produced, an optional distribution list field, control data and the like.

A sample database is set out below having a header consisting of twelve fields (i.e., "version," "addressline1," "addressline2," etc.) and a number of records, nine of which are shown, each having twelve fields:

__________________________________________________________________________ Version Addressline1 Addressline2 Addressline3 Addressline4 Addressline5 Price1 Image1 Price2 Copies Barcode Townsort __________________________________________________________________________ 01 William Doe 123 Elm Chicago Illinois 606248923 $22.95 Shoes $21.95 1 !606248923! 03 Hugh 56 Maple Chicago Illinois 606248923 $21.95 Shirt $20.95 1 !606248923! Jorgensen 02 Jay P. 1313 Park Chicago Illinois 606248924 $24.95 Pants $22.95 1 !606248924! .box-solid. Morgan 02 Joe Louis 819 Elm LaGrange Illinois 605251093 $19.95 Pants $18.95 1 !605251093! 03 John Smith 926 Cossit LaGrange Illinois 605261093 $19.95 Shoes $15.25 1 !605251093! 01 Len Johnson 882 Monroe LaGrange Illinois 605251093 $19.95 Shoes $17.25 1 !605251093! 02 Janet Cizmar 916 Monroe LaGrange Illinois 605251094 $24.95 Pants $21.95 1 !605251094! .box-solid. 03 Jay Schroeder 88 W. 77th Brookfield Illinois 605241391 $21.95 Shirt $19.95 1 '605241391! 03 Danielle 129 Madison Brookfield Illinois 605241391 $22.95 Shirt $19.95 1 !605241391! .box-solid. Johnston __________________________________________________________________________

In the example of FIGS. 6a and 6b, the field names ADDRESSLINE1 through ADDRESSLINE5, BARCODE and TOWNSORT may appear in the area 112 and one or more of the field names PRICE1, IMAGE1 AND PRICE2 may appear in the area 110. The COPIES field may be used as a control code to select the number of book copies to be produced.

Once the template file(s) 106 and the database 108 are assembled, the programming of FIGS. 10a-10f may be executed by the control unit 52 to create the master page file 122, the final variable page files 137 and 138, and the press command file
140. Referring first to FIG. 10a, a block 170 prompts a user to select a template file 106 and a block 172 opens the database 108. A block 174 then reads and stores in a list the database field names for later reference and a block 176 prompts a user to enter information indicating a section number and whether pages are to be printed in simplex (i.e., single-sided) or duplex (i.e., double-sided) format. The section number identifies the order in which multiple sections are to be processed for a particular book. The user may also be prompted to enter a selective processing code identifying a particular book version to process if multiple versions are to be produced during a single press run.

Following the block 176, a block 177 begins the process of stripping variable information from the template file opened by the block 170 to obtain the stripped master file 120 of FIG. 5. The block 177 selects a first page for processing and a block 178 checks to determine whether there are any images in the template file and, if images are located, a block 180 selects a first image.

A block 182 identifies the file name for the image and a block 184 checks the field list to determine whether the file name is included therein. If the file name for the image is included in the field list, then the image comprises variable information and a block 186 deletes the image block. A block 187 then identifies and saves the image box location on the page, the characteristics of the image box, such as the size, skew, background color and subname and the like and further saves the field name of the image from the database 108. Also, a counter in the memory 53 which tracks the number of variable image boxes on the page is incremented.

Otherwise, if the block 184 determines that the file name is not in the field list, then the image contains only master information. A block 188 then also saves the image box location on the page and the characteristics of the image box. Also, a counter in the memory 53 which tracks the number of master image boxes on the page is incremented.

A block 189 then checks to determine whether all images have been processed. If not, a block 190 selects a next image and control returns to the blocks 182-189. Control remains with such blocks until the block 189 determines that all images have been processed and control then passes to a block 192. Control also passes to the block 192 from the block 178 should the latter determine that there are no images in the template file.

The block 192 determines whether any text boxes are present in the open template file. If at least one text box is present, a block 194 selects and parses a first text box and a block 196 (FIG. 10b) checks to determine whether the text box includes at least one of the field names of the database 108. If so, then it has been determined that the text box includes variable information and a block 198 deletes the text box. A block 199 then stores the text box location, the insertion points in the text box at which variable information is to be printed and the characteristics of the text box and the field names of the database 108 identified in such text box in the memory 53. In addition, a variable text box counter is incremented representing the number of variable text boxes appearing on each page.

Otherwise, if the block 196 determines that the text box does not include any field names from the database, then the text box contains only master information. A block 200 stores the text box location in the memory 53. In addition, a master text box counter is incremented representing the number of master text boxes appearing on each page.

Control then passes to a block 202, which checks to determine whether all text boxes in the template file have been processed. If not, a block 204 selects and parses the next text box in the template file and control returns to the blocks
196-202. Control remains with such blocks until all text boxes have been processed, whereupon a block 206 determines whether all pages have been processed. If not, a block 208 selects a next page and control returns to the block 178 (FIG. 10a). Otherwise, a block 210 saves the resulting file as the stripped master file.

Alternatively, if a page contains a lot of formatting information (i.e. tabs, fonts, etc.), a rich text file (which includes such formatting information) may be created offline from the database. The text box may then open the rich text file and read the information from the file. The use of the rich text file speeds up the processing time.

Also, once a placeholder on a page has been "filled in" with information from the database field, the program may mark the corresponding text or image box as "touched." Thus, if the text or image box is "untouched," the program can skip processing of that text or image box, also speeding up the total processing time.

Control also bypasses the blocks 194-202 and proceeds directly from the block 192 to the block 206 if the block 192 determines that there are no text boxes in the open template file.

Following the block 210, a block 212 converts the stripped master file into the PDL master page file 122 of FIG. 5. At the same time, an initialization (or INI) file may be created. The format and existence of the INI file depends on the type of demand printer utilized. For example, the DocuPrint demand printer does not require the use of an INI file. However, the Barco RIP requires the use of an INI file.

The INI file (in ASCII code) for the Barco RIP is created according to the following format:

name: [file path.backslash.name]

psx: [dimension]

psy: [dimension]

ssx: [dimension]

ssy: [dimension]

posx: [dimension]

posy: [dimension]

duplex: [zero or one]

orientation: [zero or one]

output: [filename]

copies: [number]

Where "psx" and "psy" refer to finished page sizes in x and y directions, "ssx" and "ssy" refer to cut sheet size in x and y directions, "rposx" and "posy" refer to offsets in x and y directions specifying placement of each page on a cut sheet, "duplex" refers to single or two-sided printing, "orientation" refers to portrait or landscape printing, "output" refers to the name of the output file and "Icopies" refers to the number of copies to be printed. A sample INI file which specifies parameters for printing of a file called MYJOB.PS is as follows:

Name: C:jobsmyjob.ps

psx: 8000

psy: 11000

ssx: 11500

ssy: 9000

posx: 150

posy: 150

duplex: 1

orientation: 1

output: myjob.ps

copies: 1

In the foregoing example, one copy of the file MYJOB.PS is to be printed in duplex and portrait formats at an offset of 0.15.times.0.15 inches from a corner of a finished sheet of paper 8.times.11 inches cut from a sheet originally having dimensions of 9.times.11.5 inches.

For the DocuPrint (or any other demand printer which does not use an INI file), a queue is created which contains the same parameters (and potentially additional parameters which may invoke the functionality of an in-line finisher, or other apparatus) as the INI file.

Following the block 212, a block 214 then reopens the same template file originally opened by the block 170 and deletes all the master image and text boxes. A block 216 than saves the resulting file as the stripped variable file 126 of FIG. 5.

A block 218 then creates a temporary file containing a table of the current page number and a number representing the name of the database field placed by the block 154 at the insertion point. The file is called, for example, *.VARS (where * is a user-selected file name). The *.VARS file thus contains pairs of page numbers and database column numbers that indicate where in the database variable information for the page comes from. For example, the *.VARS file may contain the following information:

______________________________________ 1 7 8 43 9 44 10 45 11 46 11 47 13 50 14 52 15 50 15 51 ______________________________________

In the example above, page 1 contains variable data from column 7 of the database, page 8 contains variable data from column 43 and page 11 contains variable data from column 46 and 47. Further, the *.VARS file may contain separate pairings for images and text.

Control then passes to block 242 (FIG. 10c) which creates a working copy of the stripped variable file 126. A first page having variable data thereon is selected and data representing the remaining pages in the file are deleted by a block 244. In the example of FIGS. 6a and 6b, the block 244 creates a file defining the front cover of a book with all fixed information deleted therefrom and an area reserved for variable information.

Following the block 244, a block 246 selects a first record in the database 108 and a block 248 reads the record. An optional block 250 checks to determine whether a selective processing code has been entered by the user indicating that the page is to undergo selective page processing. As noted above, the apparatus and method of the present invention may be utilized to produce not only books of a single version (i.e., where corresponding pages differ only in terms of the variable information stored in the database) but also books of different versions. In the latter case, the books of different versions have different fixed and variable information. The fixed and/or variable information may vary in terms of content or appearance (i.e., style, location, rotation, position, etc.) or both in different versions.

If the block 250 determines that selective page processing is to be undertaken, then a block 252 checks to determine whether the database record read by the block 248 is to be utilized on the page currently under consideration. The block 252
accomplishes this by checking the version identification field in the database to determine if that version is being used. If this is not the case, a block 253 checks to determine whether the record currently under consideration is the last in the database. If so, control passes to a block 294 of FIG. 10e. Otherwise, a block 254 selects a next record in the database 108 and control returns to the block 248 where the next database record is read.

If the block 250 determines that selective page processing is not to be undertaken, or if the block 252 determines that the record read by the block 248 is to be used in the page currently under consideration, a block 256 duplicates the data representing the page remaining after execution by the block 244 to initiate development of one of the files 130 or 132. In the first pass through the program of FIG. 10c, and in connection with the example of FIGS. 6a and 6b, the block 256 creates the file 130 and develops page data representing a first version of the page P1-a and adds further variable information to such page data during immediately succeeding passes through the program. Thereafter, data representing the remaining pages P1-b, P1-c and P4-a through P4-c are created and variable information is added to such pages serially during subsequent passes.

A block 258 checks to determine whether there are any image boxes on the page and, if so, a block 260 selects a first image box. A block 262 then inserts the image identified by the database field into the image box. A block 264, FIG. 10d, checks the subname to determine whether the block 162 of FIG. 9 has indicated that the image should be sized to fit the image box. If this is true, a block 266 performs the scaling. Otherwise, a block 268 positions the image in the image box at the position specified by the user and a block 270 checks to determine whether all image boxes have been processed. Control also passes from the block 266 directly to the block 270, thereby skipping the block 268. If not all image boxes have been processed, a block 272 selects a next image box on the page and control returns to the blocks 262-270 so that remaining image boxes are serially processed.

Once the block 270 determines that all image boxes have been processed, or immediately following the block 258 of FIG. 10c if no image boxes are found on the page, a block 274 checks to determine whether there are any text boxes on the page and, if so, a pair of blocks 276, 278 select a first text box and a first insertion point in such box. Blocks 280, 282 and 284 serially insert text data stored in the database 108 at the appropriate insertion points in the text box. Once all of the variable text data have been inserted into the text box, a block 286 recomposes all text in the text box so that the text obtains a neat finished appearance. The recomposition process is automatically undertaken by the QuarkXPress.RTM. program once the variable information is inserted into each text box. The recomposition process is responsive to the user commands as applied to the template file text box or object, such as left, right, center, or full justification, hyphenation and the like. Following the block 286, a block 288, FIG. 10e, checks to determine whether there are remaining text boxes to be processed on the page and, if so, a block 290 selects the next text box on the page and control returns to the blocks 278-288 to insert text information into such text boxes.

Once the block 288 determines that all text boxes for the page have been processed, the programming required to produce one of the pages of the file 134 of FIG. 5 having variable information only thereon is complete. A block 292 then determines whether all records in the database have been considered for inclusion in additional variable pages of the file 134 to be produced. If not all records have been considered, control returns to the block 254, FIG. 10c, where the next database record is identified and read. On the other hand, if all pages of the file 134 have been produced by considering all records in the database 108, a block 294 converts the file data into PostScript.RTM. or another PDL format to create the variable page file 137
of FIG. 5. Also, an INI file is created as before, except that the "duplex" or "twinplex" parameter is set to command simplex printing only. If necessary or desirable, should the press run length exceed a certain limit, the programming may be modified to create more than one variable page file for each variable page of the template file.

Following the block 294, a block 296 checks to determine whether there are other variable pages in the stripped variable page file to be processed. If this is true, a block 298 retrieves a copy of the stripped variable file, selects the next variable page therein and deletes remaining pages therefrom. Control then returns to the block 246 of FIG. 10c. In the example of FIGS. 6a and 6b, the back cover P4 and the corresponding pages of the remaining books are now selected for processing. In the fashion noted above, a file representing the variable portions of such pages is produced by developing the file representing the pages P4-a through P4-c and inserting the database information into such file to obtain the variable page file 136 and the PDL version 138.

Following generation of the variable page files 134, 136, and 137, 138 control passes to a block 300 which checks to determine whether a press command file has already been created. (As used herein, "press command file" refers to any file or combination of files that is used to control a demand printer or electronic press.) If not, a file is created by a block 302 having placeholder comments indicating where in the press command file individual press commands are to be placed for each book to be produced. The press command file may also include data from one or more fields of the database 108 identifying an intended recipient of each book to be produced to assist in reproducing books found to be defective or to produce sample books. At this point, the press command file for the example of FIGS. 6a and 6b may be as follows (using data from the sample database set out above):

;RECORD1

;:WILLIAM DOE:606248923

;ENDRECORD

;RECORD2

:HUGH JORGENSEN:606248923

;END RECORD

;RECORD3

;:JAY P. MORGAN:606248924

;END RECORD

Following the block 300 (if the press command file already exists) or the block 302 a block 304 selects the first database record and a corresponding first record in the press command file. A block 306 then checks to determine whether the template file currently being processed includes the selected database record. If not, a block 308 determines whether all pages have been processed, and if this is not the case, the next record in the database 108 and a corresponding record in the press command file are selected. Control then returns to the block 306. If the block 306 ascertains that the template file includes the selected record, a block 312 inserts an indication of the section number in the press command file at an appropriate point if the section number is not already present. If the section number is present already, the press command identified by the section number entered by the user at the block 176 is identified to be overwritten at a later point. The press command file now appears as follows for the example of FIGS. 6a and 6b:

;RECORD1

;:WILLIAM DOE:606248923

;SECTION 1

;ENDSECTION

;ENDRECORD

;RECORD2

;:HUGH JORGENSEN:6062488923

;SECTION 1

ENDSECTION

;END RECORD

.RECORD3

;:JAY P. MORGAN:606248924

;SECTION 1

;END SECTION

;END RECORD

Following the block 312, a block 314, FIG. 10f, selects a first page of the section and a block 316 checks the state of a flag stored in the memory 53 to determine whether a simplex or duplex job has been requested. If a simplex job has been requested, the file name and page number of the master page file and, if variable information is to appear on the page, the file name and page number of the variable page file for the selected page are stored as a single set pair in the memory 53 by a block 318. The determination of whether variable information is to appear on the selected page is accomplished by summing the contents of the variable image box counter and the variable text box counter as incremented by the blocks 220 and 234 of FIG.
10b.

A block 320 checks to determine whether all pages have been processed and, if not, the next page is selected by a block 322 and control returns to the block 316 for processing of such page. If all pages have been processed, control passes to a block 324 which determines whether all database and press command records have been processed. Control also passes to the block 324 if the lock 308 determines that all pages have been processed. If not all records have been processed at this point, control returns to the block 310 where the next records in the database and press command file are selected.

If the block 324 determines that all records for the current section have been processed, a block 326 determines whether another section is to be processed and, if so, control returns to the block 170 of FIG. 10a. If there is not another section to be processed, the press command file has been fully assembled, and hence the process terminates.

If the block 316 determines that a duplex job is to be effected, control passes to a block 328 which stores in the memory 53 a command identifying the file names and page numbers of the master page file (as well as corresponding information relative to variable page files, if variable information is to appear) as two-set pairs. Control from the block 328 then passes to the block 320 described above.

The result of the programming of FIGS. 10a-10f is a press command file having a sequence of press commands which cause printing of pages in a desired order. In order to print the sample pages of FIGS. 6a and 6b, the press command file would read as follows:

BOOK A

;RECORD1

;:WILLIAM DOE:606248923

;SECTION 1

"file.m"1@"file.v1"1.vertline."file.m"2

"file.m"3.vertline."file.m"4@"file.v4"1

;ENDSECTION

;ENDRECORD

;RECORD2

;:HUGH JORGENSEN:606248923

;SECTION 1

"file-m"1@"file.v1"2.vertline."file.m"2

"file.m"3.vertline."file.m"4@"file.v4"2

;ENDSECTION

;ENDRECORD

;RECORD3

;:JAY P. MORGAN:606248924

;SECTION 1

"file.m"1@"file.v1"3.vertline."file.m"2

"file.m"3.vertline."file.m"4@"file.v4"3

;ENDSECTION

;ENDRECORD

ENDBOOK

PRINTRUN R

BOOK A

ENDPRINTRUN

In the foregoing example, "file.m" is a file name identifying the master page file 122 and "file.v1" and "file.v4" are file names identifying the variable page files 137 and 138, respectively. The number following each file name designates a particular page of the file identified by the file name. Thus, for example, "file.m"1 designates the first page of the master file "file.m" and "file.v1"2 designates the second page of the variable page file "file.v1." The @ sign means to associate the pages of the files linked by such sign (i.e. overlay the variable pages on the master pages). The vertical line in the commands indicates that the page(s) on the left side of the vertical line are to be printed on the front side of a piece of paper whereas the page(s) on the right side of the vertical line are to be printed on the reverse side of the piece of paper. In an example of simplex printing, no file name would appear to the right of the vertical line in each command.

On-Demand Fulfillment

The "on-demand fulfillment" of the present invention, which generally involves manipulation of the database and press command (or "book ticket") files, is most easily illustrated through example. In our example, each of three insurance clients (Jim, Mark, and Pete) are to receive customized benefits statements (which contain variable information). Due to the location of their residences, Jim, Mark, and Pete are eligible for various insurance packages. Specifically, Jim is eligible for package A, Mark and Jim are eligible for package B, and Pete is eligible for package D. Each insurance package (i.e., A, B, and D) has a brochure describing the relevant insurance plan. These brochures are to be sent as fulfillment pieces with the custom benefits statements to those eligible for the specific packages. Therefore, in addition to their custom benefits statements, Jim will be sent brochures A and B, Mark will be sent brochure B, and Pete will be sent brochure D. The fulfillment piece brochures A, B, and D may contain customized or variable information or may contain only static information. Fulfillment pieces can also be paginated "on the fly" so that the same fulfillment piece for two clients can have a different number of pages.

The insurance company provides an original database of client names and addresses, a sample of which is set forth below. (The database may also contain additional fields containing variable information.)

______________________________________ Original Database Xname Xaddress ______________________________________ Jim 123 Easy St. Mark 234 Grove St. Pete 345 Lucky Ln. ______________________________________

The insurance company also has files representing the benefits statements and fulfillment brochures to be reproduced and sent. Preferably, these are produced by page-layout software, such as QuarkXPress.RTM.. A representative list of files is as follows:

______________________________________ Piece File Name ______________________________________ Customized Benefits Benefits Statement Brochure A BfileA Brochure B BfileB Brochure D BfileD ______________________________________

The present invention discloses four different methods of accomplishing the reproduction of the appropriate books and fulfillment pieces in mailing order.

Fulfillment Method #1

The first fulfillment method is preferably used when the fulfillment pieces include variable information. The first method modifies the original database by: (1) adding a record (row) for each piece (e.g., benefits statement or brochure) that a person is to receive; and (2) adding a column corresponding to the file names of the files that represent the pieces each person is to receive. The added column may be called, for example, "Xversion". The modified database of the first method is essentially a combination of the original database and the file list provided by the insurance company.

Referring to the modified database below, Jim would have three records because he will be sent his benefits statement and brochures A and B. Therefore, in the third column of the first record for Jim, the name of the file representing Jim's benefits package would appear. Likewise, in the third column of second and third records for Jim the names of the files representing brochures A and B would appear, respectively.

______________________________________ Modified Database Xname Xaddress Xversion ______________________________________ Jim 123 Easy St. Benefits Jim 123 Easy St. BfileA Jim 123 Easy St. BfileB Mark 234 Grove St. Benefits Mark 234 Grove St. BfileB Pete 345 Lucky Ln. Benefits Pete 345 Lucky Ln. BfileD ______________________________________

The step of modifying the database would occur between blocks 172 and 173 of FIG. 10a. After the original database and the appropriate filenames have been merged into the modified database, the pages are processed in accordance with the flowchart of FIGS. 10a-10f. Thus, in our example, all Benefits books will be processed, then all BfileA books will be processed, then BfileB books, then BfileD books. At the time the press command file is created, the books are resorted into distribution or mailing order.

Fulfillment Method #2

The second fulfillment method is preferably used when the fulfillment pieces contain only static information. Like the first method, the second method also creates a modified database from the original database. The modified database is a version of the original database with an additional number of columns equal to the maximum number of fulfillment pieces a person can receive. The columns are filled in with the file names of the fulfillment pieces each person is to receive.

In our example, the maximum number of fulfillment pieces, in addition to the benefits statement, that can be received is three and, consequently, three columns are added to the database. The modified database is as follows:

______________________________________ Modified Database Xname Xaddress Xful1 Xful2 Xful3 ______________________________________ Jim 123 Easy St. BfileA BfileB Mark 234 Grove St. BfileB Pete 345 Lucky Ln. BfileD ______________________________________

Like in the first method, the database is modified between the blocks 172 and 174 of FIG. 10a. The database dictates the files that need to be processed to create a press command file representative of the print job.

The press command files representing the fulfillment pieces (assuming the pieces contain no variable information) are as follows:

BfileA

;Book

"MasterBfileA"1.linevert split."MasterBfileA"2

"MasterBfileA"3.linevert split."MasterBfileA"4

"MasterBfileA"5.linevert split."MasterBfileA"6

"MasterBfileA"7.linevert split."MasterBfileA"8

BfileB

;Book

"MasterBfileB"1.linevert split."MasterBfileB"2

"MasterBfileB"3.linevert split."MasterBfileB"4

"MasterBfileB"5.linevert split."MasterBfileB"6

"MasterBfileB"7.linevert split."MasterBfileB"8

BfileD

;Book

"MasterBfileD"1.linevert split."MasterBfileD"2

"MasterBfileD"3.linevert split."MasterBfileD"4

"MasterBfileD"5.linevert split."MasterBfileD"6

"MasterBfileD"7.linevert split."MasterBfileD"8

The press command files for the custom benefits statements for Jim, Mark, and Pete can be represented as follows:

Benefits

;Jim

;Begin Record

"MasterQxP"1@"Variable.V01"2.linevert split."MasterQxP"2@"Variable.V02"2

"MasterQxP"3@"Variable.V03"2.linevert split."MasterQxP"4@"Variable.V04"2

"MasterQxP"5@"Variable.V05"2.linevert split."MasterQxP"6@"Variable.V06"2

"MasterQxP"7@"Variable.V07"2.linevert split."MasterQxP"8@"Variable.V08"2

;End Record

;Mark

;Begin Record

"MasterQxP"1@"Variable.V01"3.linevert split."MasterQxP"2@"Variable.V02"3

"MasterQxP"3@"Variable.V03"3.linevert split."MasterQxP"4@"Variable.V04"3

"MasterQxP"5@"Variable.V05"3.linevert split."MasterQxP"6@"Variable.V06"3

"MasterQxP"7@"Variable.V07"3.linevert split."MasterQxP"8@"Variable.V08"3

;End Record

;Pete

;Begin Record

"MasterQxP"1@"Variable.V01"4.linevert split."MasterQxP"2@"Variable.V02"4

"MasterQxP"3@"Variable.V03"4.linevert split."MasterQxP"4@"Variable.V04"4

"MasterQxP"5@"Variable.V05"4.linevert split."MasterQxP"6@"Variable.V06"4

"MasterQxP"7@"Variable.V07"4.linevert split."MasterQxP"8@"Variable.V08"4

;End Record

The second method combines the press command files for the fulfillment pieces with the press command files for the benefits statements into a single press command file. This is accomplished by evaluating the modified database and concatenating the proper press command files. Specifically, the first record in the database is "Jim"; thus, the method copies the press commands related to "Jim" from the "Benefits" press command file into a new press command file. The record for Jim in the database shows that he will receive brochure A (BfileA) and brochure B (BfileB). The method thus appends the press command files for BfileA and BfileB to the new press command file containing the information for Jim.

The method then proceeds to the second record (Mark) and repeats the copy process, appending the information to the new press command file that already contains Jim's information. A sample completed press command file is shown below.

Jim

;Begin Record

"MasterQxP"1@"Variable.V01"2.linevert split."MasterQxP"2@"Variable.V02"2

"MasterQxP"3@"Variable.V03"2.linevert split."MasterQxP"4@"Variable.V04"2

"MasterQxP"5@"Variable.V05"2.linevert split."MasterQxP"6@"Variable.V06"2

"MasterQxP"7@"Variable.V07"2.linevert split."MasterQxP"8@"Variable.V08"2

"MasterBfileA"1.linevert split."MasterBfileA"2

"MasterBfileA"3.linevert split."MasterBfileA"4

"MasterBfileA"5.linevert split."MasterBfileA"6

"MasterBfileA"7.linevert split."MasterBfileA"8

"MasterBfileB"1.linevert split."MasterBfileB"2

"MasterBfileB"3.linevert split."MasterBfileB"4

"MasterBfileB"5.linevert split."MasterBfileB"6

"MasterBffleB"7.linevert split."MasterBfileB"8

;End Record

;Mark

;Begin Record

"MasterQxP"1@"Variable.V01"3.linevert split."MasterQxP"2@"Variable.V02"3

"MasterQxP"3@"Variable.V03"3.linevert split."MasterQxP"4@"Variable.V04"3

"MasterQxP"5@"Variable.V05"3.linevert split."MasterQxP"6@"Variable.V06"3

"MasterQxP"7@"Variable.V07"3.linevert split."MasterQxP"8@"Variable.V08"3

"MasterBfileB"1.linevert split."MasterBfileB"2

"MasterBfileB"3.linevert split."MasterBfileB"4

"MasterBfileB"5.linevert split."MasterBfileB"6

"MasterBfileB"7.linevert split."MasterBfileB"8

;End Record

;Pete

;Begin Record

"MasterQxP"1@"Variable.V01"4.linevert split."MasterQxP"2@"Variable.V02"4

"MasterQxP"3@"Variable.V03"4.linevert split."MasterQxP"4@"Variable.V04"4

"MasterQxP"5@"Variable.V05"4.linevert split."MasterQxP"6@"Variable.V06"4

"MasterQxP"7@"Variable.V07"4.linevert split."MasterQxP"8@"Variable.V08"4

"MasterBfileD"1.linevert split."MasterBfileD"2

"MasterBfileD"3.linevert split."MasterBfileD"4

"MasterBfileD"5.linevert split."MasterBfileD"6

"MasterBfileD"7.linevert split."MasterBfileD"8

;End Record

The benefits statement and fulfillment brochures will be produced in