Enterprise level software is available for the coordination of large amounts of information within businesses and corporations. Such software allows accounting, marketing and management groups within the corporation to control large amounts of data, and to thereby control production, inventory, shipping and other business functions. Accordingly, a large amount of information is contained within, and is available to, such software. Due to the growing complexity of running such business enterprises, this level of information availability is continually increasing.
One aspect of the marketing effort put forth by such corporations involves the production of printed advertising material. This is a very complex endeavor, due to a number of factors, a few of which include: the large number of products to be promoted; the number of different languages and currencies of the many countries in which the products will be sold; the variety of legal requirements of advertisements in various jurisdictions; and the different demographic markets to which promotions must be directed. Accordingly, a large number of promotional brochures, advertisements and other printed materials must be produced. Due to the factors listed, and others not mentioned, this is a very complex endeavor.
In an attempt to solve the need for large numbers of differently printed documents, PPML (personalized print mark-up language) was developed. PPML templates (PPML/T) are configured for insertion of data into available fields and for creation of a large number of custom print jobs. However, there is a considerable cost to the creation of such templates, which results in higher than desirable overall costs. Moreover, a considerable cost is incurred in obtaining data to fill such templates.
As seen above, enterprise level software has available to it considerable data. However, known systems have been ineffective at moving this data into PPML templates that can be consumed by digital presses. Accordingly, the cost of creating printed materials is a burden to most commercial, governmental and non-profit enterprises.
A variable data print engine is configured for processing print data. In one implementation, a filter is configured to filter print data, and to thereby create grouped records. An analyzer is configured to analyze the grouped records to extract templates used by the grouped records. A template merging procedure is configured to merge the extracted templates to produce a merged template to which material may be added to create a print job.
The following detailed description refers to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure (Fig.) in which the reference number first appears. Moreover, the same reference numbers are used throughout the drawings to reference like features and components.
A variable data print engine is configured for processing print data obtained from enterprise resource planning software containing a broad spectrum of information. In one implementation, a filter is configured to filter print data, and to thereby create grouped records sharing desired characteristics, such as media size. An analyzer is configured to analyze the grouped records to extract templates used by the grouped records. A template merging procedure is configured to merge the extracted templates to produce a merged template to which material may be added to create a print job. Accordingly, an efficient print system receives the considerable data available within enterprise level software, filters and analyzes the data, merges templates appropriately, and performs high-speed variable-data printing.
An exemplary PPML/T-based (i.e. personalized print markup language template based) variable data print engine 104 communicates with the ERP software 102 through an interface. As will be seen in much greater detail in the discussion of
In one implementation, materials (e.g. data 202 obtained from the ERP software 102) are grouped by filter 206 to result in grouped materials which are logically related by virtue of their relationship to a business or organizational entity. For example, the data may be grouped by the filter 206 according to business division, store location, department, product line or other characteristic. Similarly, where the organizational entity is an administrative branch of government, data may be grouped according to department, group, project, etc.
Similarly, the filter 206 may group data based on the printer to which the job will be sent. For example, where more than one type of printer is available, print jobs may be grouped logically based on print job requirements, such as the size of the job or the size of the paper required for the print job. In many cases, such grouping can be managed by rules which save paper. Additionally, media manipulation and trimming costs are saved, particularly where materials are the same or compatible sizes. For example, two A4-sized images can be put onto a single A3 sheet; similarly, four A5-sized images can be put onto a single A3 sheet. This type of grouping, performed by the filter 206, can be considered to be “imposition” grouping, wherein data which have characteristics which allow such an imposition are grouped together. Similarly, data may be grouped by the filter to segregate all the jobs according to the technology of the printer to which they are to be sent. For example, data may be grouped to segregate jobs to be sent to a digital press from jobs to be sent to a DesignJet level printer. As may be readily understood, other criteria for grouping print jobs may be imposed by the filter 206. For example, data 202 can be grouped according to print job priority. Therefore, by filtering and grouping in-coming data, the filter 206 facilitates press management.
An analyzer 208 is configured to analyze the data provided by the filter 206, and to extract from that data information 210. For example, the analyzer 208 may extract information about the templates used by records within the data supplied by the filter 206. Such information may include data on the field descriptors within the templates, the fonts used in the templates, and other similar data. In a typically implementation of the analyzer 208, meta data is extracted from templates, thereby obtaining information about the templates and related data (field descriptors, fonts, etc.) that will be needed. In particular, the analyzer 208 determines which templates found in the data 202 will be needed.
A cover generator 212 is configured to generate a cover template 214 that may be appended to the top of a document to be generated. The cover template is typically generated according to the needs and characteristics of the current job, and may not be derived from data 202 obtained from the ERP software 102. In one implementation, a main cover may be generated for the entire print job, and a plurality of sub-covers may be generated for sections within the print job. Accordingly, print jobs containing material from different business centers (e.g. retail stores, colleges within a university, voting districts, etc.) are divided by a cover with information-such as mailing information—before the materials for that business center. Accordingly, a single print job may contain many sections. This tends to reduce costs due to manipulation and logistics.
A template merger 216 is a procedure that is configured to merge the different templates—e.g. those templates extracted by the analyzer 208 and contained with the selected data 210—with the cover template 214. In most implementations of the template merger 216, all of the features of each template are merged into a single merged template 222.
A record adding procedure 218 is configured to add records to the merged PPML template (PPML/T) 222. Some of the records are data, while others are actually assets like backgrounds or images. In some cases, the size of the asset will need to be calculated.
An imposition controller 220 is configured to calculate an imposition for application to the merged template 222 with data added by the record adding procedure 218. In one implementation, where the output is headed for a digital press, the imposition may be calculated based on the destination media sheet size. For example, where the sheet size is A3, and the templates merged are A5 landscape, the imposition will result in two rows and two columns, with each of the elements rotated zero degrees.
A ticket generator 224 is configured to generate a JDF ticket 226 describing the job intent. An exemplary JDF ticket may contain pointers to the assets (images, backgrounds, fonts, etc.) used in that job. In most cases, the assets are included in the selected data 210, which was filtered and analyzed by the filter 206 and analyzer 208, and merged into a single template 222 by the template merging procedure 216.
At block 302, records, data and materials are filtered and grouped. In one embodiment, the filtering task groups the records found in data 202 into subsets that can—or should—be printed together. While several examples of filters are disclosed, other filters could be constructed in a similar fashion. In particular,
Returning to
Returning to
At block 308, the templates contained within data 202—which were extracted by the analyzer 208—and the cover template 214, are merged. In most applications, the merging of the templates creates a new template—a merged PPML template 222—which contains the aspects of each of each template which was merged. In one implementation, the template merging procedure 216 performs this task.
At block 310, records are added to the PPML templates, including both data and assets. The assets are resized, as necessary. In one implementation, the record adding procedure 218 performs this task.
At block 312, an imposition is calculated-such as by an imposition controller 220—based on the output device to which the merged PPML template and associated records are to be sent. The output device may be a digital press, a monitor or other output device.
At block 314, a ticket, such as a JDF ticket, describing the job intent is generated. This may be performed by the ticket generator 224 of
Although the above disclosure has been described in language specific to structural features and/or methodological steps, it is to be understood that the appended claims are not limited to the specific features or steps described. Rather, the specific features and steps are exemplary forms of implementing this disclosure. For example, while actions described in blocks of the flow diagrams may be performed in parallel with actions described in other blocks, the actions may occur in an alternate order, or may be distributed in a manner which associates actions with more than one other block. And further, while elements of the methods disclosed are intended to be performed in any desired manner, it is anticipated that computer- or processor-readable instructions, performed by a computer and/or processor, reading from a computer- or processor-readable media, such as a ROM, disk or CD ROM, would be preferred, but that an application specific gate array (ASIC) or similar hardware structure, could be substituted.
This patent application is related to U.S. patent application Ser. No. ______, titled “PPML to PDF Conversion”, filed on ______, commonly assigned herewith, and hereby incorporated by reference. This patent application is also related to U.S. patent application Ser. No. ______, titled “PDF Document to PML Template Translation”, filed on ______, commonly assigned herewith, and hereby incorporated by reference.