SYSTEM FOR PRINTING VARIABLE DATA FIELD OF THE INVENTION
The invention relates generally to electronic reproduction systems and, in particular, to a system for printing or saving page description language (PDL) format files with personalised or variable data.
The invention has been developed primarily for use in modifying PDL format files in the form of portable document format (PDF) files to include predetermined data and will be described hereinafter with reference to this application. However, it will be appreciated that the system is not limited to this particular field of use.
BACKGROUND OF THE INVENTION
It has become more and more desirable for mass printed advertising and marketing to be personalised in one form or another. For example, advertising which is personally addressed is more favourably received than advertising which is not. Principally, unaddressed printed advertising material is considered "junk mail" and its acceptance can be refused by a mail box holder.
It has been long known to mass produce standard format invoices and the like into which particular variable data is inserted when printing. Such data is known to include the addressee, their address, their account number and financial details of the invoice. Unfortunately, such systems are created for a particular user's needs, for example a utility company, and are complex and expensive to implement and use. Consequently, these systems cannot be implemented by most ordinary businesses and individuals for producing standard format invoices and the like, nor for producing arbitrary documents with variable data inserted therein.
It is also known for individuals and small to medium enterprises to print Christmas cards and other simple standard or form letters to clients or the like in which variable or personalised data is inserted. The Microsoft Word® application includes a feature known as "mail merge" in which names and addresses and other variable or
personalised information such as business names are inserted into a letter and/or corresponding envelope.
In the process of printing mail merged documents Microsoft Word® inserts each data into the document and creates one file with the document reproduced with each data into the document and creates one file with the document reproduced for each data inserted therein. Such files can include many hundreds or thousands of pages resulting in the need for large amounts of computer processing power and storage capacity. This severely restricts the usefulness of the mail merge feature for the small users.
Once the file has been rendered with the variable data inserted, the single Microsoft Word® file is spooled for printing and/or saving electronically.
Unfortunately, the Mail Merge program can only provide variable or personalised data which is text and derived from a predetermined data source comprised of rows and columns. For example, mail merge will receive data from the cells in a Microsoft Excel® or Microsoft Access® file. The mail merge feature of Microsoft Word® is also only compatible with predetermined other file types which severely restricts the range of applications for use of the mail merge feature.
Furthermore, the mail merge feature is time consuming and difficult for the ordinary individual or business user to learn and implement in a time and cost efficient manner.
It is thus not possible to produce Microsoft Word® documents or other compatible format documents from Microsoft Word® having variable data which is not comprised of alpha-numeric characters and provided from a cell in a compatible database spreadsheet. Furthermore, Microsoft Word® is known to be unreliable when attempting to print large numbers of a standard or form letter having variable data inserted therein. For example, it is impractical for Microsoft Word® to drive a production printer operating at 180 pages per minute or to create or save thousands of
mail merged files. Also, being a proprietary file format, independent development of Microsoft Word® is discouraged.
In recent times, vastly increasing numbers of people transmit documents as page description language (PDL) format files in the form of Adobe® portable document format (PDF) files. A PDF file, like a Postscript® format file is a PDL format file and was developed so that pages can be viewed or printed on any platform such as Unix , Microsoft Windows® and Mac OS-X. A PDF file consists of a sequence of one or more pages with each page including text, margins, font specifications, layout and other page information. The popularity of PDF files has increased rapidly primarily because PDF is a publicly available specification.
Application software in the form of a PDF file reader is freely available, for example Adobe® PDF reader. This allows users to view, save or print the PDF file. When manipulation or creation of a PDF format file is required it can only be accomplished with proprietary application software such as Adobe Acrobat® or Adobe Acrobat Distiller® or Global Graphics Software Ltd's Jaws® PDF creator or editor.
Although the PDF file format, for example, is generally considered to be a read only format some minor modification of these files when received by a user is often desired. For example, commercial printers employing digital equipment such as the Xerox Docu-tech® digital commercial printer or the Hewlett-Packard® Indigo digital commercial printers, increasingly receive the material to be printed from clients in a PDF format. It is normal for the printers to desire to modify these files prior to printing. Such modification includes the alteration of margins, correction of typographical errors or color change, for example hue correction. Similarly with home and small to medium company computer users, documents are increasingly being communicated to people electronically in the PDF format and similar modification is often required.
These large numbers of people are thus generally unable to receive a read-only electronic document, for example in the form of a PDF format file, and modify it.
In the case of commercial printers, equipment such as the Xerox Docu-tech or Hewlett-Packard® Indigo digital commercial printers are capable of printing modified Postscript® files with predetermined personalised or variable data. However, the systems for achieving this are of such a complex nature that it requires dedicated computer programming professionals to implement its use. Thus, the majority of commercial printers, even those employing apparatus such as the Xerox Docu-tech printers, are incapable of programming their printers to provide for personalised or variable data to be inserted into PDL or read only electronic format files.
When a file is sent to a printer such as the Xerox Docu-tech" commercial digital printer, it is raster image processed in which vector digital information of the file to be printed, such as a PDF or Postscript® file, is translated into a high resolution raster image for printing. In simple terms, a raster image processor (RIP) can be thought of as a translator between a computer and a printer. It is known for postscript® RJPs to be built in to some commercially available printers that are designed for individuals or small to medium business users.
In the process of translating an electronic file into a raster image suitable for printing, a RIPped file is created. When using a digital printer, for example the Xerox Docu- tech® printer, a display screen is provided through which a printing software interface is provided.
The trade name of this software interface is Xerox Variable Data Intelligent Postscript Printware (VIPP). Use of this application provides for the printing of a RIPped postscript® PDL format file with predetermined variable data inserted therein. In use, VIPP is a complex high level computer programming language which is well in advance of the capabilities of the majority of commercial printers and to practically all small to medium business users and home users for the use of printing variable data in PDL or read only format files.
There are many problems associated with the use of RIPs when handling large amounts of data, particularly in cases where printing is commenced before the entire file is completely RIPped. Many technical complications occur when using RIPs, with or without the VIPP programming language on Xerox Docu-tech® printers, such as the commonly known problems associated with RIPping PDF files created with PDF writers other than Adobe Acrobat® or the mixing of Type 1 and True Type fonts in the one PDF file.
Unfortunately, all of the known methods applied for printing variable personalised data are insufficient for the use by individuals, small to medium companies and most commercial printers to produce variable or personalised data from a PDL or read only format file.
In so far as a RIP provides a software printer driver with more functionality, it translates the graphics and fonts which describe the appearance of a file, for example a postscript® or an encapsulated postscript file, and translates this to an image of identifiable dots. Attempts at solving the problems with printing variable or personalised data in PDL or read only format files have been aimed at modifying the RIPping process, mostly through high level programming such as with the VIPP system, or manipulating RIPped files.
US Patent No. 6,134,018 tackles the problem of printing variable or personalised data in a document whilst minimising the amount of electronic storage space required. A master document is RIPped into a compressed format, the result of which is saved in an electronic storage device such as cache memory, RAM or hard disk. The master document is RIPped and saved simultaneously and the compressed format document is re-RIPped and re-compressed using the same algorithm as employed in the first RIP process. During the re-RIPping and re-compression process, variable data is RIPped directly into the master document such that personalised data is RIPped to a frame buffer having a master document. The compressed file may be decompressed and forwarded to a print edge. Thus, a high level programming language is employed to
provide personalised or variable data to a RIPped postscript® format file which does not address the abovementioned disadvantages.
In US Patent No. 6,476,931, there is provided a method of re-using portions of a printer ready representation of a previously printed page whereby page assembly instructions from a previous page are employed for a subsequent page. This minimises the amount of data to be processed. However, this system also employs a high level programming language to modify RIPped data to print personalised or variable information. That is, RIPped files are manipulated to provide the personalised or variable data file for printing in which the personalised or variable data is inserted into pixelised RIPped images and which does not address the abovementioned disadvantages.
Although it is possible to print personalised and/or variable data in a pixelised RIPped data image, there are no methods by which the majority of computer users (who generally do not have RIPping equipment) and commercial printers can employ so as to include personalised or variable data in PDL or read only format file documents such as PDF files.
OBJECT OF THE INVENTION
It is an object of the invention to overcome or substantially ameliorate at least some of the above disadvantages, or to at least provide a useful alternative.
ASPECTS OF THE INVENTION According to a first aspect of the present invention there is provided a method of printing or saving a page description language (PDL) format file having at least one printable page with predetermined variable data inserted therein, said method including the steps of: opening said PDL format file with a computer; defining one or more variable data fields at respective predetermined locations in said PDL format file;
linking each said variable data field to a corresponding predetermined source of variable data; inserting said variable data into corresponding said variable data fields; creating a modified PDL format file with each said respective variable data inserted into said one or more variable data fields; and sending said modified PDL format file from said computer to a printer for printing or to a computer storage device for storage.
Preferably, said PDL format file is selected from the group consisting of portable document format file, Adobe Postscript® and printer control language. More preferably, said variable data is selected from the group consisting of alphanumeric character strings, graphic images, portable document format files, and barcodes and said source of variable data is selected from the group consisting of Microsoft Access® format files, Microsoft Excel® format files, Microsoft Word® tables, graphical format files, and text files.
In preferred embodiments, the step of printing a predetermined number of said modified PDL format file once each said variable data is inserted substantially simultaneously to a subsequent set of variable data being inserted into said PDL format file and a subsequent modified PDL format file being created.
Preferably, said method further includes the steps of: defining alphanumeric graphic strings, graphic images, portable document format files, and barcodes within said read only format file as individual paragraph elements wherein said one or more variable data fields can be inserted intermediate any two said paragraph elements; and defining one or more paragraph groups extending over a predetermined portion of said read only format file and consisting of one or more said paragraph elements.
Preferably also, said method having two or more paragraph groups and including the step of moving one or more paragraph elements from one of said paragraph groups to another one of said paragraph groups when said step of inserting variable data into
corresponding variable data fields causes said one or more paragraph elements to move outside said paragraph group, each said one or more paragraph elements after said one or more variable data field are inserted are moved to said another one of said paragraph groups.
Preferably, said method includes the step of increasing the extent of said one or more said paragraph groups on said PDL format file to include a flow-on area to accommodate one or more said paragraph elements when said step of inserting variable data into corresponding said variable data fields causes said one or more paragraph elements to move outside said paragraph group, each said paragraph element after said one or more variable data field are inserted are moved within said paragraph group sequentially forward and into said flow-on area.
In preferred embodiments, said method includes the step of decreasing the extent of said one or more said paragraph groups on said PDL format file to accommodate one or more said paragraph elements when said step of inserting variable data into corresponding said variable data fields causes said one or more paragraph elements to move within said paragraph group wherein said variable data inserted into said variable data field is less than the area defined in said paragraph group, each said paragraph element after said one or more variable data fields are inserted are moved within said paragraph group sequentially backwards such that said paragraph elements are within said paragraph group.
Preferably, when said PDL format file comprises a plurality of printable pages, said step of creating said modified PDL format file is effected by disposing a predetermined number of said plurality of pages onto one or more single pages of predetermined dimensions.
In preferred embodiments, each said variable data field can be linked to another PDL format file having one or more variable data fields linked to a corresponding predetermined source of variable data therein.
According to a second aspect of the present invention there is provided a system for printing or saving a page description language (PDL) format file having at least one printable page with predetermined data inserted therein, said system including: a computer configured to open said PDL format file and adapted to allow a user to define one or more variable data fields at respective predetermined locations in said PDL format file; a source of predetermined variable data in communication with said computer such that each said variable data field is linked to said predetermined source of variable data; wherein said computer is further adapted to insert said variable data into corresponding said variable data fields wherein once inserted, a modified PDL format file is created with each said variable data inserted into said corresponding variable data fields; and a printer or computer storage device in communication with said computer for printing or storing said modified PDL format file.
Preferably, said PDL format file is a page description language format file selected from the group consisting of portable document format file, Adobe postscript® file and printer control language file. More preferably, said variable data is selected from the group consisting of alphanumeric character strings, graphic images, portable document format files, and barcodes and said source of variable data is selected from the group consisting of Microsoft Access® format files, Microsoft Word® tables, graphical format files and text files.
In preferred embodiments, said computer is adapted to define alphanumeric graphic strings, graphic images, portable document format files, and barcodes within said read only format file as individual paragraph elements such that said one or more variable data fields can be inserted intermediate any two said paragraph elements, said computer being adapted to define one or more paragraph groups extending over a predetermined portion of said PDL format file and consisting of said one or more paragraph elements.
Preferably, two or more paragraph groups are defined and wherein one or more paragraph elements from one of said paragraph groups are moved therefrom to another one of said paragraph groups when inserting said variable data into corresponding variable data fields causes said one or more paragraph elements to move outside said paragraph group, each said one or more paragraph elements outside said paragraph group after said one or more variable detail fields are inserted are moved to said another one of said paragraph groups.
Preferably also, said computer is adapted to decrease the extent of said one or more paragraph groups to accommodate paragraph elements being moved within said one or more paragraph groups.
In preferred embodiments, said predetermined number of said modified PDL format file are printed once each said variable is inserted substantially simultaneously to a next set of variable data being inserted into said PDL file and a subsequent modified PDL format file being created.
Thus, there is provided a method and system of printing or saving PDL or read only format files with predetermined data inserted therein which does not require a relatively high level of skill in computer programming to employ, and in which a raster image processor is not required.
BRIEF DESCRIPTION OF THE DRAWINGS
A preferred embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
FIG 1 shows a page of a PDF read only format file according to the preferred embodiment;
FIG 2 is an example. of the page of FIG 1 before creation of a modified PDF read only format file; FIG 3 shows the created modified PDF read only format file of FIG 3 with first variable data inserted therein; and
FIG 4 shows the created modified PDF read only format file of FIG 3 with second variable data inserted therein.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Referring to FIG 1, there is shown a page 1 of a page description language (PDL) format file in the form of a portable document format (PDF) or read only file. The PDF file can contain two or more pages for example corresponding to pages in an advertising brochure, book, presentation or invoice.
The page 1 is displayed on a computer monitor (not illustrated) in communication with a computer (not illustrated). The computer is configured to receive the PDF file via a communication network, publicly accessible telephony service or electronic storage media such as a floppy disc or CD-ROM (not illustrated).
The computer is also configured to run computer software which opens the PDF file. It is noted that the PDF or read only format file can also be created in any page description language such as Adobe Postscript® and a printer control language.
The computer is in communication with a printer (not illustrated) and a computer storage device such as a hard drive, CD R/W, DVD R/W or any other non-volatile memory (not illustrated) for printing or storing predetermined data.
After the computer software has commenced operation, a user opens the PDF or read only format file. The page 1 includes alphanumeric character strings 2, an image 3 and a barcode 4 each disposed in a predetermined location on the page 1.
A user defines one or more variable data fields 51, 52 and 53 at predetermined locations on the page 1. Each variable data field 51, 52 and 53 is linked to a source of variable data. The variable data fields 52 are linked to a source of alphanumeric character strings contained in cells of a Microsoft Excel® file stored on the computer storage device or accessible to the computer via the communication network, publicly accessible telephony service or electronic storage media such as a floppy disc or CD-
ROM. However, any other source of alphanumeric character stings can be used, for example, text files or Microsoft Word tables.
The variable data field 51 is linked to a source of electronic images such as bitmap, jpeg, pcx, gif and tiff format graphics format files via the communication network, publicly accessible telephony service or electronic storage media such as a floppy disc or CD-ROM.
The variable data field 53 is linked to a source of electronic barcodes. The barcodes can be in any preferred format including UPC, ISSN, Code 39, Postnet, Code 128, Interleaved 2 of 5 & 5 of 2, MSI-Plessey, PDF417 or a 2-D barcode. The source of electronic barcodes can be a barcode creator or barcodes stored in a barcode database.
Although not illustrated, one or more variable data fields can be linked to a source of PDF or other PDL or read only format files. For example, PDF or postscript® files defining predetermined page sizes which fit within a defined variable data field on the page 1.
Referring again to FIG 1, the software or the user defines predetermined groups of alphanumeric character strings 2, graphic images 3, barcodes 4 or PDL format files (not illustrated) disposed on the page 1 as individual paragraph elements. The variable data fields 51, 52 and 53 are also defined as individual paragraph elements 2 and the variable data fields can be inserted before, after or intermediate any one or more paragraph elements 2.
Predetermined groups of paragraph elements 2, a graphical image 3 or a barcode 4 are each defined as paragraph groups 6. The paragraph groups 6 define the area over the page 1 which the predetermined groups of paragraph elements 2, a graphical image 3 or a barcode 4 can extend.
In cases where the predetermined variable fields are linked to variable length sources of variable data, a flow-on area 7 is defined by the user to accommodate one or more
paragraph elements 2 which are caused to move outside the paragraph groups 6 once the variable data of a size greater than that of the defined variable data fields is inserted. That is, the paragraph elements 2 are moved within the paragraph group 6 sequentially forward and into the flow-on area 7 to accommodate inserted variable data being larger than the space defined by the variable data field 52 in the paragraph area 6.
Although not illustrated, it is noted that in cases where the flow-on area 7 is not large enough to contain the paragraph elements 2 defined therein once the variable data has been inserted into a variable data field 51, 52 or 53, the paragraph elements 2 forced outside the flow-on area 7 can be moved into a predetermined or adjacent paragraph group 6. That is, excess paragraph elements 2 resulting from the insertion of the variable data can be moved to a predetermined location in another paragraph group 6 or flow-on area 7.
Similarly in cases where the predetermined variable data fields are linked to variable length sources of variable data which is of a smaller size than as defined in the variable data fields 51, 52 or 53, the subsequent paragraph elements 2 are moved sequentially backwards to accommodate variable data so that all paragraph elements 2 are within the paragraph group 6.
Once each variable data field 51, 52 and 53 have been linked their respective source of variable data, the data is inserted into the corresponding variable data fields 51, 52 and 53. A modified PDL or read only format file in the form of a PDF file is created by the computer which includes the page 1 with the variable data inserted therein. In other embodiments, however, the modified PDL or read only format file may be any preferred page description language format such as postscript® or a printer control language.
The created modified PDF file is then saved to the computer storage device in communication with the computer and/or sent to the printer. The printer is a consumer laser printer, however, ink-jet or other consumer printer may be used.
Similarly, the printer can be a production publishing digital printer, for example, a Xerox Docu-tech® or Hewlett-Packard® Indigo commercial digital printer. In the latter embodiments, a raster image processor (RIP) is disposed intermediate the computer and the production publishing digital printer for RIPping the modified PDL format file.
The aforementioned steps of creating the modified read only format file can be repeated a predetermined number of times so that a predetermined number of modified PDF files are created for each set of variable data. For example, a PDF file can be created for each of a plurality of intended recipients, the source of variable data including the names and addresses of the recipients.
Although not illustrated, when the PDL or read only format file comprises many pages, the plurality of pages of the modified PDL or read only format file communicated to the printer for printing which begins once one set of variable data has been inserted therein. That is, the modified PDL files are printed before or simultaneous to a subsequent set of variable data being inserted into the plurality of pages. In other embodiments, the modified PDL files are printed once all of the sets of data have been inserted.
In the former case, each modified PDL format file is printed while one or more later modified PDL format files are being created. Once printed, the computer or printer memory resources can be freed up to store subsequent modified PDL format files having subsequent sets of variable data inserted therein. Thus, each set of variable data can be inserted and the one or more pages printed while subsequent variable data is inserted into the one or more pages.
Similarly in the case of saving the modified PDL format files, saving commences at the completion of each set of variable data inserted therein and thereby creating a modified PDL format file for each set of variable data inserted. In this way, the load on the memory resources of the computer are reduced.
In some instances, the page 1 itself can be linked to a source of page watermarks (not illustrated) which can be inserted onto the page 1 when printing and/or saving the modified PDL format file or prior to creating the modified PDL format file. Similarly in the case when the PDL format file comprises two or more pages, the watermark may be inserted onto one or more pages.
In embodiments in which the created modified PDL format files are comprised of two or more pages, the two or more pages can be saved over one or more single pages of predetermined dimensions. For example, two A4 sized pages of a modified PDL format file can be printed and/or saved onto one A3 page or, two A4 sized pages can be printed and/or saved reduced in size over a single A4 page. This is also known as N-up printing in which a predetermined number of pages can be printed onto one or more pages of predetermined dimensions.
Turing to FIG 2, there is shown a page of a sports catalogue 20 in which a plurality of variable data fields 51, 52 and 53 have been defined and which are linked to a source of variable data comprising a plurality of rows and columns and in which each column represents the variable data to be inserted into a variable data fields 51, 52 and 53. That is, each row of data corresponds to one set of variable data and a predetermined number of modified PDL or read only format files are saved or printed for each set of data, independent of the creation of subsequent modified PDL or read only format files having variable data inserted therein.
FIG 3 shows the page 20 having one complete set of variable data inserted therein in which the data relates to one particular addressee having an interest in tennis. FIG 4 shows the page 20 having another complete set of variable data inserted therein in which the data relates to one particular addressee having an interest in golf.
Each page 20 having the variable data inserted therein is then saved to the computer storage device and/or sent to a printer.
It can be seen then that the above provides a system for easily inserting predetermined variable data into a PDL format file, creating a modified PDL format file, and printing and/or saving the modified PDL format file on a computer. Furthermore, it can be seen that there is provided a system in which the merging and printing of the modified PDL files can occur before all sets of variable data have been inserted into the defined variable data fields.
The foregoing describes only a preferred embodiment of the present invention and modifications, obvious to those skilled in the art, can be made thereto without separating from the scope of the invention.