Digital printing is well known and comprises of the transmission or transport of digital data representative of the document to be printed to a digital printer, which takes the document data and produces a hard copy, printed, version of the document. Users of personal computers either at work or at home will be familiar with digital printers in the form of inkjet and laser printers. However, digital printing is also used within the field of commercial printing, for example for the production of magazines or advertising literature. Digital printing is particularly attractive when only relatively small number of documents are required and particularly when those documents are highly personalised for the intended recipient.
One means of conveying the document data to a printer is by the use of a printer language. The document data is converted into the appropriate printer language, for example postscript, usually by the software application used to generate the original document. The printer language subsequently instructs the printer to create a rasterized image. Rasterization is a process of converting the data that describes the text and graphics into the format that is required by printers “print engine”, which is the machinery that actually puts the marks onto the page. Rasterization is performed by a “raster image processor”, also known as a RIP. With some systems, the RIP is a computer that is integral to the printer itself. Desktop printers, such as an inkjet printer, will typically have an integral RIP within the printer. With other systems, such as commercial printers, the RIP is separate from the printer. In this case, the RIP is implemented in software that runs on a computer separate from, but connected to, the printer. This process (ripping with the first RIP) must be repeated for each page of the document. High-volume print jobs can easily contain tens of thousands of pages that all have to be ripped. Ripping can become a problem as the amount of memory required for each page increases. For example, a single page with a colour photograph and title, together with text, can easily reach as much as 20 Mb in postscript. This costs an exceptional amount of processing power and memory space and is the most important cause of print processes not running correctly. It is for this reason that rated print engine speeds are often not met and printers may be ripping all night to be able to produce a reasonable print speed during the day.
This bottleneck in printing can be reduced by specifying reusable content. Reusable content are assets that are used on many of the pages within the same document. Reusable content can be fonts, logos, signatures, diagrams, images and the like. An object that is reusable is often referred to as a resource. By using appropriate printer language it is possible to identify which resources are needed at a particular point in a print job. This allows a resource to be rasterized once and used many times, instead of being rasterized on page on which it is used. An example of a print language for use with reusable content is PPML, personalised print mark-up language. PPML itself in fact only defines how existing resources are combined to create pages, documents and jobs e.g. PPML defines where on a page a graphic object is to appear and the space into which it must fit. However, the attributes of the resources themselves are defined by further documents, or files, expressed in existing mark-up languages, such as XSL-FO (Extensible Style Sheet Language Format Objects), to which the PPML document refers.
The use of print languages that specify resources to be used within a document also allow individual documents to be personalised or varied. Variable-data printing is a form of on-demand printing in which all the documents in the print room are similar but not identical. A simple example of this is the use of a mail-merge facility within a word-processor to allow individual names and addresses to be applied to the same basic letter. However, variable-data printing can go far beyond printing different names and addresses on a document. For example, there are many applications in which it is desirable to insert different graphics into a document, change the layout and/or the number of pages, print a unique barcode on each document, and more. The concept of creating variable-data documents has been extended to non-paper documents such as PDF documents and HTML documents. The term variable-data publishing encompasses both paper and electronic documents. Although languages such as PPML allow different resources to be inserted into individual documents within a print run, there remains the problem of ensuring that each individual resource fits within the space allowed for it in the document layout.
According to a first aspect of the present invention there is provided a method of preparing a variable-data document for publishing, the method comprising defining a plurality of data content areas within the document in which respective specified data objects are to be inserted, each data content area having a defined size, for each data content area defining one or more style parameters to be applied to the specified data object and defining one or more style modification parameters, associating a plurality of data content areas with one another, and if, after applying the or each style parameter to the specified data objects for each of a data content area associated with one another, one or more data objects exceeds the size of the respective data content areas, then modifying the or each style parameter of each associated data content area in accordance with the respective style modification parameters.
In some embodiments the same style parameter may be defined for each associated data content area. Additionally or alternatively, the same style modification parameters may be defined for each associated data content area.
Preferably, the step of modifying the style parameters for associated data content area is repeated until each data object fits within the respective data content area.
In some embodiments the data content area is expressed in PPML format. Similarly, the style parameters and style modification parameters may be expressed in XSL-FO format. The method may further comprise, subject to modifying the or each style parameter of rasterizing the document.
According to a second aspect of the present invention there is provided a computer program comprising a plurality of computer readable instructions that when executed by a computer cause the computer to perform the method according to the first aspect of the present invention.
The computer program is preferably embodied in a computer readable medium. According to a second aspect of the present invention there is provided an apparatus for preparing a variable-data document for publishing, the apparatus comprising a document processor and a document buffer, the document processor being arranged to: receive a plurality of data objects and to receive a plurality of input files, the input files defining a plurality of data content areas within the document, each data content area being associated with at least one other data content area. In which respective specified data objects are to be inserted, each data content area having a defined size, defining one or more style parameters to be applied to a specified data object and defining one or more style modification parameters, document processor being further arranged to apply the respective style parameters to each associated data object and storing the result in the document buffer, to determine if one or more data objects exceeds the size of the respective data content area, and if the size determination is positive, to retrieve the stored data objects from the document buffer and to modify the applied style parameters of each associated data content area in accordance with the respective style modification parameters.
Embodiments of the present invention will now be described, by way of illustrative example only, with reference to the accompanying figures, of which:
In variable-data printing, it is quite likely that the different blocks of text that are to be selectively placed in the copy-hole will be of different lengths. For example, the same text may be provided in a number of different languages, so as to allow language specific documents to be produced. Alternatively, a completely different block of text may be provided dependent upon the subject matter of the document. There is therefore the need to ensure that the object to be placed in the copy-hole will fit the pre-determined copy-hole. In the case of variable text, the XSL-FO associated with the object is used to specify some properties and/or constraints to control how the re-sizing of the text will be applied. For example, if the desired style for the copy-hole is to use the font Times New Roman with a size of 18 pt, the XSL-FO may specify the constraint that the font size may be reduced to a minimum of 12 pt using a 4 pt step size. An example of the use of XSL-FO to implement such constraints is provided in the applicant's co-pending application GB0325473.7 the contents of which are incorporated herein by reference.
Whilst it is possible to re-size the variable-data objects to be placed within individual copy-holes to ensure that the objects fit within the pre-determined copy-hole size, this still allows, in the example of text, different sizes of text to be used across different copy-holes throughout the entirety of the document that were originally intended to be of a uniform font and font size, so as to create a uniformity of style across the entire document.
To overcome this difficulty, in embodiments of the present invention the three copy-holes are linked together as a page-sequence within the PPML such that all three copy-holes are ripped at the same time. This allows the same copy-hole attributes to be applied across all three copy-holes. This is illustrated in
In preferred embodiments, the individual sections of PPML instructions relating to each individual copy-hole within a page-sequence are rasterized in turn and are individually stored in cache memory provided by the RIP. This allows the rasterized data for individual copy-holes within a page-sequence to be subsequently retrieved if it transpires that style attributes from a later copy-hole need to be applied to the earlier ones. The amount of cache memory required to store the ripped data is relatively small compared to that required to store an entire ripped page.
FIGS. 4 to 9 illustrate further examples of fitting text within a number of linked copy-holes in accordance with embodiments of the present invention, together with the corresponding sections of PPML and XSL-FO.
Individual copy-holes within the page-sequence may have different styles and different strategies to achieve the “fit to box”. This is illustrated in
Number | Date | Country | Kind |
---|---|---|---|
0426775.3 | Dec 2004 | GB | national |