The invention relates to printing and other output of documents using data processors, and particularly to methods, apparatus, and computer programming useful for controlling output processes.
The invention provides systems, methods, and computer programming useful for minimizing the number of command inputs required from a user to complete printing or other output of multiple documents. The invention also provides systems, methods, and computer programming useful for printing documents using content data received from users or other sources, together with previously-provided form data, according to predetermined formats.
For example, the invention provides systems useable for printing or other output of documents, such systems comprising one or more input or other client devices adapted for providing content data to an output server or servers, and one or more form data stores accessible by the output server(s). The form data stores include data useable by the output server(s) for compiling, in combination with the content data, one or more documents according to predetermined formats.
Output servers according to such embodiments of the invention are adapted to access the content data and the form data store, compile the content data and form data, and cause an output device to output at least one document according to the at least one predetermined format, using the compiled data.
Output servers can comprise any hardware or software suitable for use in accomplishing such purposes. For example, an output server can comprise a separate, e.g. remotely-located, physical computer or processor, or a suitably-configured programming structure running on a client device, or any combination(s) thereof.
Output devices can comprise any printers, facsimile transmitters, graphic display devices, or other devices or applications consistent with the purposes described herein. For example, output devices can comprise e-mail servers or applications, bulletin board or chat-type applications, and any desired multi-function devices.
The invention further provides processes for controlling such printing or other output processes. Such processes are performed by a computer or computers such as client devices and/or output servers, and can include receiving from an input or other client device content data useful in preparing one or more documents; accessing in a data store form data useful for compiling, in combination with the received content data, data useful for outputting the at least one document according to at least one predetermined format; compiling the content data and the form data to provide data useful for outputting the at least one document according to the at least one predetermined format; and storing the compiled data in volatile or persistent memory. The volatile or persistent memory can comprise any memory directly or indirectly accessible by the processor(s) controlling the output process, including for example dedicated random access or disk storage, or buffers or other memories associated with printers or other output devices involved with the output process.
In other embodiments the invention provides systems, methods, and computer programming useful for minimizing the number of command inputs required from a user to complete printing or other output of multiple documents. For example, the invention provides methods for controlling output processes which include providing to a processor such as a client computer system data useable by the processor for displaying a user interface, the user interface comprising data identifying a plurality of documents that can be output using content data received from the client device and, with respect to each of the identified documents, at least one corresponding interactive item. Such methods can further include receiving from the client device or other processor a command signal set comprising at least one identification signal, the identification signal identifying at least one of a plurality of the identified documents to be output, and at least one execution signal. Such command signal sets and identification signals can be provided, for example using well-known ‘point-and-click’ methods using trackballs, mice, or other interface controllers, by enabling a user to select one or more check boxes or radio buttons corresponding to desired documents, and pushing a control button associated with the interface controller, selecting an interactive execute item, or otherwise providing an execution command. Upon receipt of such an execution signal, the processor(s) can provide to one or more output device(s) data useable by the output device(s) for outputting the one or more documents in human-readable form.
In further aspects or embodiments the invention provides computer memories communicatively linked to processors such as client computer systems and to output devices, the memories comprising computer readable media representing form data useable for compiling, in combination with content data received from the client device, data useable for outputting one or more documents according to at least one predetermined format. Such form data can comprise any data useful in outputting such documents, including for example type fonts and size information; page size, margin, and other formatting information; and standardized text and images used in preparing or identifying the documents, such as letterheads, logos, and form paragraphs in contracts, notices, and other documents.
In other aspects, the invention provides computer-usable media comprising computer readable code embodied therein for causing computers or other automatic data processors to execute commands in conformance with the processes disclosed herein.
Methods, apparatus, and programming according to the invention can be used to cause multiple documents to be output simultaneously, using minimized numbers of command input signals, with significantly reduced demands on data transfer and communications systems. Output of documents in accordance with the invention can significantly reduce the amount of data processed by and/or transferred between servers, client systems, and output devices such as computers, and can save users of such devices significant amounts of time and trouble in obtaining output of documents.
As will be apparent to those skilled in the relevant arts, once they have been made familiar with this disclosure, and as further disclosed herein, content data comprises any information desired to be output in one or more documents that is specific to a particular document or set of documents related to a specific transaction, or otherwise designated as serving a specific purpose in a document. Content data can include static data specified by a user of an interactive input process or provided to a processor in disk, database, tape, card, or other batch form, including both text and images, or dynamic content of any compatible form, including for example changeable text matter or audio or video data, including for example data provided in flash, .mpeg, or .wave, or other formats.
As will further be apparent to those skilled in the relevant arts, once they have been made familiar with this disclosure, and as further disclosed herein, form data can comprise any data useful in outputting such documents, including for example type fonts and size information; page size, margin, punctuation, column, page numbering, and other formatting information; and standardized text and images useful in preparing or identifying the documents, such as letterheads, logos, and form paragraphs in contracts, notices, and other documents. Form data can include static and/or dynamic useful in compiling a form, including for example text and images, or dynamic content of any compatible form, including for example changeable text matter or audio or video data, including for example data provided in flash, .mpeg, or .wave, or other formats.
As will further be apparent to those skilled in the relevant arts, once they have been made familiar with this disclosure, and as further disclosed herein, predetermined (i.e., preselected or otherwise desired) formats can comprise any specific or general forms contemplated for use in outputting documents. For example, predetermined formats can include specific sizes, sequences, relational juxtapositions, or formats of text, images or other information used in presenting a document intended to be comprehensible to a human user.
As further disclosed below, it can be advantageous in some circumstances to provide documents in predetermined format(s) using data sets that are at least initially application-, or format-, neutral. That is, in forms which are immediately interpretable (i.e., “native”) to an intended output device, and/or easily translatable by output programs or devices into any desired format for further output processing. Thereafter, the format-neutral document(s) can be translated into any desired formats, such as, for example, Word™-compatible.doc formats, Adobe.pdf format, jpeg, .gif, etc. Format-neutral output can include, for example, stream of data that are interpretable, with or without further processing by printers or other output devices. One format that has proved particularly useful in present embodiments is the well-known PCL open-document format. For purposes of this disclosure, “application-neutral” and “format-neutral” are synonymous.
As will further be apparent to those skilled in the relevant arts, documents, for purposes relevant to this disclosure, can include any physical or virtual documents, including printed or printable documents, images, etc.
Systems, methods, and programming code according to the invention are suitable for use in outputting all types of documents, particularly where output of multiple documents is desired, the documents being prepared based on a shared set of content data.
One application in which systems, methods, and programming according to the invention may be particularly useful is where the output documents are to be retained as evidence of acceptance, acknowledgement or other action by a user of the documents, as for example where the documents are to be signed or otherwise witnessed or authenticated. Such evidence may be provided for example, in the case of a physical document such as a set of papers, by physical written signature or, in the case of electronically-maintained documents, by electronic representations of such signatures or by association of the output document data sets with security devices such as biometric access controls. Such biometric access controls can include, for example, fingerprint readers/records, voice recognition data/equipment, retina scans, etc.
One industry in which systems, methods, and programming according to the invention may be applied with particular advantage is the financial services industry. For example, transactions pertaining to loan or credit applications, the issuance or transfer of securities, the opening and/or management of accounts such as savings or checking accounts, the establishment and transfer of shares in mutual funds or other real or personal property, the preparation, issuance, and maintenance of insurance policies all typically involve the preparation of multiple documents based on sets of content data which may advantageously be shared between the documents. Such shared information can include, for example, names and other identifiers associated with account holders, lenders, borrowers, securities issues, etc., which must appear in multiple documents. The invention offers significant improvements in the preparation and control of such output documents.
Many of the advantages afforded by systems, processes, and programming according to the invention will be made apparent in the disclosure which follows.
The invention is illustrated in the figures of the accompanying drawings, which are meant to be exemplary and not limiting, and in which like references are intended to refer to like or corresponding parts.
Preferred embodiments of methods, systems, and apparatus according to the invention are described through reference to the Figures.
Output server(s) or other processor(s) 102 comprise, execute, operate, or are otherwise associated with programming and/or data processors adapted for communication with one or more of input device(s) 104, form data store(s) 106, output device(s) 108, and display device(s) 110; and for control of output and other data processes performed thereby. A wide variety of digital processors and computer programming are suitable for use in implementing output servers and other components of the invention, including for example processors such as those incorporated within modern stand-alone or networked computer systems, operating a wide variety of suitable control or operating system software. For example, systems and processes according the invention may readily be implemented using PC-, desktop, laptop, server-class, personal digital assistant (PDA), and/or mainframe-class computer systems using Windows®, Linux, and/or other operating system software. Output servers can be implemented by or as computer programs or program modules stored on and/or executed by multi-purpose computer systems, such as for example suitably-configured output control application programs running on PC or workstation class computer systems. A wide variety of such processors, application programs, and control and/or operating software systems suitable for use in implementing the invention are now commercially available, and others will doubtless hereafter be developed. The selection of suitable devices and control or operating systems will not trouble those skilled in the relevant arts, once they have been made familiar with this disclosure.
Input device(s) 104 can include any input devices compatible with the objects and processes disclosed herein, including for example computer keyboards, pointing devices such as mouses (mice) or trackballs, and tape, disk, or card readers. In general, such devices include any devices suitable for use in providing to output server 102 and other processors data and preferably also execution and other command signals useful in preparing forms and other documents for output processing. Such input devices can be linked directly to output server(s) 102, or indirectly, as for example through networking of client systems such as PCs or workstations communicatively linked to output server systems via local or wide area networks, and/or public networks such as the Internet.
Data signals provided by input device(s) 104 can comprise signals representing content useful in outputting or otherwise preparing forms or other documents, as well as command and execution signals. As will be understood by those skilled in the relevant arts, a wide variety of forms and other documents are used in business, government, and other forms of commerce. For example, in completing a loan application a bank or other financial services provider can require the preparation of one or more forms useful in executing and memorializing the loan and related notices and records. Such forms typically include both information which relates to the particular matter pertinent to the forms, and information which is generalized, such as form paragraphs, instructions, etc. Such forms are also frequently intended to be presented, upon completion, according to specified, predetermined formats.
The completion of such forms typically involves the “filling in” of, or provision of content data for display within, certain fields, or, as they are sometimes called with physical forms completed by hand, typewriter, etc., “blanks”. Such fields or blanks correspond, in general, to desired dispositions of content data with respect to other content and form data in compiled and/or output documents, so that the data can be appropriately recognized and processed.
In their physical or virtual forms, such documents can comprise fields or blanks in which data representing a wide variety of information is intended to be placed. For example, such forms may have spaces for setting out an applicant's name, address, and other identifiers; terms such as a principal amount of a loan to be established, or a limit to be applied to a line of credit, or one or more interest rates or interest rate benchmarks; payment and default dates and rules; and the like. Data signals representing such information are included within the meaning of content data.
Thus, as will be understood by those skilled in the relevant arts, in some embodiments of the invention content data corresponds to data provided by an individual or accessed from an existing data store which is specific to one or more particular transactions or matters with relation to which one or more documents is to be completed, as opposed to form data, which is used for example in establishing and controlling the format and appearance of output documents.
Form data store(s) 106 can include any form(s) of volatile and/or persistent memory, or combination(s) thereof, suitable for storing data useful in completing, in combination with or without content data, one or more forms, which data is, in general, employed pursuant to one or more protocols, formats, templates, etc., which are of general applicability, and not generally specific to individual transactions or matters. For example, a not uncommon means of completing forms at present is to cause a computer to display an image constructed using suitable form data and corresponding to a form containing blanks for the input of content data pertinent to one or more matters, and, within such blanks, provide interactive data input fields, by means of which a user of a computer may use one or more input devices to input corresponding content data. Known examples of such forms include “fillable.pdf” forms.
Output device (s) 108 can include any processors, printers, memories, or other devices, including where applicable any associated processors or other components, together with associated software or firmware, suitable for use in implementing the systems and processes disclosed herein. Such devices can include, for example, printers; facsimile machines; e-mail servers, programs, memories, or other devices; instant messaging servers, programs, memories, or other devices; any variety of multi-function output devices, and/or any other suitable devices.
Display device(s) 110 can include any devices suitable for providing interactive user interfaces suitable for use for implementing the processes and systems disclosed herein. Display devices 110 can include, for example, cathode ray tube, liquid crystal diode, light emitting diode, plasma, or other screens, together with suitable input and control devices such as keyboards or keypads, mice, trackballs, and/or other pointing and selecting devices, and suitable control programming. A wide variety of such devices are now available commercially, including for example, a very large number of computer display screens provided together with mice, trackballs, etc., and Linux, Windows®, and other operating system software.
Thus for example system 100 can comprise a single desktop computer system associated with an input device such as a keyboard, a display such as a graphic display screen, a disk or other memory storage device, a printer or other device, and one or more pointing and selecting devices such as mice, executing suitably-configured software. System 100 can also be implemented, as disclosed herein, using networked or otherwise communicatively-linked systems of computers, such as application servers and client workstations, together with associated peripheral devices such as printers, display screens, etc. and suitably configured software systems.
As used herein, the term “server” can include either a physical machine comprising one or more processors, an instance of a program or application running on a machine, or any combination thereof.
For clarity, it is shown that client workstation(s) 302 and output server(s) 102 comprise one or more corresponding processors 306 and local memories 308. Local memories 308 can include persistent and/or volatile memories such as random access memories, processing buffers, and local hard- or portable drives such as CD or floppy disk drives.
Network 304, as will be understood by those skilled in the relevant arts, can comprise any one or more of a wide variety of firewalls and other security devices, many of which are well known, and available commercially, and others of which will doubtless be developed in future.
At 202 in the processing flow illustrated in
Such content data can be provided in any suitable batch form or on an intermittent or continuing basis, e.g., through an interactive process executed by an application running on a client workstation 302 or an application server. For example, such content can be provided by a user of a workstation 302 in response to prompts provided by an application running on a user workstation 302, or on a remotely-located application server, incorporated or otherwise associated with, for example, a remote output server 102, via an interactive user interface adapted for eliciting input of pertinent or desired data. For example, an application or application server can cause a graphical user interface to be presented to the user on the display screen 110 of a client workstation 302, the interface comprising one or more interactive graphical fields adapted to provide a specific type of data, such as a name or date, associated with an input field such as box displayed according to a Windows®-style protocol. Using one or more pointing and control devices such as a mouse or trackball with associated control switches, the user can select the appropriate field(s) and, using a keyboard, input desired data. Command or execution signals causing the application server or other processor to read the data from the input field can be provided by activating a control switch associated with the keyboard or pointing device.
An example of a suitably-adapted user interface 400 is shown in
In the example shown, a user has used a pointer, keyboard, and/or other suitable control devices to select appropriate input fields 404 to input content data items “Chocolate Mousse”, “111 111 118”, “110”, “10/07/69”, and “100000”, respectively using, for example, Windows® “point and click:” or other suitable operating protocols.
As will be understood by those skilled in the relevant arts, any suitable method(s) of providing content data may be used in implementing the invention, alone or combination. For example, in addition to or in lieu of the interactive methods described above, batch input methods such as card- or tape reading, or accessing of previously or automatically-compiled databases may be used.
Moreover, content data intended for use in preparing forms can be collected for a series of forms sequentially, or collectively for a plurality of forms to be prepared simultaneously. For example, a client workstation system 302 can be used to interactively collect a set of content data required for outputting a plurality of forms. The data may be stored locally until a desired complete data set has been collected, at which point the content data may be provided to, or made accessible to, an output server 122 for further processing.
At 204 a determination is made as to whether all desired content input has been input by the user and/or received by the processor 102. For example, an interactive input application can execute a loop waiting for input of further content data until such time as a user enters a suitable command signal which causes the processor 102 to stop accepting further input and to move to other processing, or to pass a gathered data set to another processor such as an output server 122 for further processing. The determination made at 204 can be interpreted as indicating that a desired content data set has been stored in volatile or persistent memory(ies) such as memories 308.
For example, by entering a command or execution signal “Y” in response to prompt 406 in
When a desired content data set has been received, at 206 the processor(s) 102 can cause a display 110 associated with, for example, a client workstation 302 to display a list of documents that are available to be compiled using the gathered content data. For example, the processor(s) 102 can determine which of a corresponding set of documents are available for compilation, either by association with a desired process or on the basis of minimum content requirements for compilation of the documents.
For example, in a process for preparing documents related to a consumer or commercial loan transaction, an application executed by the processor(s) 102 can determine which of a selected set of documents is appropriate for compilation using the received content data, or otherwise available for printing. For example, a data record or data set comprising a number of identifiers associated with documents required for completion of a the loan (or an extension of credit, the issuance of a series of securities, or the transfer of real or personal property) can be accessed by the computer, each of the identifiers being further associated with data sets representing form data useful in outputting such documents, particularly when compiled with the received content data.
An example of an interactive user interface suitable for use in controlling such a process is shown in
A wide variety of other output control processes can be provided. For example, one or more selectable items 512 can be provided, to enable a user of the display 110 to send control signals to the processor(s) 102 to cause the display to present one or more compiled documents in a manner such as that in which it might be printed or otherwise output, for review and possible correction, storage, and other further processing; and for example at 508 a list of available output devices, such as printers, facsimile or e-mail servers, etc., can be provided.
When the user is satisfied that all desired compilable documents have been selected, at 210 he/she can cause a suitably-adapted control signal to be provided to the processor(s) 102 controlling relevant portions of the compilation/output process; and at 212 processor(s) 102 can access form data in one or more form data stores 106. Form data stores 106, can be of any suitable type and can be located in any desired association with respect to output server 102, and can be accessed in any suitable manner. For example, as shown in
For example, upon selection of a selectable item 510 by a user and subsequent receipt by the processor(s) 102 of a suitably-adapted execution command signal, the processor(s) 102 can access a form data store 106 to read or otherwise retrieve data useful in compiling any one or more of the forms 504 “Financial Services Terms (513602)”, “Account Agreement (513828)”, etc. in list 502.
With desired form and content data accessible, at 214 processor(s) 102 can compile the form and content data to produce one or more compiled data sets comprising data records suitable for use in printing or otherwise outputting the compiled data in the form of one or more documents.
Compilation of form and content data to provide compiled document output data sets suitable for use in printing or otherwise outputting compiled data in the form of documents can be accomplished in any way or ways compatible with the purposes disclosed herein. For example, content data can comprise one or more data records including text and/or image content, together with identifiers useable by output or other applications for identifying a type, class, or form of the content; while form data can comprise data records including any suitable information for specifying the arrangement and/or appearance of content and other data and/or information on or in an outputted document. Compilation may be accomplished by any means suitable for merging or otherwise placing the content and form data into a single data set (e.g., a string of data records, one or more sets of data files, etc.) useable for causing an output device to produce a document in human-readable form.
An example of coded commands 600 useful for providing computer-readable programming instructions suitable for use in the compilation of a document output data set in the Extensible Mark-Up (XML) language is shown in
At 601 coding 600 of
Content data associated with the item “CL-CUSTOMER-NAME” can be created by, for example, reading data from a suitably-adapted input field such as field 402 “Applicant” shown in
At 602 in
The instructions shown in
As will be understood by those skilled in the relevant arts, format-neutral refers to a representation of document data which has not been manifested in such form that it is processable only in particular document format, for example, according to .pdf, .jpeg, or .doc formats but which is, rather, native to and therefore immediately processable by one or more desired output devices.
At 604 instructions are provided for directing the processor(s) 102 to access form data stored in the form of style sheets containing computer-readable instructions encoded according to the standardized XML protocol, and to use such data in instructing a printer or other output device 108 in outputting one or more documents, using other form and content data, if any, as further specified by instruction set 600.
Beginning at 606 a set of instructions is provided for directing the processor(s) 102 to add to the form data specified at 604 further form data in the form of instructions specifying the page size(s) and margins to be used in outputting physical or virtual documents. For example, in the illustrated example, it is specified at 608 that the form data to be included in the compiled document output set comprises a page size of 8.5.times.11 inches, with margins of 0.333 inches, and with content data merged into the body of the document to be output in “Times Roman” font, using a 9-point type size.
At 610, a series of instructions is provided for causing content data to be merged with both previously-compiled and further-specified form data in such a way as to cause output of a document comprising the specified content data presented according to a desired format. In the example shown, at 612, 614 instructions are provided for causing retrieval of the current content of a data item corresponding to the identifiers “513602” and “CL-CUSTOMER-NAME”, and merging of such content data with form data which, upon processing by an output device 108, will cause the current content data associated with those identifiers to be printed or otherwise displayed at a specified location in a document in a font “Times New Roman” in 9-point size type.
As shown in the remainder of
Content data records can also comprise, in lieu of or in addition to interactively or otherwise explicitly-specified content, content data specified implicitly in the form of links to previously or independently defined content, sometimes referred to as dynamic content, which is designated by a user or other source by address, location, or other class identifier. Examples include internal or external memory address links, such as a register address or uniform resource locator (URL). Such identifiers can be used to cause processor(s) 102 compiling document output data sets to retrieve or otherwise access data stored in such locations and to insert such dynamic data into a desired document in a desired location or other desired relation to other content. For example, an image, digital sound reproduction data, or other non-textual content data may be retrieved and compiled such that it appears in an outputted document in a desired location. Moreover, such dynamic content identifiers can be determined at the time of compilation on the basis of any desired parameters, including for example an identifier associated with an individual user or client system, a time of day or date, or any other desired information.
For example, at 618 in
Instruction set 600 can be compiled prior to a planned data content collection process such as process 202-204 of
A process enabled by instruction sets such as instruction set 600 of
Individual content and/or form data records can be used in outputting documents in as many instances as desired, both within single documents and multiple output documents. Individual document output data sets produced through the processes disclosed herein can be adapted to provide for output arbitrary numbers of output documents, based on arbitrary numbers of uses of such individual data records or data sets. For example, the content data record “CL-CUSTOMER-NAME” referred to at 614 in instruction set 600 of
When, as for example by execution of the instruction set 600 shown in
For example, upon execution of an instruction set such as instruction set 600 shown in
In the example shown in
In the example shown, the text content data “John Doe” may have been entered by a user of an input device 110 associated with a client workstation 302, and thereafter made available to an output server 122 and merged by a processor 306 of output server 122 with form data records corresponding to text form data items 806, etc., in conjunction with formatting information adapted to cause the output of one or more documents containing such form and content data such as document 800 of
An example of a process for outputting documents using compiled document output data sets in accordance with the invention is shown in
Moreover, the virtual image 902 of document 800 can be presented in such a manner as to enable the user of the client workstation 302 or other processor 102 to perform other functions using the corresponding compiled document data set. For example, as shown in
Selection of “OK” control item 1004 in
It is important to note that processes and systems according to the invention are quite adaptable, and are suitable for implementation according to a wide variety of configurations.
For example, it may be noted by reference to
As a further example, methods and processes according to the invention may be implemented in a wide variety of forms. In particular, many of the individual steps or stages of such processes can be accomplished in various orders; any order consistent with the purposes described herein will serve. As a particular example, an alternative form of the process for controlling output processes shown in
Thus, as will be apparent to those skilled in the relevant arts, a wide variety of variations of systems, architectures, processes, and programming structures are suitable for use in implementing the invention.
Further examples of architectures for systems 100 suitable for use in implementing the invention are shown in
In the example shown in
In the example shown in
In the example shown in
The implementation of operating and control system processes, and corresponding programming structures, suitable for use in implementing systems and processes according to the invention using the various architectures disclosed herein, including those shown in
The architecture shown in
Another advantageous feature offered by the use of multiple form data stores as shown for example in
In the embodiment shown in
A schematic diagram of a process for controlling output of documents according to the invention is shown in
At 1 in
At 2 the server 102, having collected desired content data and it being desired to print one or more documents using such data, as described for example in connection with processes 200 and 200′ of
At 3 the queried client system provides the requested key. Server 102 can determine whether the provided key corresponds to a corresponding key maintained by the server 102. If corresponding client-held and server-held keys are confirmed, appropriate acknowledgements may be made. If corresponding keys are not found, then, for example the server 102 can repeat the request, with appropriate warnings and notifications.
Where corresponding client- and server-keys are confirmed, at 4 the server 102 can update a list of authorized client systems (i.e., a “whitelist”), to ensure that only the successfully-queried client can retrieve the key in future. The server 102 can further provide the client system 302 with data such as a URL useable for retrieving content and/or form data. Having received such data, client system 302 can establish a secure HTTP or other suitable connection with the application server 102 using, for example, an appropriately-configured servlet, together with any other data useful or desired for verifying or establishing synchronized keys.
At 5, appropriately-keyed encrypted data signals can be exchanged by the server 102 and client system 302. A unique user identification corresponding to the client system 302 can be embedded within or otherwise associated with exchanged data records. Such data signals can represent, for example, requests for printer lists or lists of other suitable output devices 108 and status information relating to established output processes.
In cases such as those involving transfer of relatively large document output data sets, at 6 the server 102 can provide to the relevant client system 302 control signals indicating that the server will store the document output data set(s) in a memory 308 such as a cache controlled by the server 102, together with suitable address and other information useful in locating and retrieving the stored data set(s).
At 7 the authorized client system 302 can access the stored data set(s) and retrieve it for further output processing. At each retrieval step the authority of the client system 302 to access the data can be confirmed.
The invention further provides processes useful in developing templates comprising form data records, the templates suitable for use in compiling, in conjunction with appropriate content data, document output data sets in accordance with the invention. An example of such a process is shown in
In the example shown in
In a parallel or separate process, at 1410 a developer composes a schema, or predetermined format, for a template to be used in outputting documents, the template comprising any desired form data records useful in causing a document outputted according to the invention to be printed in the desired predetermined format. Such templates may be constructed, for example, according to the XML protocol and stored as XML Schema Definition (XSD) records in one or more suitable form data store(s), or repository(ies), 106.
At 1406 the schema developed at 1410, 1412 and the schema developed at 1402 are merged. The placeholders provided at 1402 can be replaced with output from 1410, 1412. The result can be stored in one or more data stores 106 in the form of an XML Stylesheet Language Transformation (XSLT) document.
At 1416 a user of a processor 102 such as a client workstation 302 provides content data using, for example, and appropriately-configured application program such as that described in connection with
At 1420 the document output data set compiled at 1416 can be stored in format-neutral form in one or more memory(ies) 308. If desired, a user can specify one or more desired output formats (e.g., PCL, .pdf, .doc, gif) and at 1424 the document output data set can be suitably translated by a translation engine into the desired format(s). At 1424 the translated document output data set can be provided to a desired output device and printed or otherwise output.
As will by understood by those skilled in the relevant arts, Printer Control Language (PCL) is an industry-standard page description language which describes actions and commands to be executed by a printer or other output device in order to output a document in a prescribed manner. No additional software or hardware, other than the printer or other output device, is required to translate a PCL-compliant stream of data into the resultant print artifact.
One advantageous aspect of the invention is its use in upgrading systems adapted for prior-art output control processes. An example of the applicability of the invention in upgrading one such so-called “legacy” system is shown in
Having received appropriately-identified address information, middleware server 1504 can wrap or otherwise associate the legacy-format output data into reformatted data comprising the provided addresses. Such wrapped or otherwise reformatted data can be returned to the client system 302 for use in further processing as described herein.
At the time of printing, the output server 102 can query the client system 302 to determine whether output control processes in accordance with the invention are to be used in conjunction with legacy applications. Upon receipt of data indicating a corresponding preference, the output server/middleware application 102, 1504 can perform appropriate reformatting and addressing.
While the foregoing invention has been described in some detail for purposes of clarity and understanding, it will be appreciated by those skilled in the relevant arts, once they have been made familiar with this disclosure, that various changes in form and detail can be made without departing from the true scope of the invention in the appended claims. The invention is therefore not to be limited to the exact components or details of methodology or construction set forth above. Except to the extent necessary or inherent in the processes themselves, no particular order to steps or stages of methods or processes described in this disclosure, including the Figures, is intended or implied. In many cases the order of process steps may be varied without changing the purpose, effect, or import of the methods described.
The present application is a U.S. Continuation application of pending application Ser. No. 15/472,960 filed on Mar. 29, 2017, which is a U.S. Continuation application of Ser. No. 15/444,668 filed on Feb. 28, 2017, which is a continuation of application Ser. No. 15/217,736 filed on Jul. 22, 2016, which is a continuation of application Ser. No. 11/610,087 filed on Dec. 13, 2006 entitled “Web-Based Printing of the Combination of Content Data with Form Data”. The disclosure of applications Ser. No. 15/444,668, No. 15/217,736 and No. 11/610,087 is hereby incorporated by reference into the present application.
Number | Date | Country | |
---|---|---|---|
Parent | 15472960 | Mar 2017 | US |
Child | 15822388 | US | |
Parent | 15444668 | Feb 2017 | US |
Child | 15472960 | US | |
Parent | 15217736 | Jul 2016 | US |
Child | 15444668 | US | |
Parent | 11610087 | Dec 2006 | US |
Child | 15217736 | US |