The present invention relates generally to reproduction methods and systems and, more particularly, to a method of and system for processing variable text areas of a template page to control a display device, such as an electronic press.
Demand printing systems utilizing an electronic press have provided the capability to produce different versions of books and/or customized books within a single press run. Demand printing systems, in general, are capable of high speed printing of images from electronic representations thereof. The electronic representations of the images for a press run are typically provided as a plurality of data files to the electronic press for subsequent processing thereby.
Upon receipt of the data files, the electronic press produces high quality color images using, for example, a set of fusible toners in an electrophotographic process. Electronic presses have also utilized electrographic, inkjet, and other printing technologies. During an exemplary press run, 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. Alternatively, multiple sheets of paper are utilized instead of the paper web in a sheet-fed process. In either case, 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 paper 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. If necessary, the web is then cut into sheets (or “forms”) and the forms are further processed as needed to produce a final product.
Preparation for an electronic press run typically begins with steps taken by a publisher to establish the content for a book, the content including both fixed information and, for customization, variable information. At this stage, the book is represented by one or more template files that have been generated by a page make-up program. Each template file is typically representative of both the content and location of the fixed information, as well as the location of the variable information, for one or more pages of one or more book versions. Data representative of the variable information may then be provided in database format in another file generated by the publisher.
A user interface has been developed by the assignee of the present application to facilitate the preparation and further processing of the template files. This user interface is programmed as an extension of QuarkXPress® and provides a user with the ability to define variable areas for a page in a template file, each area being a location in which variable text or a variable image will be disposed. The template file and the database are then processed to develop a press command file (or a “book ticket file”) to control the electronic press.
The database typically contains all of the variable text that will be utilized to produce customized books. As a result, a press run involving a book with lengthy sections of variable textual information requires a database having large amounts of data. The database may then require extensive data entry and/or management, and may eventually become unwieldy for large press runs.
In the past, the complexity of the database has been minimized by permitting the publisher to create multiple versions of a book, each of which, in turn, may be customized via the above-described processing. Each version is represented by master pages, which are common to all of the books of the same version, as well as variable pages, which may vary from book to book of the version. The version of each book to be produced is typically identified in the database. The identified version, in turn, specifies one or more template pages to be processed by the user interface described hereinabove to generate the master pages of the identified version. Consequently, the size of the database decreases as more of the customization involved in the press run is provided via the master pages generated for each version of the books to be produced. However, each additional version requires the publisher to create a separate set of template files, thereby undesirably increasing the time required for page make-up.
In accordance with one aspect of the present invention, a software system is useful for generating a page file from a template file and database entries. The database entries specify variable information and the template file includes data designating a variable text area. The software system includes a computer-readable medium and a software program stored in the computer-readable medium. The software program, in turn, includes a first routine that associates the variable text area with a text file in accordance with the database entries, and a second routine that generates the page file from the template file and the text file.
In a preferred embodiment, the text file includes a variable information placeholder. The software program may then include a third routine that derives a further text file from the first-named text file in accordance with the variable information placeholder and at least one of the database entries. The second routine preferably generates the page file from the further text file. The third routine may modify the first-named text file to derive the further text file. The database entries are preferably stored in a database under a plurality of field names. A fourth routine of the software program may then generate an associations file having association data linking one of the plurality of field names with the variable information placeholder. The variable information placeholder preferably has a word position in the text file such that the association data is representative of the word position of the variable information placeholder.
In another preferred embodiment, the page file includes a variable data file. The variable data file preferably includes page description data readable by an electronic press to print books.
In yet another preferred embodiment, the variable text area is designated by a text file placeholder, and the database entries are stored in a database under a plurality of field names, such that the text file is specified by data stored under one of the plurality of field names associated with the text file placeholder.
In accordance with another aspect of the present invention, a method is useful for generating a page file from a template file and database entries. The database entries specify variable information and the template file includes data designating a variable text area. The inventive method includes the steps of associating the variable text area with a text file in accordance with the database entries and generating the page file from the template file and the text file.
In a preferred embodiment, the text file includes a variable information placeholder. The inventive method preferably includes the step of deriving a further text file from the first-named text file in accordance with the variable information placeholder and at least one of the database entries. The generating step may then include the step of processing the template file to include further data stored in the further text file. The deriving step preferably includes the step of modifying the first-named text file. The database entries may be stored in a database under a plurality of field names such that the inventive method further includes the step of generating an associations file having association data linking one of the plurality of field names with the variable information placeholder. The variable information placeholder preferably has a word position in the text file such that the association data is representative of the word position of the variable information placeholder.
In another preferred embodiment, the page file includes a variable data file. The variable data file may then include page description data readable by an electronic press to print books.
In a further preferred embodiment, the variable text area is designated by a text file placeholder, and the database entries are stored in a database under a plurality of field names, such that the text file is specified by data stored under one of the plurality of field names associated with the text file placeholder.
In accordance with yet another aspect of the present invention, an apparatus is useful for generating a page file from a template file and database entries. The database entries specify variable information, while the template file includes data designating a variable text area. The inventive apparatus includes a mechanism for associating the variable text area with a text file in accordance with the database entries, and a mechanism responsive to the associating mechanism for generating the page file from the template file and the text file.
In accordance with still another aspect of the present invention, a software system is useful for generating a page file from a template file and database entries. The database entries are representative of variable information and the template file includes data designating a variable text area. The software system includes a computer-readable medium and a software program stored in the computer-readable medium. The software program, in turn, includes first, second, and third routines. The first routine associates the variable text area with a first text file wherein the text file includes a variable information placeholder, while the second routine derives a second text file from the first text file in accordance with the variable information placeholder and at least one of the database entries. The third routine then generates the page file from the template file and the second text file.
The page file preferably includes a variable data file. The variable data file may include page description data readable by an electronic press to print books having variable content.
In a preferred embodiment, the database entries are stored in a database under a plurality of field names. The first text file includes a further variable information placeholder, and the first-named and further variable information placeholders have a respective word position in the text file. The second routine preferably associates the first-named and further variable information placeholders with corresponding database field names of the plurality of database field names and develops array data representative of the respective word position of the first-named and further variable information placeholders and the corresponding database field names. The second routine may generate a file comprising the array data stored in reverse order.
In another preferred embodiment, the variable text area is designated by a text file placeholder, and the database entries are stored in a database under a plurality of field names. The text file is accordingly specified by data stored under a field name of the plurality of field names associated with the text file placeholder. The template file may include further data representative of a general text area having the variable text area therein. Further, the general text area may include a further text file placeholder.
The variable information may be representative of formatting codes for text in the modified text file.
In yet another preferred embodiment, the software program preferably includes a fourth routine that determines whether the variable information placeholder is a text file placeholder. The software program may include a routine that prompts a user to establish a location of the database. Alternatively, the database entries may also be stored in a database that includes data identifying a storage location of the text file.
In accordance with another aspect of the present invention, a method is useful for generating a page file from a template file and database entries. The database entries are representative of variable information and the template file includes data designating a variable text area. The inventive method includes the steps of associating the variable text area with a first text file wherein the text file includes a variable information placeholder, deriving a second text file from the first text file in accordance with the variable information placeholder and at least one of the database entries, and generating the page file from the template file and the second text file.
In a preferred embodiment, the inventive method further includes the step of determining whether the variable information placeholder comprises a text file placeholder. Preferably, the database entries are stored in a database under a plurality of field names. The variable information placeholder may have a word position in the text file such that the associating step includes the step of storing data representative of the word position and one of the plurality of field names.
In accordance with still another aspect of the present invention, a system for generating a page file includes first, second, and third memories. The first memory stores a template file comprising first data designating a text file placeholder, the second memory stores data representative of the variable information, and the third memory stores a plurality of text files. Each text file includes a respective plurality of variable information placeholders. The inventive system further includes a processor coupled to the first memory, second memory, and the third memory and is configured to perform a first task, a second task, and a third task. The first task associates the text file placeholder with a first text file of the plurality of text files, while the second task derives a second text file from the first text file in accordance with the data and the plurality of variable information placeholders of the first text file. The third task then generates the page file from the template file and the second text file.
In a preferred embodiment, the second memory stores third data specifying the first text file of the plurality of text files. The system preferably further includes a computer-readable medium that includes the first memory, second memory, and the third memory. At least one of the plurality of variable information placeholders may include a further text file placeholder. The second memory may store third data specifying a location of the third memory.
Other features and advantages are inherent in the system and method claimed and disclosed or will become apparent to those skilled in the art from the following detailed description in conjunction with the accompanying drawings.
The press-run step 12 will now be further described. During a step 20, one or more master and variable page files are created in, for example, a page description language (PDL) such as PostScript® (PostScript® is a trademark of Adobe Systems, Inc., for its page description language). These page files may alternatively be encoded in a page markup language, such as SGML (Standard Generalized Markup Language), HTML (HyperText Markup Language), or XML (Extensible Markup Language). Taken together, the master and variable page files represent pages to be produced. A press command file (i.e., book ticket) is also developed during the step 20 for specifying the manner in which data contained within the master and variable page files are to be merged to produce the printed pages. The format of the press command file is specified by Barco Graphics of Gent, Belgium and is particularly suited for control of a DCP-1 digital color press manufactured by Xeikon of Mortsel, Belgium. It should be noted that the system 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. Moreover, the practice of the present invention is not limited to an electronic press context, inasmuch as the teachings of the present invention may be applied to any production environment involving electronic delivery or distribution. For example, electronic display media, such as dynamic web pages, may receive the above-noted files to present content on a display device.
The master and variable page files are then converted during a step 22 by a raster image processor (RIP) into bitmaps, which may be stored in a memory and later retrieved by a collator (described hereinbelow in connection with
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® PDF format) and transmitted to a remote location using a facsimile machine, e-mail or other transmission medium, if desired. Lastly, during a finishing step 26, the assembled books are bound and trimmed and, if desired, further customization can be effected.
In the case of data representing textual variable information, such data is stored in a database or other data storage arrangement created by the publisher. The database may also include file names of image data files representing images to be printed. The particular data storage arrangement and format are not critical to the practice of the present invention and, hence, data may be provided in any fashion (e.g., in a distributed manner over a network) or in any format (e.g., in any generic markup language).
A processor 35 of the control unit 32 executes programming comprising one or more software routine stored in the memory 33 and responsive to the template file(s) generated by the personal computer 34 to control one or more demand printing systems 36. As will be described in greater detail hereinbelow, the programming is further responsive to input data files to transform the template files into the master and variable page files in a format suited for the demand printing systems 36. The press command file is preferably generated at this stage to reflect the manner in which the master and variable page files are to be processed by the demand printing systems 36. If desired, the data stored in the input data files may be obtained from any type of device or devices, such as a scanner (not shown), or the data may be provided over a network or any other source.
The control unit 32 is further responsive to control and makeready files for causing the demand printing systems 36 to print desired pages. While three demand printing systems 36a-36c are illustrated in
The pages printed by the demand printing system 36 may be supplied to a finishing apparatus 40 which includes various auxiliary production devices and device interfaces for assembling the pages to produce finished books that are ready for distribution. The finishing apparatus 40 may include one or more gathering devices 42 for gathering printed pages into books, one or more ink jet printers 44 for printing additional customized information, such as addressee information, on each book, one or more label printers 46 for printing address labels and/or other control devices 48. In addition, one or more detectors 50 may be provided to sense when a defective book is produced. The control unit 32 may be responsive to the output of the detector 50 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.
The template files 80 are first duplicated to create working files. One set of working files is stripped of all area data relating to the placement of variable information to create stripped master page files 84 having only data representative of fixed information. The stripped master page files 84 are then converted into PDL master page files 86 expressed in a page description language, such as PostScript®. An optional imposition process may then convert the PDL master page files 86 into imposed master page files 88 each representing a side of a piece of paper to be printed with one or more pages having fixed information only thereon.
A further set of working files is stripped of all data representative of fixed information to create stripped variable page files 90 having the area data defining the areas in which the variable information is located. The stripped variable page files 90, and the page files generated therefrom, are considered types of “variable data files.” A variable data file, as used herein, refers to any file having data utilized to print customized books and which includes data indicative of information other than fixed information. Such data may represent, for example, variable information, formatting information, layout and position information and the like.
The stripped variable page files 90 are then expanded into a set of intermediate page files. In this example having two pages with variable information, two intermediate page files 92, 94 are produced. The file 92 includes a first portion P1-a defining the position(s) of variable information to be produced on the first page for the first book. Two other file portions P1-b and P1-c define the position(s) of variable information to be produced on the first pages of the remaining two books. In like fashion, file portions P4-a, P4-b and P4-c of the file 94 represent the positions of variable information to be reproduced on the last page of each of the three books, respectively.
The position of variable information in the template file(s) 80, the stripped variable page file(s) 90, and the intermediate page files 92, 94 is established with one or more placeholders. Each placeholder comprises data which designates an area on the page (to be printed) as a variable information area (i.e., an area on the page in which variable information will be inserted). To this end, the placeholder is identified by a placeholder name which is associated with both the variable information area as well as a field name in the database 82.
At this point, it would be instructive to describe the structure and nature of the database 82, which may be assembled as an ASCII file or in any other format. The database 82 includes a plurality of records wherein each record includes one or more fields having respective data entries stored therein. The fields (and hence the data entries) may be delimited by tabs, while the records may be separated by line returns. The fields are arranged under field names of a header wherein each field name, in turn, is associated with a placeholder. Each record of the database 82 preferably corresponds with a particular customized book to be produced and, consequently, the fields of each record contain all of the data entries necessary to specify the variable information for the particular customized book.
It should be noted that each record may further include fields directed to control information, in which case some field names may not be associated with a particular placeholder. Such optional fields may include a field designating the number of copies for each book to be produced, a townsort image field, a version identification field (indicative of book version number if multiple book versions are to be produced), a distribution list field, control data and the like.
Each database field dedicated to variable information may have one of several different types of data entries stored therein, including a variable image file name, a variable text file name, data representative of the actual variable textual information to be incorporated into the files 92, 94, or data representative of a hyperlink to a remotely located system having data representative of further information. To distinguish file names from actual variable text, the data stored in the field is preferably indicative of whether the field contains data representative of actual variable textual information or any one of the following: a text file name, an image file name, or a hyperlink. Numerous schemes for achieving these distinctions shall be apparent to those skilled in the art. It should be noted that each data element corresponding with a file name may include additional data specifying the storage location of the file (identified by the file name) in one or more memories, such as the memory 33 (
Alternatively, one or more of the database fields may be dedicated to storing data representative of a directory path or other storage location for each of the files identified by the file names listed in a particular database record.
In another alternative embodiment, the storage location of data files is not identified via the database 82, but rather via a user interface provided to a user at the time at which processing of the template file(s) 80 is desired. In this manner, the books printed in successive jobs based on the same template file(s) 80 and the same database 82 may be completely different, inasmuch as the storage location of each data file identified by file name in the database 82 may be changed between successive jobs.
With respect to those database fields having variable text file names stored therein, one or more variable text file names may be stored in a single field. Multiple text file names are demarcated by commas or any other suitable delimiting characters.
The files 92, 94 are then converted into variable page files 96, 98. The variable page files 96, 98 are substantially similar to the files 92, 94, respectively, the difference being that the data representative of the placeholders are replaced by data representative of the variable information to be printed in the customized books. The data representative of the variable information is retrieved from variable image files 100 and variable text files 102 identified by file name in the database 82, as well as from the database 82 itself. That is, the variable information data stored in the database 82 and the collection of variable image and text files 100, 102 is incorporated into the files 92, 94 to develop the variable page files 96, 98. The files 96, 98 are converted into PDL files 104, 106 in accordance with a PDL format (e.g., PostScript®). An optional imposition process may convert the PDL files into imposed final variable page files 108.
The print system 60 operates in response to the press commands in a press command file 109 to merge the page files 86, 96, and 98 (if the pages are not imposed) or to merge the page files 88 and 108 (if the pages are imposed) to create the finished books or book versions.
The database 82, the variable image files 100, and the variable text files 102 may be generated by any number of widely available applications adapted to be executed by the personal computer 34. For example, the database 82 may be generated by a spreadsheet or database management program, while the variable image and text files 100, 102 may be generated utilizing a word processing program having graphics capabilities. Once generated, the database 82 and the variable image and text files 100, 102 may be stored in the memory 33 of the control unit 32 or in any computer-readable storage medium accessible thereby. Those skilled in the art will appreciate that the database 82 and the variable image and text files 100, 102 need not be stored in the same location, and may, in fact, be stored in various media in a distributed fashion. The specific location and manner in which the database 82 and the variable image and text files 100, 102 are stored is not critical to practice of the present invention and, thus, any memory architecture or number of memories could be used.
The details of the programming associated with creating the template file 80 may be found in U.S. Pat. No. 5,963,968, the disclosure of which is hereby incorporated by reference. In summary, a user of the personal computer 34 utilizes the functionality provided by the modified page makeup program to select image, text, or line objects for placement on the page 110. These objects may incorporate fixed information, such as a fixed image in a header area 112 and fixed text in areas 114 and 116. The image and text objects are also utilized to designate an area of a page for reproduction of variable information. For example, after an image object is selected, a box 118 is defined by the user to specify an image location on the page 110. Defining the box 118 may be accomplished by first selecting the image object with a pointer, moving the pointer to a position on the page 110 to select the position by a mouse click or otherwise, and then sizing the box 118 by moving the pointer to another position. The user then designates the box 118 as a variable information area (via a task bar command or otherwise), which results in a reference image (e.g., a uniform background color) being placed into the box 118. The reference image may comprise any image, inasmuch as it merely signifies that the box 118 has been designated as a variable information area. The user is then provided (via a dialog window or otherwise) with an opportunity to designate a placeholder name for a variable image placeholder <xauto> for the box 118. The placeholder name preferably corresponds with the database field name to be associated with the variable image placeholder. Alternatively, the field name and the placeholder are associated by the user. In either case, data indicative of the database field name is stored in the template file, together with data indicative of the position of the object on the page 110.
Following the foregoing steps, other processing of the variable image box 118 may then be performed. For instance, the user may select a display format such as “fit-to-box” or the like, and proceed with any formatting necessitated thereby.
The creation of a general text box 122 on the page 110 will now be described, the text box 122 being “general” in the sense that it may include both fixed and variable information. After a pointer is used to select a text object, the text box 122 on the page 110 is defined using the pointer to select a position on the page 110 from which the pointer is moved (i.e., dragged) to size the text box 122 at the desired location. Variable and/or fixed text information may then be placed into the box 122 using the pointer to select the box 122 as well as particular cursor positions within the box 122. For example, as seen in
Placeholder names may not be demarcated, but rather highlighted via formatting or distinguished from fixed text by matching the name to a list of placeholders stored in connection with the page 110. In this regard, it is helpful to identify placeholders with names that would not be typically used in the fixed text portions of the page 110 (e.g., xtype).
As used herein, a variable information placeholder refers to any placeholder associated directly or indirectly with variable information. Furthermore, a variable information placeholder may be associated with variable information in the form of a database entry, a file, or any other collection of information without regard to the actual location or structure of the variable information.
As further described hereinafter, the variable information placeholder xtype in the text box 122 designates a variable text area within the text box 122. Data representative of the position of the variable text area is stored in the template file 80 together with data representative of the name of the placeholder designating the variable text area. The position of each variable text area, however, is often a relative position on the page to be printed, in the sense that the final position of the variable text area on the printed page may be determined by the text incorporated into other placeholders in the same text box.
With continued reference to
Each variable text file 102 generally comprises data representative of textual and/or formatting information, as well as variable information placeholders. For example, the text file placeholder <xstory1> may be associated with a database field name varstory1. The data stored in the database 82 under this field name may be representative of one or more names of variable text files 102, such as carsearch and carsale. The data stored in these variable text files 102, in turn, may be representative of the following textual information and variable information placeholders:
carsearch
I realize that you are beginning a search for a new <xtype>. What an exciting time! I am interested in helping, so why don't you stop by and see if I can get you behind the wheel of a brand, new <carfont> <xyourcar>.
carsale
I realize that in the next few days you will be purchasing a new <xtype>. What an exciting time! I am interested in helping, so why don't you stop by to test drive the brand, new <carfont> <xyourcar>.
The general text box 124 may include any number of text file placeholders to designate any number of variable text areas therein. Accordingly, the position of any text file placeholder is associated with, but should be distinguished from, the final position of the variable text areas on the page. In the above example, the position of the variable text associated with the second text file placeholder <xstory2> will depend upon the nature of the information associated with the text file placeholder <xstory1>. As a result, the position of any particular variable text area on the page may be a function of (i.e., related to) the placement and position of other information on the printed page.
Alternatively, the general text box 124 may include a single text file placeholder that refers to a database entry that calls (i.e., identifies) multiple variable text files 102 for a page to be printed.
In the foregoing carsearch example of a variable text file 102, the data stored therein includes a variable information placeholder <carfont> that may be associated with database entries having formatting codes and related information such as a font name and the like. In this manner, the information stored in the database 82 may constitute control information in the interest of varying the appearance of text provided within the variable information area 124.
Continuing with the example of
bobend
Sincerely, Bob
P.S. Go Wildcats!
timend
Yours truly,
Tim
P.S. It was a pleasure meeting you.
Preferably, the names of the text file placeholders signify that the variable textual information will be provided via one of the variable text files 102. For instance, in the example above, each text file placeholder name contains the text string “story” for that purpose. If the placeholders are consistent in such a manner, the placeholders can be easily identified without relying on demarcating punctuation.
Each of the above-described objects on the page 110 may then be modified via formatting commands and the like. That is, at any point during the page makeup process, other functional aspects of the QuarkXPress® software may be invoked as necessary to produce finished pages.
Once the user determines that no more objects are to be added, the resulting template file(s) 80 are stored in a memory or other storage medium as set forth hereinabove. Eventually, the template file(s) 80, the database 82, the variable image files 100, and the variable text files 102 are preferably downloaded or otherwise transferred to the control unit 32 for processing in accordance with programming executed by the processor 35 of the control unit 32. However, the creation of the files and/or the processing according to the software routine may be accomplished in a distributed manner, such as via an Internet, intranet, or other network. In any event, the programming includes one or more routines for generating the master page files 86, 88, the variable page files 92, 94, 96, 98, and the press command file 109 from the files 80, 82, 100, and 102.
The programming is set forth in detail in
Next, a block 158 generates the stripped master page files 84 from the template file 80 in accordance with the programming set forth in the above-referenced U.S. patent. Briefly, the block 158 first checks the name of each image on each page against the field name list to determine whether the image is a variable image, in which case the image is deleted. If the image name is not on the field name list, then the image is not deleted. Once all of the images have been evaluated, the block 158 parses and evaluates each text box on each page to determine whether the text box includes any placeholders for variable text. The field name list is once again consulted to determine whether the text box includes either a variable information placeholder or a text file placeholder. If the text box contains either of such placeholders, the text box is deleted by the block 158. If neither placeholder type is found, the text box is not deleted. Upon completing the processing for all objects on each of the pages, a block 160 converts the stripped master page file into a PDL master page file. The block 160 also generates a processing file (e.g., *.INI file) in accordance with the teachings of the above-referenced U.S. patent. Each processing file establishes printing parameters, such as page size, cut sheet size, offset, orientation, output file, copy count, and other information related to the printing of the PDL master page file.
Following the block 160, a block 162 then reopens the same template file originally opened by the block 150 to begin the process of creating the stripped variable page file(s) 90 of
After all the pages have been processed and the stripped variable page file(s) have been created, a block 170 creates a working copy of the stripped variable page file(s) 90. A first page having variable information thereon is selected, and data representing the remainder of the working copy of the file 90 is then deleted by a block 174. Following the block 174, a block 176 selects a first record in the database 82 and a block 178 reads the record. An optional block 180 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 system 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 may have different fixed and/or variable information. The fixed and/or variable information may vary in terms of content and/or appearance (i.e., style, location, rotation, position, etc.) in different versions.
If the block 180 finds that selective page processing is to be undertaken, then a block 182 determines whether the database record read by the block 178 is utilized on the page currently under consideration. If this is not the case, a block 184 checks to determine whether the record currently under consideration is the last in the database. If so, control passes to a block 232 of
If the block 180 determines that selective page processing is not to be undertaken, or if the block 182 determines that the record read by the block 178 is used in the page currently under consideration, a block 188 duplicates the data representing the page remaining after execution by the block 174 to initiate development of one of the files 92 or 94. In the first pass through the program of
Once a placeholder is selected, a block 198 determines whether the placeholder is a text file placeholder by determining whether a predetermined string is recited in the placeholder name. Other schemes for distinguishing between placeholder types, such as those based on certain punctuation or other demarcating parameters, may be used as should be evident to those skilled in the art. If the placeholder is not a text file placeholder, control passes to a block 200, which inserts variable text data stored in the database 82 for the current record into the variable text area designated by the variable information placeholder in the text box. Once the variable text data has been inserted into the text box, the block 200 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® program as the variable text is inserted into each text box. Alternatively, the recomposition process may be performed once it is determined that all variable text has been inserted into the text box.
If the block 198 determines that the placeholder is a text file placeholder, the current database record is accessed to determine which text file should be associated with the text file placeholder, as well as to process the text file accordingly in the event that the text file contains one or more placeholders embedded therein. Initially, a block 202 accesses a list stored in run-time or other memory (such as the memory 33) to determine whether the text file identified by the associated field of the current record has been processed previously. The list may include data representative of an identification of each such file or an identification of a related file associated therewith, as will be explained further hereinbelow.
If the text file has not been processed previously, control passes to a block 204 (
Instead of relying upon a run-time list as described above, the block 202 may initiate a search of the run-time or other memory to determine whether the associations file exists, which is indicative of whether the text file has been processed previously.
Once the associations file is either generated or opened, a block 210 (
Upon completing the processing for a particular variable text area, a block 226 checks the text box currently being considered to determine whether any further placeholders remain therein. If another placeholder remains, control returns to the block 198 (
Once all pages have been processed, control passes to a block 240 that generates a press command file 109 (if necessary) in accordance with the teachings of the above-referenced U.S. patent. The resulting press command file 109 contains a sequence of press commands that cause printing of pages in a desired order. An optional imposition system may then be performed by a block 242, which modifies the press command file 109 and page files, as set forth in the above-referenced U.S. patent. Lastly, a block 244 converts the variable page files 96, 98 or the imposed variable page files 104, 106 into bitmap format. In accordance with the print system 60 of
Nested Variable Text File Processing
Each variable text file may include any type of variable information placeholder, including any number of text file placeholders. That is, a variable text file may include one or more placeholders that result in nested variable text files. Accordingly, the programming associated with the processing of each variable information placeholder preferably incorporates a recursive algorithm that provides for such nested variable text files.
The processing of nested variable text files will now be described in connection with the template page 110 of
In an exemplary embodiment, after the associations file is either generated or opened, and the first placeholder in the variable text file is selected by the block 212 (
In an alternative embodiment, the associations file generated for each variable text file may include data indicative of whether the placeholder is a text file placeholder, as described hereinafter.
Associations File Generation
Following the block 252, the text file referenced in the database 82 is opened, read into a memory, and parsed by a block 254. Next, blocks 256 and 258 initialize a two-dimensional array and a variable wordcounter in memory, respectively, with the variable wordcounter being preferably initially set to 1. The first word of the referenced text file is then selected by a block 260, and a block 262 determines whether the word is a placeholder. This determination may be made in a variety of ways, and may involve a predetermined demarcation as set forth hereinabove (e.g., < . . . >), a search for particular punctuation, and the like. At this time, a determination may also be made as to which type of placeholder has been encountered in the event that nested variable text files are a possibility.
If the word is a variable information placeholder, control passes to a block 264, which accesses the database 82 to retrieve the database column number associated with the field name identified by (or otherwise associated with) the placeholder. A block 266 then writes the current value of the variable wordcounter and the database column number into the two-dimensional array. In one embodiment, if the word is a text file placeholder, the block 266 may also enter some character or code indicative of a text file placeholder. If the word is not a placeholder, or once the values (and/or codes) are written into the array, a block 268 increments the variable wordcounter by 1. A block 270 then checks the text file to determine whether the current word is the last word, and passes control to a block 272 for selection of the next word in the event that the end of the text file has not yet been reached. Otherwise, the text file has been completely analyzed and, accordingly, the array comprises a list of all of the variable information placeholders in the text file, together with an indication of the database field name with which they are associated. As noted above, the array may also comprise other control codes.
Once the array is complete, the information stored therein is provided to the empty associations file. To this end, a block 274 selects the last line in the array, and a block 276 writes the line into the associations file. Thereafter, a block 278 determines whether the entire array has been processed. If the current line is the first line of the array, then control passes to a block 280, which saves the associations file in accordance with the file name established by the block 252. To complete the routine, a block 282 then closes the associations file. If the first line of the array has yet to be reached, control passes to a block 284 for selection of the previous line of the array, and further processing in accordance with the block 276.
The above-described programming results in an associations file that contains database association data for each placeholder in the text file in reversed order. The reversed order of the association data, in turn, causes the programming relying upon each associations file to process the variable text file starting with the end thereof. In this manner, the word count in the variable text file is not altered each time variable information is incorporated therein and, consequently, the text file is correctly modified by the variable information.
In an alternative embodiment, a variable text file 102 may include variable information placeholders for the insertion of one or more images therein. The particular image to be inserted is identified via the same processing described above in connection with the template files 80. Because the image would be inserted into a variable text area, such an embodiment may include programming steps directed to automatic reflow of the text within the variable text area. Such automatic reflow capability is, in fact, provided via the aforementioned QuarkXPress® software. In the event that a system utilizing the present invention does not include such actions, the embodiment may include “fall-back” programming that provides an optional presentation of information in lieu of the variable image. Such information could include a textual message regarding the error or failure, a textual description of the image or action, or a hyperlink (or hyperlink information) related to the image or action.
It should be noted that the above-described text files and templates may include data representative of a hyperlink to an audio, video, or other file. Such hyperlink data may, in fact, be representative of the textual information identifying the hyperlink, or instead be indicative of the textual information as well as the data necessary to establish the hyperlink to the remotely located data.
It should be noted that a placeholder may be represented by any type of data in any format, and should not be limited to any particular type of character notation, symbol, or coding. Furthermore, a placeholder need not be referenced by a placeholder name, and alternative schemes for identifying and/or referring to placeholders may be utilized.
As used herein, the term “text file” shall be understood to refer to any discrete storage or collection of data representative of textual (i.e., non-image) information outside of any template file or database. As a result, a text file shall be understood to include textual data that has not been formally saved as a file, but may be collectively provided in any manner to the control unit 32 for processing in accordance with the present invention. Furthermore, a text file is not limited to any particular file format, but more generally may comprise any type of representation of textual information. Still further, a “file”, as used herein, should be understood to include any collection, grouping, or assembly of data regardless of whether the data is stored in a local, remote, or distributed manner.
It should be understood that the above-described programming is not limited to any particular software implementation, and, accordingly, may be embodied in hardware, firmware, or any other computer-readable medium. In the event that the programming is implemented in software, however, it may be stored in any form on any computer-readable medium. A computer-readable medium, in turn, includes any medium (or number of media) capable of being accessed by a computer, regardless of whether the medium is localized, remotely located, or distributed (i.e., via a network, Internet or intranet) in nature.
A memory, as used herein, shall be understood to include any number of computer-readable storage media capable of storing data, whether volatile or nonvolatile, including but not limited to ROM, RAM, EPROMs, or any magnetic or optical media such as portable and fixed disks.
The foregoing detailed description has been given for clearness of understanding only, and no unnecessary limitations should be understood therefrom, as modifications would be obvious to those skilled in the art.
Number | Name | Date | Kind |
---|---|---|---|
2761789 | Locher et al. | Sep 1956 | A |
3549055 | Gatland | Dec 1970 | A |
3582621 | Lawler | Jun 1971 | A |
3608888 | McCain | Sep 1971 | A |
3774758 | Sternberg | Nov 1973 | A |
3774901 | McCain et al. | Nov 1973 | A |
3809385 | Rana | May 1974 | A |
3819173 | Anderson et al. | Jun 1974 | A |
3872460 | Fredrickson et al. | Mar 1975 | A |
3891492 | Watson | Jun 1975 | A |
3892427 | Kraynak et al. | Jul 1975 | A |
3899165 | Abram et al. | Aug 1975 | A |
3932744 | Anderson | Jan 1976 | A |
3953017 | Wise | Apr 1976 | A |
3982744 | Kraynak et al. | Sep 1976 | A |
4022455 | Newsome et al. | May 1977 | A |
4085455 | Okumura | Apr 1978 | A |
4095780 | Gasper et al. | Jun 1978 | A |
4117975 | Gunn | Oct 1978 | A |
4121818 | Riley et al. | Oct 1978 | A |
4168776 | Hoeber | Sep 1979 | A |
4168828 | McLear | Sep 1979 | A |
4247008 | Dobbs | Jan 1981 | A |
4338768 | Ballestrazzi et al. | Jul 1982 | A |
4345276 | Colomb | Aug 1982 | A |
4346446 | Erbstein et al. | Aug 1982 | A |
4395031 | Gruber et al. | Jul 1983 | A |
4413724 | Fellner | Nov 1983 | A |
4417322 | Berry et al. | Nov 1983 | A |
4417630 | Weber et al. | Nov 1983 | A |
4426072 | Cole et al. | Jan 1984 | A |
4441829 | Hebert, Jr. et al. | Apr 1984 | A |
4445795 | Levine et al. | May 1984 | A |
4482142 | McCain et al. | Nov 1984 | A |
4483526 | Bulka et al. | Nov 1984 | A |
4484733 | Loos et al. | Nov 1984 | A |
4495582 | Dessert et al. | Jan 1985 | A |
4499545 | Daniels et al. | Feb 1985 | A |
4500083 | Wong | Feb 1985 | A |
4516209 | Scribner | May 1985 | A |
4517637 | Cassell | May 1985 | A |
4519598 | McCain et al. | May 1985 | A |
4520454 | Dufour et al. | May 1985 | A |
4536176 | Gaspar | Aug 1985 | A |
4537342 | McCain et al. | Aug 1985 | A |
4552349 | Loos et al. | Nov 1985 | A |
4554044 | Gaspar et al. | Nov 1985 | A |
4556595 | Ochi | Dec 1985 | A |
4567988 | Weibel | Feb 1986 | A |
4601003 | Yoneyama et al. | Jul 1986 | A |
4601394 | Hutner | Jul 1986 | A |
4616327 | Rosewarne et al. | Oct 1986 | A |
4639873 | Baggarly et al. | Jan 1987 | A |
4665555 | Alker et al. | May 1987 | A |
4672462 | Yamada | Jun 1987 | A |
4674052 | Wong et al. | Jun 1987 | A |
4677571 | Riseman et al. | Jun 1987 | A |
4710886 | Heath | Dec 1987 | A |
4718784 | Drisko | Jan 1988 | A |
4723209 | Hernandez et al. | Feb 1988 | A |
4727402 | Smith | Feb 1988 | A |
4729037 | Doelves | Mar 1988 | A |
4734865 | Scullion et al. | Mar 1988 | A |
RE32690 | Wong | Jun 1988 | E |
4768766 | Berger et al. | Sep 1988 | A |
4789147 | Berger et al. | Dec 1988 | A |
4800505 | Axelrod et al. | Jan 1989 | A |
4800506 | Axelrod et al. | Jan 1989 | A |
4800510 | Vinberg et al. | Jan 1989 | A |
4827315 | Woldberg et al. | May 1989 | A |
4866628 | Natarajan | Sep 1989 | A |
4900001 | Lapeyre | Feb 1990 | A |
4903139 | Minter | Feb 1990 | A |
4908768 | Gelfer et al. | Mar 1990 | A |
4910612 | Yamazaki | Mar 1990 | A |
4928243 | Hodges et al. | May 1990 | A |
4928252 | Gabbe et al. | May 1990 | A |
4930077 | Fan | May 1990 | A |
4933880 | Borgendale et al. | Jun 1990 | A |
4937761 | Hassett | Jun 1990 | A |
4948109 | Petersen | Aug 1990 | A |
4949272 | Vanourek et al. | Aug 1990 | A |
4953105 | Hirata et al. | Aug 1990 | A |
4968993 | Wolfberg et al. | Nov 1990 | A |
4984948 | Lindsay et al. | Jan 1991 | A |
5001500 | Wolfberg et al. | Mar 1991 | A |
5005124 | Connell et al. | Apr 1991 | A |
5021975 | Yamanashi | Jun 1991 | A |
5025396 | Parks et al. | Jun 1991 | A |
5027279 | Gottlieb et al. | Jun 1991 | A |
5028192 | Lindsay et al. | Jul 1991 | A |
5031891 | Kobler et al. | Jul 1991 | A |
5033009 | Dubnoff | Jul 1991 | A |
5039075 | Mayer | Aug 1991 | A |
5043749 | Punater et al. | Aug 1991 | A |
5053955 | Peach et al. | Oct 1991 | A |
5054984 | Chan et al. | Oct 1991 | A |
5056767 | Emigh et al. | Oct 1991 | A |
5060165 | Schumacher et al. | Oct 1991 | A |
5067024 | Anzai | Nov 1991 | A |
5068797 | Sansone et al. | Nov 1991 | A |
5072397 | Barns-Slavin et al. | Dec 1991 | A |
5072401 | Sansone et al. | Dec 1991 | A |
5077694 | Sansone et al. | Dec 1991 | A |
5085470 | Peach et al. | Feb 1992 | A |
5098076 | Kelsey | Mar 1992 | A |
5102110 | Reynolds | Apr 1992 | A |
5103490 | McMillin | Apr 1992 | A |
5105283 | Forest et al. | Apr 1992 | A |
5112179 | Chan et al. | May 1992 | A |
5114128 | Harris, Jr et al. | May 1992 | A |
5114291 | Hefty | May 1992 | A |
5119306 | Metelits et al. | Jun 1992 | A |
5133051 | Handley | Jul 1992 | A |
5134669 | Keogh et al. | Jul 1992 | A |
5136316 | Punater et al. | Aug 1992 | A |
5142482 | Sansone | Aug 1992 | A |
5142618 | Fujiwara et al. | Aug 1992 | A |
5142667 | Dimperio et al. | Aug 1992 | A |
5143362 | Doane et al. | Sep 1992 | A |
5144562 | Stikkelorum et al. | Sep 1992 | A |
5157765 | Birk et al. | Oct 1992 | A |
5175679 | Allen et al. | Dec 1992 | A |
5177877 | Duchesne et al. | Jan 1993 | A |
5178063 | Wolfberg et al. | Jan 1993 | A |
5194899 | Buchanan | Mar 1993 | A |
5200903 | Gilham | Apr 1993 | A |
5202206 | Tam | Apr 1993 | A |
5210824 | Putz et al. | May 1993 | A |
5220420 | Hoarty et al. | Jun 1993 | A |
5220674 | Morgan et al. | Jun 1993 | A |
5220770 | Szewczyk et al. | Jun 1993 | A |
5229932 | Connell et al. | Jul 1993 | A |
5238345 | D'Andrea | Aug 1993 | A |
5245701 | Matsumoto | Sep 1993 | A |
5257196 | Sansone | Oct 1993 | A |
5267155 | Buchanan et al. | Nov 1993 | A |
5267821 | Bodart et al. | Dec 1993 | A |
5271065 | Rourke et al. | Dec 1993 | A |
5274567 | Kallin et al. | Dec 1993 | A |
5274757 | Miyoshi et al. | Dec 1993 | A |
5280895 | Meier | Jan 1994 | A |
5287976 | Mayer et al. | Feb 1994 | A |
5289569 | Taniguchi | Feb 1994 | A |
5291243 | Heckman et al. | Mar 1994 | A |
5293310 | Carroll et al. | Mar 1994 | A |
5295236 | Bjorge et al. | Mar 1994 | A |
5299310 | Motoyama | Mar 1994 | A |
5301036 | Barrett et al. | Apr 1994 | A |
5303334 | Snyder et al. | Apr 1994 | A |
5313564 | Kafri et al. | May 1994 | A |
5313578 | Handorf | May 1994 | A |
5319745 | Vinsonneau et al. | Jun 1994 | A |
5321604 | Peach et al. | Jun 1994 | A |
5326209 | Duke | Jul 1994 | A |
5333246 | Nagasaka | Jul 1994 | A |
5337246 | Carroll et al. | Aug 1994 | A |
5337258 | Dennis | Aug 1994 | A |
5346196 | Nussbaum et al. | Sep 1994 | A |
5349648 | Handley | Sep 1994 | A |
5353222 | Takise et al. | Oct 1994 | A |
5353388 | Motoyama | Oct 1994 | A |
5359423 | Loce | Oct 1994 | A |
5359432 | Peltzer et al. | Oct 1994 | A |
5377120 | Humes et al. | Dec 1994 | A |
5379368 | Imai et al. | Jan 1995 | A |
5379373 | Hayashi et al. | Jan 1995 | A |
5381523 | Hayashi | Jan 1995 | A |
5383129 | Farrell | Jan 1995 | A |
5384886 | Rourke | Jan 1995 | A |
5390354 | De Heus et al. | Feb 1995 | A |
5396321 | McFarland et al. | Mar 1995 | A |
5398289 | Rourke et al. | Mar 1995 | A |
5400263 | Rohrbaugh et al. | Mar 1995 | A |
5412566 | Sawa | May 1995 | A |
5414809 | Hogan et al. | May 1995 | A |
5419541 | Stevens | May 1995 | A |
5422992 | Motoyama et al. | Jun 1995 | A |
5442561 | Yoshizawa et al. | Aug 1995 | A |
5442737 | Smith | Aug 1995 | A |
5444630 | Dlugos | Aug 1995 | A |
5446653 | Miller et al. | Aug 1995 | A |
5446667 | Oh et al. | Aug 1995 | A |
5455945 | Vanderdrift | Oct 1995 | A |
5459819 | Watkins et al. | Oct 1995 | A |
5459826 | Archibald | Oct 1995 | A |
5461708 | Kahn | Oct 1995 | A |
5465213 | Ross | Nov 1995 | A |
5473741 | Neufelder | Dec 1995 | A |
5483624 | Christopher et al. | Jan 1996 | A |
5493490 | Johnson | Feb 1996 | A |
5500928 | Cook et al. | Mar 1996 | A |
5502636 | Clarke | Mar 1996 | A |
5502804 | Butterfield et al. | Mar 1996 | A |
5505697 | McKinnon, Jr. et al. | Apr 1996 | A |
5506697 | Li et al. | Apr 1996 | A |
5517605 | Wolf | May 1996 | A |
5519624 | Hidding | May 1996 | A |
5523942 | Tyler et al. | Jun 1996 | A |
5530852 | Meske, Jr. et al. | Jun 1996 | A |
5535677 | Fannin et al. | Jul 1996 | A |
5544287 | Roth | Aug 1996 | A |
5546517 | Marks et al. | Aug 1996 | A |
5550928 | Lu et al. | Aug 1996 | A |
5552994 | Cannon et al. | Sep 1996 | A |
5553212 | Eton et al. | Sep 1996 | A |
5553258 | Godiwala et al. | Sep 1996 | A |
5555094 | Lefebvre et al. | Sep 1996 | A |
5557722 | DeRose et al. | Sep 1996 | A |
5563999 | Yaksich et al. | Oct 1996 | A |
5587799 | Kawamura et al. | Dec 1996 | A |
5592683 | Chen et al. | Jan 1997 | A |
5594860 | Gauthier | Jan 1997 | A |
5594910 | Filepp et al. | Jan 1997 | A |
5611024 | Campbell et al. | Mar 1997 | A |
5625766 | Kauffman | Apr 1997 | A |
5628004 | Gorinley et al. | May 1997 | A |
5630028 | DeMeo | May 1997 | A |
5634091 | Sands et al. | May 1997 | A |
5644776 | DeRose et al. | Jul 1997 | A |
5649186 | Ferguson | Jul 1997 | A |
5669005 | Curbow et al. | Sep 1997 | A |
5671345 | Lhotak | Sep 1997 | A |
5689718 | Sakurai et al. | Nov 1997 | A |
5708825 | Sotomayor | Jan 1998 | A |
5708826 | Ikeda et al. | Jan 1998 | A |
5708828 | Coleman | Jan 1998 | A |
5710635 | Webster et al. | Jan 1998 | A |
5729665 | Gauthier | Mar 1998 | A |
5745121 | Politis | Apr 1998 | A |
5745360 | Leone et al. | Apr 1998 | A |
5745908 | Anderson et al. | Apr 1998 | A |
5748484 | Cannon et al. | May 1998 | A |
5754750 | Butterfield et al. | May 1998 | A |
5754766 | Shaw et al. | May 1998 | A |
5758361 | Van Hoff | May 1998 | A |
5761656 | Ben-Shachar | Jun 1998 | A |
5774635 | Kumsisto et al. | Jun 1998 | A |
5781914 | Stork et al. | Jul 1998 | A |
5794259 | Kikinis | Aug 1998 | A |
5809218 | Kastenholz et al. | Sep 1998 | A |
5819301 | Rowe et al. | Oct 1998 | A |
5832531 | Ayers | Nov 1998 | A |
5845299 | Arora et al. | Dec 1998 | A |
5872640 | Cohen et al. | Feb 1999 | A |
5890175 | Wong et al. | Mar 1999 | A |
5900003 | Ben Dror | May 1999 | A |
5907836 | Sumita et al. | May 1999 | A |
5924092 | Johnson | Jul 1999 | A |
5924109 | Ackerman et al. | Jul 1999 | A |
5937153 | Gauthier | Aug 1999 | A |
5960164 | Dorfman et al. | Sep 1999 | A |
5963968 | Warmus et al. | Oct 1999 | A |
5983243 | Heiney et al. | Nov 1999 | A |
5987461 | Dreyer et al. | Nov 1999 | A |
6026433 | D'Arlach et al. | Feb 2000 | A |
6064397 | Herregods et al. | May 2000 | A |
6078403 | Palmer | Jun 2000 | A |
6151603 | Wolfe | Nov 2000 | A |
6199070 | Polo-Wood et al. | Mar 2001 | B1 |
6336124 | Alam et al. | Jan 2002 | B1 |
6442576 | Edelman et al. | Aug 2002 | B1 |
Number | Date | Country |
---|---|---|
2215094 | Apr 1998 | CA |
2207840 | Dec 1998 | CA |
69401435 | Feb 1997 | DE |
0 119 720 | Sep 1984 | EP |
0 602 547 | Jun 1994 | EP |
0 703 524 | Mar 1996 | EP |
0 703 524 | Jan 1997 | EP |
0 837 401 | Apr 1998 | EP |
8115178 | May 1996 | JP |
11238053 | Aug 1999 | JP |
WO8604703 | Aug 1986 | WO |
WO 95 07510 | Mar 1995 | WO |
WO95 07510 | Mar 1995 | WO |
WO 9622573 | Jul 1996 | WO |
WO 9718513 | May 1997 | WO |
WO 9718514 | May 1997 | WO |
WO 9963452 | Dec 1999 | WO |