Abstract

A mailpiece inserter system is provided including a User PC or computer, a mailpiece inserter and a client server which are network connected to share information and data concerning mail run data. The user computer is operative to receive operator input in connection with mail run data and produce mailpiece content material having assembly code information. The mailpiece inserter is operative to receive the mailpiece content material and assemble the mailpiece content material in combination with envelops to form a plurality of mailpieces. The client server is operative to receive the mail run data for storing and tracking information concerning the assembly of each mailpiece. The communication network may be disabled in an open loop control mode to facilitate rapid mailpiece processing and enabled in a closed loop control mode to facilitate tracking, reconciliation and security of mailpiece assembly. The mailpiece inserter includes an inserter control system operative to read and interpret assembly code information directly from the mailpiece content material in the open loop control mode. The client server includes a control system engine operative to receive the assembly code information from the user computer and bi-directionally communicate with the inserter control system of the mailpiece inserter. The bidirectional communication facilitates processing and assembly tracking of the mailpieces in the closed loop control mode.

The present invention relates generally to a method for producing mailpieces, and, more particularly, to a new and useful method facilitating the creation, manipulation and printing of mailpieces for use in combination with a mailpiece insertion system.

BACKGROUND OF THE INVENTION

A mailpiece insertion system or a “mailpiece inserter” is commonly employed for producing mailpieces intended for mass mail communications. Such mailpiece inserters are typically used by organizations such as banks, insurance companies and utility companies for producing a large volume of specific mail communications where the contents of each mailpiece are directed to a particular addressee. Also, other organizations, such as direct mailers, use mailpiece inserters for producing mass mailings where the contents of each mailpiece are substantially identical with respect to each addressee.

In many respects, a typical inserter system resembles a manufacturing assembly line. Sheets and other raw materials (i.e., a web of paper stock, enclosures, and envelopes) enter the inserter system as inputs. Various modules or workstations in the inserter system work cooperatively to process the sheets until a finished mail piece is produced. Typically, inserter systems prepare mailpieces by arranging preprinted sheets of material into a collation, i.e., the content material of the mail piece, on a transport deck. The collation of preprinted sheets may continue to a chassis module where additional sheets or inserts may be added based upon predefined criteria, e.g., an insert being sent to addressees in a particular geographic region. Subsequently, the collation may be folded and placed into envelopes. Once filled, the envelopes are closed, sealed, weighed, and sorted. A postage meter may then be used to apply postage indicia based upon the weight and/or size of the mailpiece.

While, in the past, inserter systems were limited to combining mailpiece content material with a mailpiece envelop, i.e., inserting content material in an envelope, inserter systems currently offer a wide variety of features including the ability to: (i) modify, group, and manipulate mailpiece content, (ii) read, interpret and extract information from the print stream/content material and (iii) monitor, record and store information relating to the processing status of each mailpiece for the purposes of correcting and reprinting mailpieces or for use by downstream processes such as Customer Relationship Management (CRM) systems.

As inserters have become more advanced and sophisticated, the set-up and programming requirements of these machines have also become commensurately more complex and difficult. As a result, it has become a necessity for the Original Equipment Manufacturer (OEM) of such mailpiece inserters to become intimately familiar with the operations/needs of customers to define the commands/instructions of the mailpiece inserter for its proper/efficient operation. While such communication between customer and the OEM provides a unique opportunity to develop rules/commands for use by the inserter, it will be appreciated that, should changes be required to the original set-up/rules, the cost associated with subsequent modification (once again requiring the unique skills and knowledge of the OEM) can be prohibitive.

For mailpiece content material to be processed by a mailpiece inserter, the inserter must have certain information either about the individual mailpiece, or concerning the mail run data file. This information may be conveyed in one of two ways. In one operating mode, known as a closed-loop operating mode, the mailpiece inserter is network connected to a User PC or Client Server which permits bi-directional communication therebetween. As such, the User PC/Server may communicate with the mailpiece inserter concerning the assembly instructions of a particular mail run or mailpiece job. If certain mailpieces within a particular job are to be processed differently, i.e., contain different inserts or information, then the mailpiece content material is coded, either by means of an identifying number, barcode or other symbology.

As the mailpiece inserter identifies the individual sheets of a mail run/job, it may query the User PC or Client Server concerning the assembly of the particular mailpiece. The bi-directional communication not only permits instructions to be conveyed from the User PC/Client Server to the Mailpiece Inserter, but other useful tracking information may be stored and/or enable more sophisticated post-processing of the mailpiece job run, e.g., the ability to reprint individual mailpiece content documents and fabricate a previously defective/failed mailpiece. Closed loop operation has, in the prior art, been associated with high volume mailpiece inserter systems wherein the inserter and Client Server are network connected and communicate in two directions. Moreover, the software and computing requirements of such systems can be intensive and the cost of development/maintenance may only be justified in high volume mailpiece inserter applications.

In another operating mode the mailpiece inserter is a stand-alone or autonomous device and mailpiece assembly information conveyed by an assembly or scan code on the face of the mailpiece content material. Inasmuch as the mailpiece inserter is not network connected to a User PC or Client Server, the inserter is preprogrammed to receive and interpret the various assembly or scan codes that it will process (i.e., read or scan directly from the content material). This operating mode, known as an open-loop operating mode, is generally reserved for desktop inserter systems wherein mailpieces are produced in low quantities.

A need, therefore, exists for a mailpiece inserter system which employs dual operating modes, i.e., a closed and open loop control modes, to facilitate the printing of mailpiece content material and the creation, manipulation and fabrication of mailpieces.

SUMMARY OF THE INVENTION

A mailpiece inserter system is provided including a User PC or computer, a mailpiece inserter and a client server which are network connected to share information and data concerning mail run data. The user computer is operative to receive operator input in connection with mail run data and produce mailpiece content material having assembly code information. The mailpiece inserter is operative to receive the mailpiece content material and assemble the mailpiece content material in combination with envelops to form a plurality of mailpieces. The client server is operative to receive the mail run data for storing and tracking information concerning the assembly of each mailpiece. The communication network may be disabled in an open loop control mode to facilitate rapid mailpiece processing and enabled in a closed loop control mode to facilitate tracking, reconciliation and security of mailpiece assembly. The mailpiece inserter includes an inserter control system operative to read and interpret assembly code information directly from the mailpiece content material in the open loop control mode. The client server includes a control system engine operative to receive the assembly code information from the user computer and bi-directionally communicate with the inserter control system of the mailpiece inserter. The bi-directional communication facilitates processing and assembly tracking of the mailpieces in the closed loop control mode.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically depicts the system architecture of a mailpiece insertion system according to the teachings of the present invention including a mailpiece inserter, a server/system processor and a User PC, which mailpiece insertion system is adapted to create, manipulate and print finished mailpieces.

FIG. 1a depicts various elements of the User PC including a virtual driver for converting print stream data of an application into object oriented data for subsequent processing by various system plug-ins/modules.

FIG. 1b depicts a stack of mailpiece content material having an assembly or scan code incorporated in the document for providing instructions in connection with the assembly of the mailpiece by the mailpiece inserter.

FIG. 2 is a block diagram of the method steps for practicing the teachings of the present invention in the mailpiece inserter.

FIG. 3 is a block diagram of the method steps for a reprint function used for correcting damaged or defective mailpieces in the mailpiece inserter.

FIG. 4 is a block diagram of the method steps for a graphics tool for defining fields, developing rules and writing expressions in connection with the fabrication of the mailpiece documents or use in the mailpiece inserter.

FIG. 5 depicts a User Interface (UI) of a rules editor for selecting fields, operations and functions for use by a rules engine plug-in for processing mailpiece documents.

FIG. 6 depicts a PDF rendering of a mailpiece document on a UI monitor for defining fields used by the rules engine plug-in.

FIG. 7 depicts a dialog box for operator input of selected attributes in connection with a defined field.

FIG. 8 depicts a flow diagram of the method steps in connection with the selection/configuration of the system control modes, i.e., open- or closed-loop control modes.

BEST MODE TO CARRY OUT THE INVENTION

The inventive method for creating, manipulating and printing mailpieces is described in the context of a mailpiece insertion system. Before discussing the various method steps employed for practicing the inventive method, it is useful to understand the system architecture of the inserter including the cooperation of the various components and system elements. In FIGS. 1, 1a and 1b, the principle elements of the Mailpiece Assembly System/Architecture 20 comprise a mailpiece inserter 10, a system processor 12 (e.g., a server) and a client/user processor 14, (e.g., a user PC). Each of the system elements 10, 12, 14, is capable of accepting operator inputs, e.g., from an operator input device such as a keyboard or mouse, displaying outputs via a display monitor, and running program code on a system processor. Inasmuch as the elements 10, 12, 14 are network connected, inputs/outputs may be made/displayed from any of the system elements 10, 12, and 14. Notwithstanding the capabilities of each, the server/system processor 12 monitors and records information about mailpieces being processed on the mailpiece inserter 10. At the same time, the client/user processor 14 runs various application software 22 and system plug-ins 24 to create mailpiece content used by the mailpiece inserter 10 to produce finished mailpieces.

The system elements 10, 12, and 14 may function in a closed- or open-loop operating mode. The principle difference in the operating modes relates to whether the system elements communicate in real-time over a network line NL, or autonomously based upon predetermined algorithms. In a closed-loop operating mode the various system elements communicate to convey, monitor, and record information concerning the fabrication of each mailpiece. That is, the system elements 10, 12, and 14 share and store critical information which will be used to correctly assemble, detect errors/deficiencies in, and reprint, mailpieces. More specifically, the User PC runs prior to processing in the closed loop mode to produce the mailpiece documents and mail run data file while the mailpiece inserter 10 and system server 12 communicate in real-time. In an open loop operating mode, the server 12 is not required hence, the inserter 10 operates autonomously/independently and relies upon preprogrammed information internal to the mailpiece inserter 10 to provide the necessary mailpiece assembly instructions.

Whether operating in a closed- or open-loop configuration, the system architecture 20 employs an assembly instruction code AC (i.e., either a mailpiece or scan code) to communicate information concerning the fabrication of a mailpiece from the user processor 14 to the mailpiece inserter 10. In the context used herein, an “assembly or instruction code AC” (see FIG. 1b) is a mark or set of marks placed on the content sheets 28 of a mailpiece (typically in the right- or left-hand margin of the document) to control one or more operations/functions of the mailpiece inserter 10. One such control operation may include information concerning when a new document begins and/or ends in a stack of mailpiece content sheets, i.e., the initial and/or final page of a document. With this information the mailpiece inserter 10 can properly segregate one set of content sheets from those of another. The user processor 14 can upload the assembly instruction code AC from the inserter 10 (if the user processor 14 is connected via a network line NL), and incorporate the appropriate mark (e.g., a numeric identification number) into an object-oriented data file of the mailpiece content material. Alternatively, the user processor 14 can rely upon preprogrammed information of a Mail Creation Print Manager 24 to produce an assembly code AC in the converted image.

The significance of converting the electronic file of the mailpiece content material into to an object-oriented data file and the use of the Mail Creation Print Manager 24 will be discussed in a first section entitled “Print Stream Modification”. Yet other features such as the ability to selectively reprint individual mailpieces which have been deemed defective are discussed in a second section entitled Reprint Function”. Another feature directed to the ability to define fields and generate rules/expressions relating to those fields are most intimately discussed in a third section entitled “Rules Engine”. Finally, the mailpiece inserter system 20 is provided the ability to automatically select or configure the control mode, i.e., open or closed loop operating modes, discussed in greatest detail in a final section entitled “Auto Configuration of Control Modes”

Print Stream Modification

In one embodiment of the invention, a method is provided for producing content material from an electronic application file indicative of a logical document. The method comprises the steps of: (i) producing an electronic file of content material a the software application (ii) generating a print stream of data from the electronic file in a renderable format, (iii) converting the print stream into object-oriented data having defined objects, the objects defined or indexed by an object dictionary, (iv) parsing or segmenting the object-oriented data into a plurality of data sets, each data set comprising at least one data packet, (v) attaching the object dictionary to each data set, (vi) processing the data sets to create at least one logical document and (vii) printing the logical document for use in combination with a mailpiece inserter system.

Referring to FIGS. 1, 1a, 1b and 2, an application 22 such as a word processing, spreadsheet or graphics program is used in Step A to perform user space processes to generate an electronic data file of the mailpiece content. The application 22 is executed or run by an operating system for conducting and controlling various kernel space processes. An exemplary operating system which may be adapted to employ the teachings of the invention includes Windows® 2000 OS (Windows is a registered trademark of Microsoft Corporation having its principle base of operations in the State of Washington, USA). It should be appreciated, however, that the invention may be adapted to employ any operating system.

In step B, the operator inputs a print command which causes the application to generate a print stream of renderable data. That is, a Graphics Device Interface (GDI) applicable to a Windows-based Operating System (OS) is used by the application to appropriately render the text and graphics of the mailpiece content material. The GDI functions can be used to draw text, create paths, and generate bitmap & graphic images (e.g., lines, curves, closed figures, etc.). Furthermore, the application software can use the GDI functions to set operating modes and make current selections for an output device, e.g., a printer or video display. The operating modes may include: (a) the text and background colors, (b) the mixing mode which specifies how colors combine with colors already existing on the display surface, and (c) the mapping mode which dictates how coordinates used by the application software are mapped relative to the coordinate system of the output device. The current selections may identify which drawing objects (e.g., pens, brushes and fonts) are to be used. Inasmuch as the code/algorithms to generate such attributes are generally known to those skilled in the art, such program code is not discussed in greater detail herein. It is suffice to say that the attributes are defined using such devices as a GDI (or similar program code) for rendering the print stream data.

In step C, the Print Stream Data (PSD) rendered by the GDI (see FIG. 1a) is converted into object-oriented data OOD such as those objects/definitions/dictionaries employed in Portable Document Format (PDF) files. Inasmuch as a PDF conversion has become known in the industry as a universal term for an object-oriented data file, the terms PDF data and object-oriented data may be used interchangeably. However, it should be appreciated that such conversion is not limited to the specific objects/attributes typically assigned to/defined by PDF documents. For example, metacode data has some of the same features/attributes as PDF data, but in the broadest sense is, nonetheless, object-oriented data.

Returning to our discussion of Step C, the print stream data PSD is intercepted and manipulated by a Mail Creation Print Manager and associated Plug-in modules in preparation for printing by a conventional printer driver 30. More specifically, in FIG. 1a the program code of a Virtual Print Driver 24PD is adapted to convert the print stream data PSD (generated in response to an operator print command) into Object-Oriented Data OOD having defined objects/attributes. As mentioned in the preceding paragraph, the objects/attributes of the object oriented data OOD are essentially the same as those employed in PDF documents, though the objects selected and attributes assigned may have different meanings depending upon the selected format. Moreover, these objects are indexed in an object dictionary DIC (or header) for locating/identifying the data within the print stream.

The print stream data PSD is then parsed or segmented into a plurality of data sets which may each comprise one or more data packets. The number and size of the data sets are generally determined by the size of an individual page of the original document though the data packets may be smaller and contain multiple packets (e.g., two or more) for comprising a data set. In step D, the dictionary is attached/coupled to each data set, hence resulting in multiple data sets each having a shared object dictionary. The object dictionary may be common to many of the data sets, or may be individually modified or configured to index/identify the objects of a specific data set/packet. Hence, by attaching a configurable dictionary to each data set/packet the individual data sets/packets may be specifically, modified and manipulated.

By segmenting the print steam data into a plurality of data sets (each having an attached/coupled dictionary), throughput of the mailpiece inserter is significantly enhanced. That is, by segmenting the PSD into smaller units, the printer driver can begin incrementally printing of the segmented data. Accordingly, printing can begin before the entire electronic file and dictionary contents are completely processed (the dictionary is typically appended to the end of the electronic file). Furthermore, conversion of the print stream data into Object-Oriented Data OOD provides a unique opportunity to enable and perform manipulation of the print stream data PSD from the application software. For example, the OOD enables the user/system operator to define regions within the document, read from identified regions, extract information from select regions, perform operations on information contained in a specific region, insert new information (e.g., insert scan codes), re-order pages of the mailpiece contents, change its pagination, add and/or delete pages from the mailpiece contents, etc. Consequently, the object-oriented data provides significantly greater flexibility and capability to modify, manipulate, insert and/or extract information in connection with content material production/mailpiece fabrication than has been heretofore been directly available to the user/system operator. Furthermore, in the context of a mailpiece inserter, such capability was only available through the combined efforts of the OEM, skilled in the programming language used to operate the mailpiece inserter, and the customer having knowledge concerning the unique requirements and purpose of the mailpiece run data file.

A server application 24SA is then employed to reconstitute the object oriented data and dictionary OOD into individual pages, i.e., the predetermined smallest building block of the mail run data file. Next, the Plug-in Manager 24 PI divides and tracks the-data as pages, documents, or mailpieces depending upon the optimization and timing requirements. Such PI managers are well-known in the art for optimizing and timing the throughput of data, hence no further discussion of the optimization algorithms are provided nor such details warranted.

Additionally, various modules or Plug-Ins 24XX are adapted to modify, manipulate and print the data pursuant to the requirements of a logical document. A logical document is any compilation of data arranged in accordance with the commands and controls implemented by the various plug-ins. Finally, the OOD is converted back into renderable data recognizable by the specific printer driver 30 which converts the OOD into the necessary printer control language PCL for being printed using conventional printer hardware.

In Step E, an assembly/scan code AC is defined indicative of the instructions for each of the mailpieces 28. To develop and execute the assembly code AC, the plug in manager 24 (see FIG. 1) includes a plurality of mailpiece plug-ins or modules 24 CG, 24MC, 24PP, 24DF, 24RE, etc. each having distinct and essentially autonomous functions. Furthermore, the Plug-in Manager 24 enables/disables these plug-ins and manages the workflow for running a particular print job. It should also be appreciated that defining an assembly code AC need not occur at this time, but may be developed at any time prior or subsequent to rendering the print stream data PSD. Table I below is a list and brief description of the various plug-ins managed by the Plug-In Manager 24.

TABLE I

PLUG-IN

DESCRIPTION

ASSEMBLY/SCAN CODE

PRODUCES AN OMR, BARCODE, OR OTHER

GENERATOR

SYMBOLOGY TO PROVIDE INSTRUCTIONS RE:

MAILPIECE ASSEMBLY FOR THE MAILPIECE INSERTER

PRINT/CONVERT TO

USING A GRAPICS DEVICE INTERFACE (GDI) OR

OOD/PDF

VIRTUAL PRINT DRIVER, THE APPLICATION SOFTWARE

FILE IS CONVERTED TO AN OBJECT

ORIENTED/PORTABLE DOCUMENT FORMAT (PDF) FILE.

PRINT TO PRINTER

SENDS AN OBJECT ORIENTED/PORTABLE DOCUMENT

FORMAT (OOD/PDF INCLUDING SCAN CODES) TO

PRINT DRIVER

PRINT PREVIEW

DISPLAYS THE CPDF IMAGE IN ACCORDANCE WITH

THE FORMAT THAT THE DOCUMENT WILL BE PRINTED

I.E., ON THE SELECTED PRINTER.

DOCUMENT BREAK

DETERMINES WHERE IN THE PRINT STREAM ONE

DOCUMENT ENDS AND A NEW DOCUMENT BEGINS.

RULES ARE USED TO DETERMINE WHEN A SET OF

PAGES COMPRISE A LOGICAL DOCUMENT.

DUPLEX PRINTING

DETERMINES THE PRINTING SEQUENCE FOR PRINTING

ON TWO SIDES OF THE MAILPIECE CONTENT

MATERIAL.

FEATURES/DOCUMENT

DETERMINES HOW MAILPIECE CONTENT MATERIAL

SELECTION

WILL BE GROUPED OR SORTED. ALSO USED TO

SELECT WHICH PLUG-INS WILL BE USED TO PROCESS

THE PRINT STREAM.

DEFINE FIELDS

DEFINES THE SPATIAL LOCATION OF A FIELD

(HIGHLIGHTED OR OTHERWISE DESIGNATED BY A

USER) ON A DISPLAYED IMAGE OF A MAILPIECE

DOCUMENT. SUCH FIELDS ARE THEN USED BY A

RULES ENGINE TO ACCESS AND MANIPULATE THE

CONTENTS OF THE OBJECT ORIENTED/PDF

DATA/PAGE.

RULES EDITOR

PROVIDES THE USER WITH THE CAPABILITY TO

MODIFY BASIC RULES AND EXPRESSIONS. TESTING

AND CONFIRMATION OF THE RULES MAY ALSO BE

PERFORMED USING THIS PLUG-IN.

JOB SELECTION

SELECTS WHICH JOB WILL BE PERFORMED BY WHICH

INSERTER, I.E., IF THE SERVER CONTROLS MULTIPLE

MAILPIECE INSERTERS. ALSO ALLOWS THE USER TO

SELECT A PREVIOUSLY SAVED SET OF PRINT STREAM

INTERCEPTION SETTINGS.

MACHINE SET-UP

DEFINES THE INSERTER SET-UP FOR FABRICATING

THE MAILPIECE, E.G., THE MACHINE SET-UP FOR A

MAILPIECE HAVING A C-SHAPE OR Z-SHAPE FOLD

CONFIGURATION.

MAILPIECE TRACKING

MONITORS AND TRACKS THE STATUS OF MAILPIECES,

I.E., WHETHER A MAILPIECE IS SUCCESSFULLY

COMPLETED, FOR THE PURPOSE OF ESTABLISHING A

REPRINT JOB FUNCTION. ALSO CREATES THE MAIL

RUN DATA FILE AND REPRINT FILE, SETS/SAVES

MAILPIECE TRACKING OPTIONS, DETERMINES WHEN A

DOCUMENT IS TO BE DIVERTED, WHEN AN OPTIONAL

INSERT SHOULD BE USED, AND WHEN AN AUDIT PIECE

SHOULD BE GENERATED.

ADDITIONAL RULES

ALLOS USERS TO DEVINE ARBITARY RULES THAT ARE

PROCESSED FOR EACH PAGE, DOCUMENT AND

MAILPIECE FOR THE ENTIRE INPUT FILE.

To produce an assembly/scan code AC, the Mailpiece Print/Plug-in Manager 24 includes an Assembly/Scan Code Generator plug-in 24CG which converts various user/system operator commands into a symbolic representation (e.g., a numeric identifier, OMR marks or Barcode Symbology). These symbolic markings are recognizable by the mailpiece inserter 10 for performing various assembly instructions. More specifically, the Mailpiece Print/Plug-in Manager 24 processes input commands by calling upon the appropriate plug-in(s) capable of processing specific input commands. Examples of input commands may be represented by an assembly/scan code, or a portion thereof, include, (i) document breaks, i.e., where a document begins and ends using a Document Break plug-in, (ii) document printing, e.g., whether the document is printed on a single side or is double-sided by employing a Duplex Printing plug-in, (iii) document combinations, e.g., documents having identical addresses may be combined into a single envelope using a Document Selection plug-in, and (iv) document rules, e.g., documents having an invoice total exceeding a threshold value may receive an insert as determined by the mailpiece creation plug-in using the Rules Engine. The Mailpiece Print/Plug-in Manager 24 then produces/selects an assembly/scan code configuration which symbolically represents the various input commands. The assembly/scan codes AC may take a variety of forms including a series of long and short bars (OMR marks) disposed at a predetermined location or region of the PDF document. Typically such marks SC will appear in the right- or left-hand margin of a document (see FIG. 1a).

In step F, the object-oriented data file, including the scan code data (produced in by the Mail Creation Print Manager & Plug-ins 24 shown in FIG. 1), is configured to form electronic pages/documents/mailpieces and printed. In a closed-loop mode, the pages, mailpieces or documents may contain an identifier which can be read by the system processor 12 for the purpose of obtaining the requisite mailpiece assembly instructions. In an open-loop mode, the pages or mailpiece may contain the OMR or Barcode symbology in a margin of the document. To be recognized by a particular printer, it may be necessary to convert the electronic data back into a suitable Print Control Language (PCL) format. This reversion will typically be performed by a printer driver 30 (see FIG. 1) selected by the operating system based upon the printer 32 called upon to perform the job. Notwithstanding the various processes available to convert the file back into the appropriate PCL format, the processed data are printed using a Print-to Printer Plug-in 24PP. Furthermore, the printed mailpiece content material 28 may be collated to form a stack ready for processing by the mailpiece insertion system 10. While the system architecture 20 depicts a stand alone printer 32 for printing the mailpiece content material 28, the printer 32 may be integrated with the mailpiece insertion system 10. As such, no transfer of the mailpiece content material 28 would be required, i.e., from printer 32 to the mailpiece insertion system 10. That is, there would not longer be a requirement to load the mailpiece content material 28 into one or more input trays 36a, 36b.

For thoroughness of discussion, the Plug-in Manager 24PI may receive object oriented data from one of two paths. The path described in the preceding paragraphs relates to the “print interception path” (i.e., the steps A-E above). Therein, a print command is executed or input to the application 22, the print stream data is intercepted, segmented/manipulated into a plurality of object-oriented data sets, and provided to the plug-in manager for subsequent processing, i.e., processing by the various plug-ins. As mentioned before, this path enhances throughput and flexibility to manipulate data. Alternatively, object oriented data, e.g., a PDF file FB (see FIG. 1a), may be provided directly to the Plug-in Manager from a PDF file source. For example, a main frame processor may produce an entire PDF mail run data file directly to the Plug-in manager for processing by the various plug-ins. In this alternate path, no requirement for data conversion is required, i.e., conversion to object oriented data, and the data may be processed immediately. As such, the time required to perform an object oriented data conversion is abated, though the above-described flexibility to modify the data is lost due to the inability to compartmentalize the data in data set/packets (each with its own configurable dictionary).

Reprint Function

In FIGS. 1 and 3, the System Processor 12, in step G, is capable of storing all of the processed data, i.e., all of the data sets associated with a particular print job, into a repository 34 for subsequent use or further electronic file manipulation. A principle use thereof relates to reprinting damaged or defective mailpieces which may arise from a paper jam, insertion error or mishandled/missing sheets. In FIG. 3, the method steps for performing such reprint function are referred to as the “Reprint Subroutine” which is described in greater detail hereinafter.

In step H, the collation of mailpiece content material 28 is loaded into one or more input trays 36a, 36b of the mailpiece inserter 10 depending upon the configuration and/or size of the content material 28. In addition to the input trays 36a, 36b, the mailpiece inserter 10 may include a pair of insert trays 38a, 38b for combining inserts (e.g., advertisements, coupons, informational literature, etc.) with the mailpiece content material 28. There, the content material 28 is fed into the mailpiece inserter 10 and electronically and/or optically scanned as the content material 28 is handled and conveyed. That is, the assembly or scan code AC may be read to obtain information critical to the assembly of the fabricated mailpiece 40 and/or the various operations to be performed by the mailpiece inserter 10. As mentioned earlier, the assembly/scan code AC may contain a variety of information/instructions/commands including the number of pages in the document, whether the document is to be duplex printed, whether or not inserts are to be combined or added to the content material, etc.

In step 1, the Inserter Control System (ICS) 50IN of the mailpiece inserter 10 senses and relays information concerning the status of the mail run to the Control System Engine (CSE) 50SE of the server/system processor 14. Inasmuch as the mailpiece inserter 10 incorporates a variety of optical sensors and scanning devices (not shown) e.g., photocells, disposed along the feed path of the inserter 10, mailpieces may be independently tracked by the ICS 50 to determine if a mailpiece was successfully completed.

In step J, the CSE 50SE then develops a list of completed job runs and records the same in a Mail Run Data File (MRDF) 52. To appreciate the scope of the stored information, the MRDF 52 contains specific job run information about the processing of each mailpiece (i.e., the assembly instructions pertinent to each mailpiece) including the status information concerning which mailpieces where successfully completed. Additionally, the MRDF 52 contains information concerning when and/or where (i.e., at what station) did the process fail (e.g., a paper jam,) and which mailpieces were affected. While the CSE 50 and the MRDF 52 controls/contains information specific to individual mailpieces involved in a particular mailpiece fabrication job, the Control System Applications (CSA) files 56 and Control System Database File (CSDF) 58 controls/contains information specific to the mailpiece fabrication job. For example, the Control System Applications files 56 may be controlling more than one mailpiece fabrication job, e.g., three jobs across three (3) mailpiece inserters 10. Similarly, while the MRDF 52 may store information specific to each individual mailpiece for a specific mailpiece fabrication job, the CRDF 58 may store information specific to each job run, e.g., the estimated time to completion or number envelops used in a particular mailpiece inserter 10.

In step K, the CSE 50SE queries the list of completed job runs (i.e., resulting in a successfully fabricated mailpiece) located in the MRDF 52 and deletes the reprint file associated with each, i.e., the reprint file located in the reprint repository 34. As such, the remaining files are those which contain a reprint file, hence, the MRDF 52 is reconciled to identify/list damaged and defective mailpieces. Accordingly, the user may then elect to display the list of jobs having a reprint file and any other information contained in the MRDF 52 for the job. From the list, the user can elect to reprint all of the damaged or defective mailpieces or select particular print jobs (e.g., those which may have been assigned a high priority) from the complete reprint file list. Optionally, the user may elect to preview one or more mailpieces (i.e., using the Print Preview plug-in) to validate certain information which may have been the cause for, or given rise to, the defective mailpiece assembly. For example, the assembly/scan code AC may have been improperly coded for communicating the assembly commands to the ICS 50IN of the mailpiece inserter 10.

Once the user selects which mailpieces which are to be reprinted, the CSE 50SE generates an index of the content material pages 28 and disables all unrelated plug-ins of the Mailpiece Creation Print Manager 24. The system disables plug-ins to reduce processing capacity/time for the User PC. The remaining enabled plug-ins generally include the Print-to-Printer plug-in 24PP and, optionally, the Print Preview plug-in (not shown). In step L, the CSE 50SE loads the corresponding reprint files from the reprint repository 34 and, in step M, prints the content material 28 for processing by the mailpiece inserter 10. The method then progresses, once again, through steps H-K for only those selected mailpieces identified for reprint and iterate through these steps as many times as may be necessary or requested by the operator.

While the object-oriented data files (i.e., the coded files) in Step E (FIG. 2) provide additional flexibility with respect to reprinting damaged or defective mailpieces, the object-oriented data files also enable the user/system operator to obtain a full visual picture of the mailpiece content and, as a result, offers the unique opportunity to introduce a graphics editing tool for implementing fields, rules and expressions. Using a networked system architecture, the user/operator can use any PC-based input and/or display device available and retrieve an image of any selected mailpiece of a mailpiece job run. That is, graphic user interface devices may be installed at the mailpiece inserter 10, the system processor 12, or in connection with the User PC 10, for the purpose of visually inspecting or editing mailpiece content material 28.

Rules Engine

Referring additionally to FIG. 4, the method steps for introducing such a graphics tool into the system architecture 20 are shown. In terms of the method steps or algorithms, the graphics editing tool is referred to as the “Rules Engine Subroutine” which invokes several additional plug-ins or modules of the Mail Creation Print Manager 24 (see FIG. 1).

In step N, at least one mailpiece or mailpiece template is displayed on a monitor. Using the Define Fields plug-in Step O, the user selects, by any one of a variety of known highlighting techniques, a spatial position, location or region on the sample mailpiece or mailpiece template. Typically, a pointer is anchored, dragged and released/dropped to define a rectangular region established by the movement within the virtual two-dimensional plane of the input device (typically a mouse having a ball pick-up). Alternatively, other shapes may be used depending upon the shape designation by the user/system operator, e.g., a circle, ellipse or other shape may be useful for other applications.

Using the Rules Editor, the operator/user may, in step P, define, create or modify an expression for performing certain operations. The expression will generally be directly related to the information contained within the designated region, though the expression need not be exclusively associated with the information therein. For example, and referring to FIG. 1a, two designated regions R1 and R2 may be defined in a given document 28. The first region R1 relates to the current page number of the document 28 and the second region R2 relates to the total number of pages in the document 28. The regions may be designated by: (a) selecting a define field operation/command button on the main tool bar of the Define Fields plug-in, (b) selecting an origination point in two dimensional space (in the plane of the image), using the cursor, proximal to one of the numerals “1” and “4”, (c) dragging the cursor over the respective numeral and (d) selecting a termination point to define the two dimensional region, i.e., a length and height dimension, surrounding or slightly oversized relative to the respective numeral. The Define Fields plug-in then displays the highlighted information to the user in a dialog box for the user to visually confirm and/or elect to make certain modifications or rules based on the information/data contained therein. It should be appreciated that the rules editor may be used independently of any field. Once the user defines a field it is available in the rules editor for use in an expression.

In step P, an expression is written by the user/operator using the Rules Editor in connection with the selected region. The expression provides unique or specific commands which may not be required or universally desirable for all mailpiece job runs. Further, while the Rules Editor accepts the input from the user/operator, the Rule Engine 24RE plug-in executes the expression upon processing the mailpiece data. For example, an expression may read—“When the value in field R2 is equal to the value in field R1, then begin new document with the next page”, or “When the value in field R2 is equal to the value in field R1, break the mailpiece document and insert all pages [i.e., since the last time this condition was met], in an envelope”. Accordingly, only when “Page 4 of 4” is processed will a new document or mailpiece be created, and/or only will these pages be inserted into an envelope.

In step Q, the Mailpiece Creation Print Manager 22 may test or simulate the efficacy of the expression to ensure that the job will run according to the desired command(s). Generally, the user/operator will select a quantity of mailpiece pages or documents suitable for providing an adequate sample size for testing the rule or expression. Once successfully tested, this command/expression will be processed by the Rules Engine 24RE Plug-in and converted to an appropriate OMR or Barcode mark by the Assembly/Scan Code Generator 24AC plug-in PI (upon returning to Step E of FIG. 2).

FIGS. 5 through 7 depict various user interface dialog boxes used in connection with the Rules Engine. Specifically, FIG. 5 depicts a typical Rules Editor interface 60 wherein previously defined fields 62, operations 64 and functions 66 are displayed to the user for developing a Rule Expression 68. For example, if a user desires to effect a “next” page with each newly found customer number, then the user may scroll down and select “CUSTOMER NUMBER” in the Fields section 62 of the dialog box 60. To continue developing the expression, the user then selects the symbol “< >” indicative of the operation “not equal to” in the Operations section 64. To select the “Next” page function, the user selects “NEXT” in the Function section 66. Finally, the user moves back to the Fields section 62 to select “CUSTOMER NUMBER”. All of the selections will progressively appear in the Rule Expression section 68 of the dialog box 60.

To Define a new field, i.e., a field which may not be pre-existing, the user selects the Define Fields user interface dialog box 70 shown in FIG. 6. Therein, a PDF image of a mailpiece 72 is displayed for the user. If “CUSTOMER NUMBER” was not a pre-existing Field, the user may draw a rectangular box 74, as previously described, around the region associated with the customer number and select the “create field” input button 76. As such, the rules engine 24RE will process this information to capture the pixels associated with the object drawn. In this example, the pixels selected are associated with the “Customer Number”. In FIG. 7, a related UI entitled “Add/Map Field Form” 80 is displayed (following the user's selection of the “Create Field” button 76) for the user to input the various attributes 82, 86 and 88 of the selected region/field. A name will be input in the “Name” field 82 and the Define Fields plug-in 24DF will calculate the X-, Y-coordinates and the Height and Length of the drawn field, i.e., the rectangular box 74 surrounding the customer name. These calculations may automatically be input by the plug-in fields 84a and 84b. Other information such as the Field Type and/or Highlight Color may be selected in drop-down boxes 86 and 88, respectively.

Upon spatially selecting the Field (in the Define Fields UI 70) and inputting its attributes (in the Add/Map Field Form 90), a field having the designated “Name” will appear in the “Field” section 62 of the Rules Editor. As such, this newly defined field may be used in connection with the various operators and functions identified in the Rules Editor Dialog box.

While the system architecture 20 depicts a server 12 electronically interposing the User PC 14 and the mailpiece inserter 10, it will be appreciated that the system 20 may operate with the same functionality without a central system server or processor 12. In this embodiment, a User PC 14 is tied directly, via the network line NL, to the mailpiece inserter 10 and is adapted to include a stand-alone control system engine 50SE, a mail run database 52 and various control system applications 56. The server or system processor 12, therefore, may be viewed as a convenient home for centrally located program code such as the control system engine 50SE. As such, the control system engine 50SE need not be loaded, nor processing space duplicated on several individual User PCs, but may be shared amongst many users who individually and uniquely generate print jobs and mail run data files.

Auto Configuration of Control Modes

As mentioned early in the discussion of the system architecture, the mailpiece inserter system 20 (shown as a complete system in FIG. 1) is capable of operating in one of two control modes, i.e., an open- or closed-loop control mode. In an open-loop control mode, the communication network between the user PC 10, client server 12 and mailpiece inserter is disabled to facilitate rapid mailpiece processing. That is, inasmuch as the inserter control system 50IN of the mailpiece inserter contains preprogrammed information concerning the assembly codes, the control system 50 does not expend additional time to query the client server for assembly information. Furthermore, in the open loop control mode the control system, time is not expended tracking the status of mailpieces as they are assembled. Hence, certain benefits can be derived, especially relating to the speed in which a job is completed, when operating in an open-loop control mode.

In a closed-loop control mode, the communication network between the user PC 10, client server 12 and mailpiece inserter is enabled to provide additional functionality. (though a small sacrifice in processing speed may be required). Bi-directional communication provides for mailpiece assembly processing to be tracked, i.e., to determine whether all mailpieces have been successfully fabricated. Furthermore, error recovery functions can be incorporated. For example, rules or expressions can be executed in the event that (i) an assembly code is misread, (ii) duplicate pages of a collation are printed (altering the sequence/number of sheets received by the mailpiece inserter) or (iii) an incorrect collation is loaded into a mailpiece inserter. Furthermore, additional security measures can be incorporated in a closed-loop operating mode. For example, should a mail run job relate to printing of payroll checks, it may be desirable to closely track when a check is inadvertently misplaced or when two checks are installed in the same envelope. When processing a mail run in a closed-loop control mode, these functions can be incorporated by means of a simple User Interface (UI) which poses an inquiry to an operator. That is, the UI interface can provide the various tracking and error recovery options discussed above to the user.

Moreover, to avoid the requirement for individual system users to determine when a mail run is to be open or closed loop, the mailpiece inserter system incorporates a method for the system to recognize the control mode by evaluating the assembly code. FIG. 8 depicts a simplified flow diagram of the method steps for such auto selection/configuration of the system control modes, i.e., open- or closed-loop control modes. In step R, the operator first determines which of the mailpiece inserters (assuming that the system includes more than one mailpiece inserter) will be used to process a particular mailpiece fabrication run/job. At times, to expedite processing, it may be desirable to share or split one mail run across several mailpiece inserters. As part of this step, the system may evaluate whether the inserters selected have the capacity to process the job requested by the operator. If the system capacity is adequate, the job will proceed for processing. Alternatively, the system will advise the operator of the system capacity and suggest/recommend an alternate source or selection of mailpiece inserters to perform the job requested.

In step S, the client control system engine 50 evaluates the Assembly Code AC for a controlling characteristic. That is, a portion of the Assembly Code AC may be used to used to designate when the mail run/job is to be processed in accordance with a particular control mode. For example, a digit, code or symbol may be designated or added to the Assembly Code to indicate that a mail run/job is to be processed in a closed-loop control mode. In the described embodiment, and referring to step T of the figure, a ‘match code’, (i.e., a code used for determining when a mailpiece begins and ends within a collation of printed sheets) is used as the controlling item or symbol. Though, it will be appreciated that any one of a variety of codes (i.e., of those employed in a typical assembly code) can be designated as the “control item”. Therefore, when the Server Control System (SCS) scans an assembly code having its match code designated as the controlling item, the system automatically is configured for closed loop control operation.

Following this inquiry, the SCS assigns the job as being closed, in Step U, or open, as shown in Step V. If a closed loop control mode is assigned, it is assumed that additional functionality may be desired and a User Interface providing these options is enabled in Step W. These options, also referred to as tracking instructions or options, were discussed in the preceding paragraph and related to additional flexibility in terms of reconciliation, reprint functions, error recovery or security safeguards. Alternatively, in Step X, the UI Interface may be disabled when operating in an open-loop control mode and the user is not presented with the closed-loop UI elements.

In the auto control configuration, therefore, the system is able to discern which control mode the mailpiece inserter system is operating. Once the assembly code or portion thereof (such as the match code) is designated as the controlling option or feature, subsequent users of the system need not continually select the control mode for each mail run or job.

In summary, the inventive method formats documents and intercepts the Print Control Language (PCL) print stream thereof (or any data stream or output file produced by conventional application software) to facilitate the creation, modification and printing of mailpieces produced by a mailpiece inserter. The print stream modification (i.e., to object oriented data in the form of data sets each having an attached object dictionary) enables incremental processing/printing of the data. That is, the printer can initiate document production on one logical document as the plug-in manager processes other logical documents. Accordingly, the logical documents can be printed “on the fly” without the requirement to save the data in an external file. Furthermore, by printing completed documents while others are still “in-process”, the completed documents may be installed/input to the mailpiece inserter so that mailpiece assembly/fabrication can be initiated quickly. It will therefore be appreciated that the throughput of mailpiece content material is substantially enhanced by the method and system architecture of the present invention.

Moreover, the print driver program code adapted to intercept the print stream and convert the application file into an Object Oriented Document (OOD) or Portable Document Format (PDF) file. In addition to providing flexible document distribution, the converted OOD/PDF file provides an ability to assign attributes to various fields and regions of the mailpiece content material. As such, conversion into an object oriented data file or PDF provides a unique opportunity to enable and perform manipulation of the electronic application file on a (i) page-by-page, (ii) mailpiece-by-mailpiece or (iii) document-by-document, or (iv) on the basis of an entire mailpiece data file.

The OOD/PDF file enables the user/system operator to define fields, read from identified regions, extract information from select regions, perform mathematical and other operations on information contained in a region, insert new information, re-order pages of the mailpiece contents, change the document pagination, add and/or delete pages from the mailpiece content material, etc. Therefore, conversion to an OOD/PDF file provides significantly greater flexibility and capability to modify, manipulate, insert or extract information in connection with mailpiece fabrication. In the prior art, such capability was generally directed to entire documents for ease of distribution. Furthermore, the ability to manipulate the inserter system was only availably through the combined efforts of the OEM (skilled in the programming language used to operate the mailpiece inserter) and the customer (having knowledge concerning the unique requirements of the mailpiece contents). The present invention, therefore, enables the user/operator to customize the operation of the mailpiece inserter without the need for OEM support or the program skills of the OEM.

It should also be appreciated that the rules engine is not specific to the production of mailpieces, but is a mechanism that allows decisions to e made based on the content of any object oriented data file/document. Furthermore, it allows for the programmatic manipulation of the object-oriented content. The rules engine is extensible by permitting users to create individualized functions. These functions have the same access to document content and the general processing environment as the built-in functions. This, therefore, allows users to incorporate their specific business logic into rules/expressions.

It is to be understood that the present invention is not to be considered as limited to the specific embodiments described above and shown in the accompanying drawings. The illustrations merely show the best mode presently contemplated for carrying out the invention, and which is susceptible to such changes as may be obvious to one skilled in the art. The invention is intended to cover all such variations, modifications and equivalents thereof as may be deemed to be within the scope of the claims appended hereto.

Claims (14)

1. A mailpiece inserter system comprising:

a mailpiece inserter operative to receive a collection of mailpiece content material and assemble the mailpiece content material in combination with envelops to form a plurality of mailpieces, the inserter including an inserter control system;

a client server operative to receive the mail run data for storing and tracking information concerning the assembly of each mailpiece and including a control system engine; and

a communication network facilitating the transfer of data between the mailpiece inserter and client server, the communication network being disabled in an open loop control mode and enabled in a closed loop control mode,

the inserter control system having program code operative to read and interpret the assembly code information from the mailpiece content material when the communication network is disabled in the open loop control mode, and

the control system engine having program code operative to receive the assembly code information from a user computer and bi-directionally communicate with the inserter control system to process and track the assembly status of the mailpieces when the communication network is enabled in the closed loop control mode.

2. The mailpiece inserter system according to claim 1 wherein a portion of the assembly code is used to designate the mail run as being processed in one of the control modes.

3. The mailpiece inserter system according to claim 1 wherein the control system engine of the client server assigns the mail run as being processed in one of the control modes.

4. The mailpiece inserter system according to claim 1 wherein the control system engine of the client server enables a user interface in a closed-loop operating mode, the user interface operative to accept operator inputs in connection with tracking instructions during mailpiece assembly processing.

5. The mailpiece inserter system according to claim 2 wherein the portion of the assembly code for designation is a match code.

6. The mailpiece inserter system according to claim 4 wherein the tracking instructions relate to reconciling defective mailpieces during mailpiece assembly processing.

7. The mailpiece inserter system according to claim 4 wherein the tracking instructions relate to error recovery instructions during mailpiece assembly processing.

8. A method for fabricating mailpieces in mailpiece inserter system, the method comprising the step of:

providing a mailpiece inserter operative to receive the mailpiece content material and assemble the mailpiece content material in combination with envelops to form a plurality of mailpieces, the inserter including an inserter control system;

providing a client server operative to receive the mail run data for storing and tracking information concerning the assembly of each mailpiece and including a control system engine; and

generating a communication network facilitating the transfer of data between the user computer, mailpiece inserter and client server, the communication network being disabled in an open loop control mode and enabled in a closed loop control mode,

wherein the inserter control system includes program code operative to read and interpret the assembly code information from the mailpiece content material when the communication network is disabled in the open loop control mode, and

wherein the control system engine includes program code operative to receive the assembly code information from the user computer and bi-directionally communicates with the inserter control system to process and track the assembly status of the mailpieces when the communication network is enabled in the closed loop control mode.

9. The method according to claim 8 further comprising the step of designating a portion of the assembly code to indicate the control mode for processing the mail run data.

10. The method according to claim 8 wherein the control system engine of the client server is employed to assign the mail run data for processing in one of the control modes.

11. The method according to claim 8 further comprising the step of providing a user interface when operating in a closed-loop operating mode, the user interface operative to accept operator inputs in connection with tracking instructions during mailpiece assembly processing.

12. The method according to claim 9 comprising the step of designating the match code as the portion of the assembly code.