Object oriented printing system
Abstract
An object-oriented printing system includes objects that provide query, data transfer, and control methods. The inventive object-oriented printing system communicates with the remainder of the operating system by means of a standard interface such as a grafport and printer drivers are provided for each printer type within the operating system. Thus, an application not only need not worry about the particular printer/computer combination with which it is to operate, but also need not have a built in document formatting capability. The printing system includes objects that provide queries for device identification, optimized imaging, and printer status. Other objects are also provided for data transfer to bracket connections prior to sending and receiving information. Still other objects are provided for cancelling a print job, pausing a job, and clearing out a job. Finally, an object is also provided for supporting multiple streams of communication to an imaging task.
Claims
exact text as granted — not AI-modifiedHaving thus described our invention, what we claim as new, and desire to secure by Letters Patent is:
1. A computer system for controlling a print device to generate a printed output, the computer system comprising:
(a) an application program for generating printable information;
(b) a storage device;
(c) a processor for executing the application program, for storing the printable information in the storage device and for retrieving the printable information from the storage device;
(d) an operating system stored in the storage device and cooperating with the processor for controlling the print device, the operating system comprising:
(1) a printing interface for formatting and paginating the printable information in response to commands generated by the application program;
(2) a printer handler for receiving formatted printable information from the printing interface, for converting the formatted printable information to a native imaging model of the print device, for modifying the printable information to include predetermined printer commands to control the print device and for providing an output data stream which includes the printable information modified to include the predetermined printer commands; and
(3) means for transmitting the formatted, printable information from the printing interface to the printer handler; and
(e) communication means for receiving the output data stream from the printer handler and for transmitting the output data stream including the modified printable information to the print device.
2. A computer system as recited in claim 1 , wherein:
the communication means converts the modified printable information data into electrical signals that are sent to the print device; and
the printer handler includes a plurality of query methods a plurality of data transfer methods and a plurality of control methods and wherein at least one of the plurality of query methods is a method for querying the print device for status information.
3. A computer system as recited in claim 1 , wherein the printing interface generates a document folio which includes textual and graphics data which has been formatted and arranged in a manner specified by the application program; and wherein the computer system further includes a print channel object created to transport the document folio to the print device, wherein the application program identifies the printable information with a print job description and a printer identification which the print channel object uses to transmit the printable information to the print device.
4. A computer system as recited in claim 3 , further comprising:
a spooler for receiving printable information from the print channel object;
an intermediate storage location, coupled to the spooler, wherein the spooler stores the printable information received from the print channel object in the intermediate storage location in a predetermined order; and
means for notifying the printer handler that printable information is stored in the intermediate storage location.
5. A computer system as recited in claim 4 , wherein the printer handler further comprises:
a despooler for retrieving the printable information from the intermediate storage location and forming a data stream; and
an imaging engine, coupled to the despooler for receiving the data stream, the imaging engine converting the data stream fed thereto into command signals for driving the print device to provide the printed output.
6. A computer system as recited in claim 1 , including menu means for initiating a print operation.
7. A computer system as recited in claim 1 , including means for connecting the printer handler to a remote computer system having a second print device.
8. A method for controlling a computer to generate a printed output, the method comprising the steps of:
(a) generating printable information comprising at least one of textual data and graphics data using an application program running in a local computer;
(b) formatting the printable information in response to commands generated by the application program;
(c) paginating the printable information in response to commands generated by the application program;
(d) generating a document folio which includes the printable information which has been formatted and paginated by the application program;
(e) spooling the printable information onto a storage device of the local computer;
(f) connecting the local computer to a remote computer system having a print device coupled there to;
(g) converting the printable information to a native imaging model of the print device coupled to the remote computer system;
(h) modifying the printable information to include predetermined printer commands to control the print device of the remote computer system; and
(i) transmitting the formatted, modified printable information to the print device of the remote computer system for printing.
9. A method as recited in claim 8 , including the step of querying the print device of the remote computer system for status information.
10. A method as recited in claim 8 , wherein step (i) includes the steps of:
(i1) storing a graphic description of the documentation folio on the storage device as a print job;
(i2) transmitting a message to a printer handler that there is a print job for the print handler to process;
(i3) locating the print job via the printer handler;
(i4) retrieving the print job from the storage device;
(i5) converting the print job to a native imaging model of the print device; and
(i6) sending the converted print job to the print device.
11. A method as recited in claim 10 , further comprising the step of:
(j) prioritizing the print job in a print queue of the remote computer system.
12. A method as recited in claim 10 , further comprising the steps of:
(k) converting the print job retrieved from the storage device into command signals;
(l) providing the command signals to the print device; and
(m) using the command signals to drive printing elements of the print device and to produce a printed document.
13. A method as recited in claim 12 wherein after a particular print job is completed, the method further includes the step of:
(n) deleting the print job stored in the storage device.
14. A method as recited in claim 8 , including the step of:
(p) reporting status information during a print operation.
15. A method as recited in claim 14 , including the step of:
(q) reporting status information when a new page is encountered.
16. A method of transmitting a document to a printer under control of an application program, the method comprising the steps of:
(a) generating a document folio containing textual and graphic data to be printed, the data being formatted and arranged in a predetermined manner specified by the application program;
(b) generating a print job description and a printer identification code for the printer;
(c) instantiating a print channel object using the printer identification code to transport the document folio to the printer;
(d) providing the document folio and the print job description to the printer channel object as a print job;
(e) transporting the print job to the printer via the print channel object; and
(f) removing the document folio from the print job and using the information therein to control the printer to print the textual and graphic data therein.
17. The method of claim 16 wherein the step (e) includes the steps of:
(e.1) transmitting the print job to a spooler program;
(e.2) receiving the print job in the spooler program;
(e.3) storing the print job in an intermediate storage location; and
(e.4) notifying a print server via a link that the print job is stored in the intermediate storage location.
18. The method of claim 17 wherein, step (e) further comprises the steps of:
(e.5) notifying a printer handler via the print server that the textual and graphic data has been stored in the intermediate storage location;
(e.6) retrieving the textual and graphic data from the intermediate storage location; and
(e.7) providing the textual and graphic data to an imaging engine.
19. The method of claim 18 wherein step (f) further comprises the steps of:
(f.1) converting, via the imaging engine, the textual and graphic data retrieved from the intermediate storage location into command signals;
(f.2) providing the command signals to the printer; and
(f.3) driving printing elements of the printer via the command signals to provide a printed document.
20. The method of claim 18 further including the step of:
(g) deleting the textual and graphic data from the intermediate storage location.
21. A method for enabling printing by a computer having a memory and an operating system, comprising the steps of:
( a ) providing class libraries for storage in the computer memory from which
( 1 ) a printing interface object may be instantiated to cause the conversion of application program output to page - formatted text and graphic data, and
( 2 ) a print channel object may be instantiated to cause the transfer of the page formatted data to an appropriate printer; and
( b ) providing a run - time environment to
( 1 ) support the instantiation of the printing interface and print channel objects and
( 2 ) selectively cause the transfer by the operating system of the page formatted data to a specific printer.
22. The method of claim 21 , wherein the transfer causing step ( b )( 2 ) further comprises the step of rearranging the page order of the formatted data responsive to a message representing a print job priority.
23. The method of claim 22 , wherein the rearranging step further comprises the step of selectively reorienting the page formatted data responsive to a message representing a predetermined bookler print format.
24. The method of claim 21 , wherein the transfer causing step ( b )( 2 ) further comprises the step of transferring selected portions of the page formatted data to a specific printer.
25. The method of claim 21 , wherein the transfer causing step ( b )( 2 ) further comprises the step of transferring the page formatted data to a selected one of several specific printers.
26. The method of claim 21 , wherein the page formatted data includes text and graphics data arranged in a predetermined printer- dependent format.
27. The method of claim 21 , wherein the application program output includes text and graphics data arranged in a printer- independent format.
28. A computer program product for enabling printing by a computer having a memory and an operating system, said computer program product including a computer- useable means for storing therein computer - readable code comprising:
program code for providing class libraries for storage in the computer memory from which
a printing interface object may be instantiated to cause the conversion of application program output to page - formatted text and graphic data, and
a print channel object may be instantiated to cause the transfer of the page formatted data to an appropriate printer; and
program code for providing a run - time environment to
support the instantiation of the printing interface and print channel objects and
selectively cause the transfer by the operating system of the page formatted data to a specific printer.
29. The computer program product of claim 28 , further comprising program code for rearranging the page order of the formatted data responsive to a message representing a print job priority.
30. The computer program product of claim 29 , further comprising program code for selectively reorienting the page formatted data responsive to a message representing a predetermined booklet print format.
31. The computer program product of claim 28 , further comprising program code for transferring selected portions of the page formatted data to a specific printer.
32. The computer program product of claim 28 , wherein the page formatted data includes text and graphics data arranged in a predetermined printer- independent format.
33. The computer program product of claim 28 , wherein the application program output includes text and graphics data arranged in a printer- independent format.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.