System and method for automated closed-loop production of customized books
A page description file that is used for producing a printed publication is processed to generate data that comprise a database regarding a product. The data are used to produce a document from the database and, in response to producing the document, an order is generated.
This application is a continuation of U.S. patent application Ser. No. 09/388,101, filed Sep. 1, 1999.
FIELD OF THE INVENTIONThe present invention relates generally to document production methods and systems, and more particularly to a method of and system for production of documents from a database.
BACKGROUND OF THE INVENTIONPrinted documents are often assembled into books, such as catalogs, brochures, manuals, and the like. Such documents may have diverse content including text, images, and line art positioned in a myriad of ways. Through the use of page make-up software, each page of a book may be designed to include such content using a computer. In the specific example of printed catalogs, the page make-up software is used to design the pages of the catalog such that the pages include, for example, product names, descriptions, images, and prices.
The design of a catalog (or any other type of book) often begins with the creation or development of content, which includes both textual data and image portions. Traditional preliminary prepress steps, such as color correction, undercolor removal, and screening, may then be performed to prepare the content for incorporation into a page description file, such as a QuarkXPress® file. For a catalog, the page description file may contain detailed information for each of a number of products spread over one or more pages. In addition to this content-related information, the page description files usually contain further information directed to the layout of each page, i.e., formatting and other control data. Taken together, the content information and control information are supplied to a raster image processor or other apparatus responsive to page description files for processing in connection with either a computer-to-plate or digital press workflow.
Generation of these page description files has typically been a labor-intensive process. A publisher or other layout designer can spend a great deal of time manually gathering, preparing, and formatting the content for a single book despite the efficiencies provided by the page make-up software. Even if the majority of the content of a book has been incorporated into a previously published book, extensive time may still be devoted to page layout and other formatting issues.
The time available for layout design and related processing is particularly limited for certain types of catalogs. Seasonal clothing catalogs, for example, are typically printed and distributed several times each year, often with clearance catalogs interspersed between the seasonal versions. However, the marketing of clearance items through special editions of a catalog usually depends upon timely inventory determinations. In these situations, the layout designer may proceed through the laborious process of developing the page description file(s) for the clearance catalog, only to find out that the inventory has changed dramatically in the interim (e.g., some products have sold out). Clearance catalogs designed and processed in current production workflows are, thus, routinely outdated because of the finite amount of time needed to generate the page description files and the ongoing sales during such time. Such outdated catalogs have often been forced to rely on red-lining or other undesirable modifications to accurately indicate which products or items are no longer available.
SUMMARY OF THE INVENTIONIn accordance with one aspect of the present invention, a method uses a page description file to generate data that comprise a database regarding a product for which orders are generated. The page description file, which is used to produce a printed publication, is processed to generate the data and the data are used to produce a document from the database. An order for the product is generated in response to producing the document.
According to another aspect of the present invention, a software system for generating data that comprise a database from a page description file, wherein the page description file is used for producing a printed publication, includes a computer-readable medium that has a software program stored therein. The software program includes a first routine that processes the page description file to generate the data regarding a product, a second routine that uses the data to produce a document, and a third routine that accepts an order for the product in response to producing the document.
The present invention is described below with reference first to the conversion of the contents of QuarkXPress® print-ready documents into one or more Microsoft Excel® database tables and image(s) converted into a web-ready (i.e., Internet) format using Adobe Photoshop®. The contents of the database tables can then be converted to a web format and the resulting text coding and web-ready image(s) can then be formatted by a display program known as Marketplace (Version 2) licensed by Multimedia Live of Petaluma, Calif., to dynamically generate web pages for display by a server (not shown) on the Internet (
In accordance with the present invention, the database tables and images utilized to develop the web pages may be utilized as part of a closed-loop production workflow in which the database tables and images are utilized to develop page description files for production of customized pages in any target or output medium, such as a computer monitor, ink or toner on paper, dye in film, and the like. Also, while the present invention is described in the context of converting and processing the pages of a print-ready catalog, it should be understood that other printed matter may instead be processed by the present invention.
According to the workflow described herein, once copies of the catalog are distributed (whether via hardcopy, electronically or otherwise), orders for items presented in the catalog are processed that modify the inventory of products presented in the catalog. The system and method of the present invention may utilize data indicative of this modified inventory and any other information relating to the processed orders to facilitate the generation of further catalogs having customized content. In this manner, the system and method of the present invention provide a user with a closed-loop workflow for producing printed (or otherwise distributed) matter having content that changes as a result of sales originating from the distribution of previous catalogs.
Initially, one or more page make-up files (also referred to as layout files) are created using a computer system running a page make-up (or layout) program, such as QuarkXpress®. The computer system may be like that shown in
The text portions of the page layout file are untagged and unstructured, i.e., they are not stored as separate character strings based on the contents thereof but rather as a single group of characters. Thus, while the text “Sugar Crunch” is the name of one of the catalog items, “B-54031” is the item number and “$2.95” is the price for 30 seeds, all of this text is stored as one complete group of characters in the page layout file, with embedded characters indicating special symbols, fractions, end-of-line, etc. . . . . Furthermore, these text items are stored in the page layout file without relational linking among the text items, e.g., the price string for “Sugar Crunch” is not relationally linked to the item number string even though they both relate to the same catalog item or object.
An automated conversion process converts the text portions of the page layout file into a database and converts the image(s) into a proper format for generation of web pages or another type of visual display. A main dialog box for the conversion program is shown in
With reference to the generalized flow diagram of
After the block 36, a block 38 runs an image conversion program which converts any image(s) into a format suitable for display.
Though the process steps of
A detailed flow diagram of the programming executed by the block 30 of
A detailed view of the SKU table is shown in
The alternative image table is used to track “detail images.” A detail image is an image derived from the high resolution image of an object. For example, a detail image may be a cropped and enlarged portion of a high resolution image.
Referring again to
A block 90 displays a dialog box (not shown) prompting the user to select opening of either an existing or a new name translation file. If the user selects that an existing file is to be opened, which would be done to continue inputting image names from a previously saved catalog conversion, a block 92 displays a dialog box (also not shown) which presents all existing file names for selection by the user. Once the user indicates selection of a particular file, a block 94 opens the selected file and determines the next empty row in the table. Control then passes to the block 34 of
The block 34 of
TABLE 1 includes a variable C identifying a number of possible main categories, a variable S identifying a number of possible sub-categories and a variable D identifying a number of possible detail categories. The fourth column of TABLE 1 contains a string STR identifying the name or title of the corresponding categorization. For example, the first entry in the table includes the string “Lawn & Garden.” Because this entry has a zero value for the sub-category variable S and the detail variable D, this string is a main category title. Similarly, “Toys & Games” is a main category title, as indicated by the stored values of C=2, S=0, and D=0. There are two sub-categories under the “Lawn & Garden” main category identified as “Flowers” and “Vegetables,” as indicated by the zero value for the variable D. Under the “Flowers” sub-category, there are numerous detail categories, such as “Geraniums,” “Marigolds,” “Sunflowers,” “Pansies” and “Phlox.” Detail categories such as “Tomatoes,” “Squash,” “Beans” and “Cucumbers” are arranged under the “Vegetables” sub-category (which, in this case, results in an incorrect categorization because tomatoes are a fruit and beans are legumes). The category file contains as many main categories, sub-categories and detail categories as are desired by the user or called for by the design of the web pages. Preferably, there are at least enough categories to adequately describe all of the objects in the print-ready file.
If the block 132 determines that the value of D is nonzero, a block 136 stores the string STR as a detail category in memory under the subcategory identified by the values C=X, S=Y and D=0, where Y is the value of S for the current record.
It should be evident from the foregoing that the programming of
With the pre-conversion steps complete, the block 36 of
Initially, a block 150 displays the main dialog box of
If none of the conditions checked by the blocks 152, 156, 160 or 164 is found to be true, then it has been determined that the user has clicked on one of the conversion fields, and hence a block 168 automatically converts and cleans the text that was highlighted by the user. The highlighted information is filtered to remove and/or replace characters which, if unaltered, would not display properly in some or all web browsers. Control from each of the blocks 154, 158, 162, 166 and 168 returns to the block 150.
Preferably, all of the information for a specific conversion object is characterized (by highlighting specific text and clicking on the appropriate conversion field) and cleaned before converting information for the next conversion object. For example, referring again to
Some of the information in the “SKU Information” field is entered like the information in the conversion fields (at which point such data are cleaned and converted) while the remaining information is manually entered by the user. Before describing this process further it is helpful to describe the ways in which an object is identified. In the illustrated example, each catalog object is identified by at least one item number which is stored in the “Item Number” conversion field. In addition to the item number, a catalog object is identified by at least one SKU number. Usually, an object is identified by more than one SKU number when the object may have differing attributes. For example, different SKU numbers may denote seeds which are for the same plant or vegetable except that the seeds have variations in style, colors, or sizes. Thus, seeds which grow into a blue version of a flower may have a different SKU number than seeds which grow into a red version of the same flower. The “SKU Information” area of the dialog box includes fields which allow object attributes and other information relating to an object to be specified. The fields include SKU, Style, Price, Color, Size, Sale Price (“Sale P”), Quantity Price (“Quan”), Quantity Needed (“Quan N”), Thumbnail Price (“TP”), Weight (“W”) and M. (When a “Y” is stored in the M field, the data in the respective row of the “SKU Information” table are stored in the SKU table as marked text, which may be in a different color than the remaining data in the SKU table. This facilitates location of such data so that the data can be further processed as desired.) Other fields may be used depending on user preference and/or catalog content.
The programming executed by the block 154 of
If the block 196 determines that one of the text fields has not been clicked on, a block 200 determines whether an “OK” button has been clicked on. If this is the case, the data in the text boxes are transferred to the fields of the “SKU Information” area of the dialog box of
Alternatively, if desired, SKU data may be automatically stored into the SKU text fields through the use of a combinations (hereinafter “combo”) selection process initiated by clicking on the “Combos” button of the dialog box of
It should be noted that the design of the dialog box of
Second, the block 242 may include an embedded control character elimination routine. In order to accomplish this cleaning function, an AppleScript® routine is written which stores the characterized text into a character string. The embedded character elimination routine iterates through each character within the string. As it iterates through each character, the routine determines if the ASCII value for the current string character is between a user-definable range of ASCII values. This range of ASCII values corresponds to the range of ASCII characters which will be properly displayed on-line. Characters outside of this desirable range, such as control characters, are removed or replaced with a more appropriate character (e.g., a tab may be replaced by a single space) by this second cleaning routine. As characters from the stored highlighted string are removed, the string is truncated by the removal. Alternatively, the embedded character elimination routine could compare the ASCII value of each character to a user-specified set of ASCII characters, instead of to a user specified range of ASCII characters, and remove those ASCII characters which match the user-specified ASCII characters.
Certain ASCII characters, like ®, ©, and ™ should not be removed, but rather replaced with codes recognizable by a web browser to display the character properly on-line. For example, the conversion program may contain routines which identify these ASCII characters and replace them with command strings recognizable in HTML, like ® © and ™ respectively. Other characters may be replaced through similar routines. In addition to these cleaning routines, any number of other cleaning routines, such as removing double spaces from highlighted text or replacing fraction strings with abbreviated characters (e.g., replacing “½” with “½”) may also be implemented through similar AppleScript® programming routines.
As noted previously, the cleaning undertaken by the block 242 may vary depending upon which field or text box has been selected.
Before storing the cleaned highlighted text in a corresponding conversion field, the cleaned text is analyzed by a block 244 to determine whether it is valid. If the cleaned text is valid, then it is placed into the appropriate field or text box. If the cleaned text does not satisfy the text criteria an error message is displayed by a block 248. Control from the blocks 246 and 248 passes to the block 150 of
While the process described above is an automated characterization and cleaning process, it should be noted that the user could manually enter data into the various fields or text boxes or could manually clean data stored in the conversion fields, as desired.
A detailed flow diagram of the process category selection block 158 of
In addition, at any point during which the main dialog box of
After all the appropriate fields of the main dialog box have been populated (e.g., as seen in
Eventually, all of the field values are loaded into the database, whereupon control passes from the block 340 to a block 352, which checks to determine whether there are any images to process. If this is true, a block 354 places the name of the image into the database and a block 356 writes out the name translation information pertaining to the image into the name translation file. Control then returns to the block 352. Once all the images have been processed, a block 358 clears out all fields (except as noted below) in the main dialog box and resets all counters. Control then terminates. The pull-down values for the main category, sub category, and detail category of the category dialog box are not cleared because they may be used while converting page layout information for the next object.
As should be evident from the foregoing, the programming of
Referring specifically to
In either case, a block 384 opens a “cropped images file” containing a listing of the names of previously cropped images. If a cropped images file is not found (because it has not been yet created), an empty cropped images file is created at this point. This cropped images file may be stored at the location of the high-resolution files, or may be stored at another directory, folder or network location. A block 386 then compares the name N of the name translation file to the names stored in the cropped images file. If the name N of the name translation file is not in the cropped images file, then it has been determined that the image identified by the name N of the name translation file must be cropped and/or otherwise processed. Accordingly, a block 390 opens the high resolution image in a native image processing application, such as Adobe Photoshop®. As seen in
After the desired non-automated modifications are complete, control pauses at a block 394 to allow the operator to select any one of the “Next,” “Skip,” “Start Batch,” “Thumbnail” or “Quit” buttons. If the “Next” button is clicked on, then a block 398 executes specified changes to the image that can be programmed to be undertaken by the image processing application (i.e., the block executes “scriptable” or otherwise programmable changes to the image.) In the preferred embodiment, the block 398 converts the image file from a CMYK format (consisting of values for the printing primary colors of cyan, magenta, yellow and key (or black)) to a three-color RGB (e.g, red, green and blue) format suitable for computer monitor display. If desired, an indexed color format file could also be derived from the RGB format file. After programmed changes have been effected, a block 400 saves the modified image(s) as intermediate image(s) and names such files with a mapped name, which is mapped from the name of the high resolution image file. In the illustrated embodiment, the intermediates file(s), however, have no extension. The high resolution image file is then closed and a block 402 appends the name N to the cropped images file, indicating that the processing of this image has been completed. Control then returns to a block 430 of
If the block 396 determines that the “Next” button has not been selected, a block 404 checks to determine whether the “Thumbnail” button has been clicked on. If this is the case, a block 406 executes scriptable changes to the image (like the block 398) and a block 408 converts the image to thumbnail size. The high-resolution image is changed to thumbnail size through the use of image processing algorithms in the image processing software, which can (for example) reduce an 800×600 pixel image to a 40×30 pixel image. A block 410 then automatically performs an unsharp masking routine using the native application and a block 412 saves the resulting thumbnail image file(s) with mapped filename(s) mapped from the name of the high resolution image, but with the extension “.gif.” Thereafter, a block 414 closes the thumbnail image file, a block 416 reopens the original image file and a block 418 appends the name N in the name translation file to an additional file called the “Done Images File,” which lists all images that have been converted into a thumbnail. Control then returns to the block 392 of
If desired, if an image name appears with a detail image extension, (i.e., if a file has a name with one of the extensions “.dn,” where n=1, 2, 3 . . . ) then the programming could provide a dialog box indicating to the operator that the file is a detail image and, therefore, that no thumbnail image will be created by the programming of
The above customizations of both the thumbnail image and the cropped image can be suspended by selecting the Quit button from the image dialog box. Specifically, if the block 404 of
Referring again to
If the block 422 determines that the “Start Batch” button has not been selected, a block 426 determines whether the “Quit” button has been clicked on. If this is the case, further program execution is terminated. Otherwise, control returns to the block 394 of
Referring now to
Specifically as seen in
Following the block 470, or following the blocks 458 and 460 if the file is a detail file or if the file is in the Done Files list, a block 472 deletes the intermediate file(s) (i.e., the file(s) that were stored with no extension). A block 474 then determines whether the Done Files list includes the file name. If this is not the case, a block 476 adds the file name to the Done Files list and control returns to the block 450. The block 476 is skipped and control returns directly to the block 450 if the block 474 determines that the Done Files list does not include the file name.
It should be evident from the foregoing that the process and system described hereinabove coverts the unstructured and untagged data in the page layout file into searchable data related to an object.
With reference now to
Each page description file 502 may, for example, constitute a QuarkXPress® file representative of one or more pages of a catalog to be distributed to consumers to provide product-related information on a seasonal basis. Thus, the page description file 502 may, for instance, comprise product information for certain fashion items directed toward the current season. As will be explained further hereinbelow, the content and page layout data stored in the page description file 502 leads to the production of a first catalog 504.
Practice of the present invention, however, is not limited to the specific example of catalog production, and is broadly applicable to any type of book or document production workflow in which customized printed matter is produced from previously designed matter. Nevertheless, it shall be hereinafter assumed for purposes of illustration only that the printed matter to be produced constitutes such clothing catalogs.
In accordance with one embodiment of the present invention, the document production workflow 500 modifies the content and page layout data stored in the page description file 502 to produce a further page description file 506 for production of the second, customized catalog. In one instance, the second catalog may be customized to reflect inventory changes since the distribution of the catalog 504.
Initially, the page description file 502 representative of the first catalog 504 is generated in a page make-up software program or system (such as the system described hereinabove in connection with
Next, the printed copies of the catalog 504 are then provided to recipients in a conventional distribution process 512, the details of which are not pertinent to practice of the present invention. The recipients of the catalog 504 then place orders for items described in the catalog 504 via mail, telephone, and the like. These orders are handled manually or, preferably, by a processing system 514 having one or more computer systems that may be localized or distributed in nature and, more generally, may take on any suitable form.
At the same time that the above-described conventional catalog order process is occurring, web-based commerce based on the same page description file 502 is also resulting in orders for the processing system 514. More particularly, the page description file 502 is processed in accordance with the system and method described hereinabove to generate one or more web pages 516 for display and delivery via the Internet or other network as an electronic document. Briefly, the page description file 502 is first processed in a block 518 to generate a database for storing data indicative of portions of the page description file 502, which may constitute textual, image, or line art items. For example, if one of the pages represented by the page description file 502 contains a textual portion comprising a paragraph of text describing a certain product, the database generated by the block 518 may contain a record for the certain product with a field designated for storing product descriptions. The database may correspond with the product table shown in
More generally, the block 518 is preferably implemented by the software routine set forth hereinabove that allows a user to characterize each portion of the page description file 502. In summary, the block 518 implements the steps described in connection with
As described hereinabove, the extraction of content data from the page description file 502 also results in the generation of derived image files that may be, for instance, cropped, of a low resolution quality, and/or of the “thumbnail” variety. These images are particularly well-suited for use in connection with the web pages 516, and may be referenced by filename in the catalog database. However, these image files are generated at a block 522 that may also generate high resolution images suitable for printed publications. The manner in which the processing of the page description file 502 generates high resolution images saved as separate files (rather than the low resolution images, for instance) will be readily apparent to those skilled in the art in light of the description hereinabove of the web-based conversion system. The image data associated with these high resolution images may then be incorporated into the page description files 506 developed by the document workflow system 500, as set forth hereinbelow.
The catalog database and any associated image files are then provided to a network server 520 to generate the web pages 516 for transmission via the Internet, an Intranet, or any other type of distributed or localized network. The web pages 516 may provide an electronic version of the content provided via the printed catalog 504, or some other version modified to suitably display via the Internet. In any event, the transmission of the web pages 516 results in further orders for handling by the order processing system 514.
As a result of the orders handled by the order processing system 514, the catalog database may need to be modified. For example, if a certain product is no longer available in a particular color or size, the content presented in the second, customized catalog should be modified to reflect this unavailability. To this end, the catalog database is provided to a block 524, together with data representative of, indicative of, or relating to these database modifications, for analysis and processing. The data utilized by the data analysis block 524 need not be limited to data relating to orders that have been processed, but may further include questionnaire data provided from a block 526 or any other data that may be utilized to analyze whether customization of the content of the catalog should occur.
In a preferred embodiment, the data analysis block 524 not only modifies the catalog database in light of orders processed to date, but also performs data mining routines known to those skilled in the art, such as product or affinity clustering, regression analysis, correlation, positive and reverse seasonality, and the like. In this manner, the catalog database may be modified to reflect actual sales (i.e., in terms of which products are still in stock), as well as data related to actual sales, such as whether sales of two or more items have exhibited a correlation. Analyzing such related data may then lead to a customized catalog with a different layout designed to exploit beneficial relationships between items.
The data analysis block 524 may be implemented via a software routine that provides a user interface for displaying data collected from various sources, such as questionnaires, or data that has been generated from actual sales data. The data may then be analyzed by an operator or user as appropriate by, for example, compiling and comparing sales statistics of two or more products to check for correlation and the like. Alternatively, the data analysis is either performed or assisted by a data mining application or suite of tools known to those skilled in the art. Subsequently, the user interface may provide an option for reordering the records in the catalog database in light of the correlation or other statistics. For example, if the data collected by the block 524 shows that two clothing items have been sold in complementary fashion, the catalog database may be modified to reorder the records in a manner such that the page description file 506 for the second, customized catalog to be printed has the complementary products presented on the same page or in similar sections of the customized catalog. As a further example, when an item has sold out of a particular color or size, the corresponding information associated with that color or size is removed from the catalog database. Thus, when the catalog database is utilized to generate the page description file 506 for the second, customized catalog to be printed, the content of the catalog will reflect the most recent evaluation of the inventory situation.
The manner in which the catalog database determines the content data for the page description file 506, and thereby the second, customized catalog to be printed, will now be described. In general, the page description file 506 is generated from the catalog database (including any modifications thereto by the block 524) and a template or series of templates (hereinafter “catalog template”). In one embodiment, the catalog template is derived from the page description file 502 for the previously printed catalog 504. Alternatively, the catalog template is developed independently of the page description file 502. In either case, the catalog template comprises placeholders that establish or define an area or position of the page to be populated by the content data stored in the catalog database.
Preferably, the catalog template is generated in a page make-up software application, such as QuarkXPress® or the like, that has been modified (via a software extension or otherwise) to support placeholders. The modified QuarkXPress® program may be adapted for operation on the Apple Macintosh® operating system or any other operating system, such as the Microsoft Windows® operating system. The details of the programming for use as a QuarkXPress® extension to create a template or template file having placeholders may be found in commonly assigned, co-pending application Ser. No. 08/498,397, the disclosure of which is hereby incorporated by reference herein.
A placeholder, as used herein, should be understood to establish an absolute or relative position on a page where variable information is to be printed. That is, each placeholder in a template will be populated with variable information such that the variable information is incorporated into the resulting page description file in preparation for printing or distribution, in general.
In general, the modified QuarkXPress® program provides a user interface for establishing placeholders in the template. The user interface, in turn, is generated via the programming described in the above-referenced application and will not be further discussed herein.
In one embodiment of the present invention, the page description file 502 is opened into the modified QuarkXPress® program in a block 528 for conversion of the portions thereof into placeholders. As described in the above-referenced application, one or more of the image portions set forth in the page description file 502 may be replaced by reference images associated with a particular field in the catalog database that indicates image file names for the images generated by the block 522. Likewise, any textual portion may be replaced with a placeholder that calls out to a database field name for which text has been saved in the catalog database during the block 518. In this manner, one or more pages of the catalog 504 based on the page description file 502 can be converted into one or more templates for automated incorporation of variable information.
After converting the appropriate portions of the page description file 502 into placeholders, a catalog template is generated by a block 530. The block 530 preferably saves data indicative of the catalog template and, thus, the placeholders defined therein, in a template file.
In an alternative embodiment of the present invention, the template file has either already been generated in connection with the page description file 502 or has been generated independently thereof. In either of these cases, the template file is merely retrieved by the block 530 for processing.
Generation of the catalog template in connection with the page description file 502 may be useful when a great deal of information or content will remain constant between the catalog 504 and the customized catalog to be printed. For example, the template may retain a background image portion from the page description file 502 when each page of the catalog 504 contains a fixed image that forms a background for all of the other portions on the page. Conversely, generation of the template in an independent manner may be useful when the customized catalog to be printed has a completely different layout than the catalog 504, such as a different number of products displayed on each page, a different background, a different header or footer, and so on. These differences may be particularly acute when the customized catalog to be printed constitutes a clearance catalog.
In one application of the present invention, a clearance catalog to be printed comprises a cover page followed by a plurality of pages of the same basic layout. In this case, two templates may be generated by the block 530 independently of any prior page description file. More particularly, a template having mostly fixed information is generated for the cover page of the clearance catalog. The fixed information may include content information for identifying the source of the catalog, a cover image, text specifying applicable dates for transactions, and text identifying the catalog as a “Special Clearance Catalog.”
In this particular example, each page of the remainder of the customized catalog, i.e., the body of the catalog, follows the same basic format and layout. As a result, each one of the body pages may be derived from the second of the two templates, hereinafter referred to as the “body template.” The body template may include one or more placeholders for product images, together with one or more corresponding textual sections for the respective products associated with the images. The textual sections, in turn, may comprise a placeholder for a general product description, followed by placeholders for the available colors and sizes. The textual section may further include one or more additional placeholders for such content as SKU number, original price, clearance price, and the like.
In this case, the body template is associated with a plurality of pages of the customized catalog to be printed and, thus, may be utilized multiple times during generation of the page description file for the catalog. It should be noted, however, that the present invention may be practiced using any number of templates with each respective template being associated with any number of pages in the customized catalog to be printed. To that end, each record in the catalog database may include data indicative of which template of a plurality of templates should be used for the content data stored in that record. This template-identifying data may be entered by an operator of the above-described system for extracting the content data from the page description file 502. Alternatively, the block 524 may include conditional programming that analyzes the content data for a particular record to determine which template should be associated with the record. For example, the catalog database may include statistics regarding whether small or large images have resulted in purchases of the particular product. Based on the statistics, a particular template may be selected based on the size of an image placeholder therein. Similar schemes for performing such conditional layout design may be devised by those skilled in the art based on the data analysis performed by the block 524.
Once the template or templates have been either generated or retrieved by the block 530, the page description file(s) 506 for the customized catalog to be printed are generated by a block 532. The block 532 is generally responsive to the catalog database (as modified by the block 524), any images files generated by the block 522, and the catalog template(s) generated or retrieved by the block 530. More particularly, the block 532 processes the catalog template(s) in accordance with the content data stored in the catalog database that has been associated with the template(s). That is, for each record in the database, a selected template is populated with content data identified by the database record in accordance with the placeholders in the template. Further details on the programming routines necessary for processing the template(s) are set forth in the above-referenced application and will not be repeated herein. However, the programming routines are preferably modified to provide a single output file for each populated template. In other words, the information provided by the template and the database is not processed to develop separate streams of page description data (e.g., a master file representative of fixed information, and a variable data file representative of information that varies from record to record). Rather, the block 532 preferably writes out a single page description file having the fixed information from the template as well as the content information provided by the database record being processed. To this end, the fixed information and the placeholder information in each template need not be separated (as it is done in the above-referenced application). Instead, a copy of the catalog template may be generated and processed to populate the placeholders with content data. However, if the customized catalog will be printed using a digital press, the block 532 may, in fact, separate the output into two or more data streams, such as a master data stream and a variable data stream.
It should be noted that the catalog database generated in accordance with the teachings of the present invention may have to be modified by the block 524 in form (rather than content) to be compatible with the database format specified by the processing system of the block 532. It should also be noted that the filenames generated by the block 522 for the image files should be compatible with the filename convention specified for the processing system of the block 532.
The block 532 generally provides an initial dialog box for initiating the process of generating the page description file 506. In addition to providing a standard “START” or “RUN” option, the dialog box allows a user to define parameters for the job to be run. More particularly, the user has the option of selecting one of several different types of output formats (e.g., QuarkXPress®), as well as whether the output should be dumped into one single page description file or multiple files, which may, for example, result in one file per page (or flat) of the catalog. The dialog may also prompt the user to identify the catalog database by name and location (i.e., path), as well as the total number of pages in the catalog.
After the page description file(s) have been generated, an imposition routine may be run to set forth the pages in proper order for printing. In one embodiment, imposition may be handled by an off-the-shelf software package for imposing one or more page description files. Alternatively, if the catalog will be printed using a digital press, the imposition routine set forth in the above-referenced application may be utilized to impose the pages of the customized catalog.
As a result of the processing of the block 532, one or more page description files 506 may be provided to a conventional computer-to-plate press system or a digital press for production of a customized catalog. If a digital press is utilized, the catalog may be further customized by treating the page description file(s) 532 as template files representative of fixed content for a plurality of pages. The system of the above-referenced application may again be utilized to add further placeholders to the layout defined by the page description files 532. These placeholders may be associated, for instance, with recipient address information for a cover page. Then a variable information database (such as that described in the above-referenced application) having addressee information and other variable information could be used to print catalogs with content customized for each recipient of the catalog, as specified by the template(s).
It should be noted that the catalog database may include additional data directed toward this added layer of customization. In such an embodiment, the data analysis block 524 may include functionality for providing a user with an opportunity to modify the catalog database appropriately.
The document production workflow described hereinabove shall be understood to include a software system or suite of software applications that may or may not be incorporated into a single, cohesive application. In any event, the workflow is practiced using a software system having routines dedicated to implementing the routines specified hereinabove. The routines, in turn, are stored in a computer-readable medium, which may comprise any type of computer-readable storage mechanism, such as an optical or magnetic disk. Alternatively, the computer-readable medium may form a part of a publishing or production system such that the routines are stored in resident memory of the system, or in a portion of the system that stores data optically, magnetically, or in any other fashion known to those skilled in the art. Still further, the routines may stored in either a localized or distributed manner such that the computer-readable medium may comprise a network of computer-readable media.
Numerous modifications to the present invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is presented for the purpose of enabling those skilled in the art to make and use the invention and to teach the best mode of carrying out same. The exclusive rights of all modifications which come within the scope of the appended claims are reserved.
Claims
1. A method for using a page description file to generate data that comprise a database regarding a product for which orders are generated, the method comprising the steps of:
- (a) providing the page description file that is used for producing a printed publication;
- (b) processing the page description file to generate the data;
- (c) using the data to produce a document from the database; and
- (d) generating an order for the product in response to producing the document.
2. The method of claim 1, wherein the data regarding the product include at least one of an item name, a description, a catalog number, a style description, and a price.
3. The method of claim 1, wherein the data regarding the product are developed from untagged and unstructured data included in the page description file.
4. The method of claim 1, wherein the database has a plurality of records.
5. The method of claim 1, wherein a record is associated with a product.
6. The method of claim 1, wherein the step of producing the document comprises producing a printed document.
7. The method of claim 1, wherein the step of producing the document comprises producing an electronic document.
8. The method of claim 7, wherein the step of producing the electronic document further comprises transmitting the electronic document as an email.
9. The method of claim 7, wherein the step of producing the electronic document further comprises transmitting the electronic document as a web page.
10. The method of claim 1, wherein the step of generating an order comprises interaction of a user with the document.
11. A software system for generating data that comprise a database from a page description file, wherein the page description file is used for producing a printed publication, the software system comprises:
- a computer-readable medium and a software program stored in the computer-readable medium, wherein the software program comprises:
- a first routine that processes the page description file to generate the data regarding a product;
- a second routine that uses the data to produce a document; and
- a third routine that accepts an order for the product in response to producing the document.
12. The software system of claim 11, wherein the data regarding the product comprises at least one of an item name, a description, an item number, a style description, and a price.
13. The software system of claim 11, wherein the first routine generates data regarding the product from untagged and unstructured data that comprise the page description file.
14. The software system of claim 11, wherein the second routine produces an electronic document.
15. The software system of claim 14, wherein the software system comprises a fourth routine for transmitting the electronic document as an e-mail.
16. The software system of claim 14, wherein the software system comprises a fourth routine for transmitting the electronic document to a web browser.
Type: Application
Filed: Nov 29, 2007
Publication Date: Jun 26, 2008
Inventors: Mark G. Dreyer (Aurora, IL), Riyazhassan M. Asaria (Oak Park, IL), J. Thomas Shively (Hinsdale, IL), James L. Warmus (LaGrange, IL)
Application Number: 11/998,324
International Classification: G06F 17/30 (20060101);