WO2001031465A1 - Utilizing a printer driver to facilitate printing/assembly of a document - Google Patents

Utilizing a printer driver to facilitate printing/assembly of a document Download PDF

Info

Publication number
WO2001031465A1
WO2001031465A1 PCT/US2000/029310 US0029310W WO0131465A1 WO 2001031465 A1 WO2001031465 A1 WO 2001031465A1 US 0029310 W US0029310 W US 0029310W WO 0131465 A1 WO0131465 A1 WO 0131465A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
printer driver
user
assembly
steps
Prior art date
Application number
PCT/US2000/029310
Other languages
French (fr)
Other versions
WO2001031465A9 (en
Inventor
Robert B. Tonkin
Joseph C. Tapscott
Original Assignee
Kinko's Ventures, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kinko's Ventures, Inc. filed Critical Kinko's Ventures, Inc.
Priority to CA002424231A priority Critical patent/CA2424231A1/en
Priority to AU20399/01A priority patent/AU2039901A/en
Publication of WO2001031465A1 publication Critical patent/WO2001031465A1/en
Publication of WO2001031465A9 publication Critical patent/WO2001031465A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1272Digital storefront, e.g. e-ordering, web2print, submitting a job from a remote submission screen

Definitions

  • the present invention relates to use of a novel printer driver for facilitating printing and assembly of documents.
  • the invention is particularly useful in connection with printing and assembly of a document at a central location by utilizing an electronic network, such as the Internet.
  • the first step in production of a document generally is to create content, such as an arrangement of text, graphics and/or images, to include in the document.
  • the next step is to design the physical assembly of the document, such as by selecting a front cover, back cover, binding type, paper type, paper color, and one or more tab pages. For example, one might select a clear plastic front cover, a solid black back cover, a coil binding, ivory bond paper, and tab pages to designate each section of the document.
  • the tab pages might, for example, be printed with the section numbers or titles and positioned consecutively from the top of the page to the bottom.
  • the document is physically created by printing the content on the selected paper (or other medium) and then assembling the document according to the specified assembly instructions.
  • the final document often would have to be disassembled and the required corrections made.
  • This re-working of the document might only require as few as two or three minutes, for example where the changes involved merely substituting several pages in a small document.
  • the author was dissatisfied, for example, with the color of the paper on which the document was printed or in certain cases with the binding selection, then the entire document might have to be reprinted and reassembled, resulting in a significant waste of time and resources. The problem was even further exacerbated when the document was large or when many copies of the document had to be corrected.
  • the present invention addresses the foregoing needs by utilizing a printer driver to facilitate printing and/or assembly of a document.
  • a printer driver when invoked, it inputs a document electronically and then uploads the document via an electronic network (such as the Internet) to a document production hub that coordinates printing and assembly of documents.
  • an electronic network such as the Internet
  • a printer driver when invoked, it inputs a document electronically and uploads the document via an electronic network to a document production hub that coordinates printing of documents among several different printers.
  • a printer driver when invoked, it inputs a document electronically and opens an electronic connection with a document production hub that permits a user to communicate with the document production hub.
  • the document production hub coordinates printing and assembly of documents.
  • a printer driver when invoked, it inputs a document electronically and opens an electronic connection with a document production hub that permits a user to communicate with the document production hub.
  • the document production hub coordinates printing of documents among several different printers.
  • a printer driver when invoked, it inputs a document electronically and permits a user to input assembly information for the document.
  • Utilizing printer drivers in the foregoing manners can greatly simplify placing a document order at a central document production facility.
  • the processing steps are performed by a printer driver, initiating them typically is no more difficult than printing a document to an attached printer.
  • the user is given the ability to preview how the document will look when assembled according to the assembly instructions that he has provided.
  • the user can verify the document's appearance priorto finally submitting the assembly instructions, often avoiding the need to subsequently re-work the document.
  • FIG. 1 is a block diagram of an environment in which the present invention can be practiced.
  • Figure 2 is a block diagram of a general purpose computer system, representing one suitable computer platform for implementing the communication nodes illustrated in Figure 1.
  • Figure 3 is a flow diagram illustrating computer-executable process steps performed by a printer driver according to a representative embodiment of the invention.
  • Figure 4 is a flow diagram illustrating interaction between a user and a document production hub over an electronic network according to a representative embodiment of the invention.
  • Figure 5 illustrates a print dialogue box opened from within an application program according to a representative embodiment of the invention.
  • Figure 6 illustrates a document preview window generated by a printer driver according to a representative embodiment of the invention.
  • Figure 7 illustrates the initial web page displayed on a user's web browser according to a representative embodiment of the present invention.
  • Figure 8 illustrates a web page for specifying document assembly instructions according to a representative embodiment of the invention.
  • Figure 9 illustrates a web page for previewing an assembled document according to a representative embodiment of the invention.
  • FIG. 1 is a block diagram illustrating the structure of the preferred environment in which the present invention operates.
  • terminals 31 and 32 which may comprise an ordinary computer workstation, a laptop computer, or special-purpose computing equipment.
  • Terminals 31 and 32 communicate with Internet service providers (ISPs) 41 and 42 via a telephone connection, such as by using a modem interface.
  • ISPs 41 and 42 connect to Internet backbone 50 via their respective routers (not shown).
  • ISP 41 receives Internet messages from terminal 31 and then routes them onto Internet backbone 50.
  • ISP 41 pulls messages off Internet backbone 50 that are addressed to terminal 31 and communicates those messages to terminal 31 via the telephone connection.
  • terminal 32 also can communicate over the Internet through ISP 42.
  • such terminals may also connect directly to Internet backbone 50 if provided with the appropriate routers and other hardware.
  • document production hub 60 Also connected to Internet backbone 50 is document production hub 60. As discussed in more detail below, one function performed by document production hub 60 is to retrieve document order messages sent over the Internet 50, process those orders, and then distribute them to one of various document production locations. For this latter purpose, document production hub 60 also is connected to wide area network (WAN) 70. Multiple document production locations, such as locations 71 to 73, also are connected to WAN 70. After determining which document production location should receive a particular order, document production hub 60 routes a message addressed to that document production location onto WAN 70. The respective document production location then retrieves the message off of WAN 70. Generally, each such facility and location will connect to WAN 70 through a router (not shown).
  • WAN wide area network
  • terminals 31 and 32 are shown in Figure 1 as being attached to document production hub 60 via the Internet 50, other methods can also be used for communicating between remote terminals and the document production hub, such as by utilizing a direct modem/telephone line dial-in connection, a wide area network, a local area network (LAN), or any other communication system.
  • different terminals may be connected to document production hub 60 via different communication systems.
  • individual computer workstations might connect to document production hub 60 via the Internet 50, while terminals under common ownership, or whose owners at least have a close relationship, with document production hub 60 might communicate with document production hub 60 via an intranet, any other type of LAN or WAN, or via a direct dial-in connection.
  • document production hub 60 is shown in Figure 1 as being connected to the various document production locations using WAN 70, any other communication system may also (or instead) be used, such as via a local area network, the Internet, an intranet, or a direct modem/telephone line dial-in connection.
  • FIG. 1 Although a single document production hub 60 is illustrated in Figure 1 , it should be understood that multiple document production hubs may instead be used. In this case, such hubs may communicate with each other over the Internet, a WAN, a LAN or in any other manner or else may operate more or less independently. Also, each of such multiple hubs may have exclusive access to certain document production locations or may share access with other hubs. In one example, users may select a document production hub based on the user's geographic location or based on the geographic location where the produced and assembled document ultimately is to be delivered.
  • Figure 2 illustrates a block diagram of a general purpose computer system which can be used to implement terminals 31 and 32, document production hub 60, and/or document production locations 71 to 73.
  • Figure 2 shows a general purpose computer system 150 for use in practicing the present invention.
  • computer system 150 includes a central processing unit (CPU) 152, read-only memory (ROM) 154, random access memory (RAM) 156, expansion RAM 158, input/output (I/O) circuitry 160, display assembly 162, input device 164, and expansion bus 166.
  • Computer system 150 may also optionally include a mass storage unit 168 such as a disk drive unit or nonvolatile memory such as flash memory and a real-time clock 170.
  • CPU 152 is coupled to ROM 154 by a data bus 172, control bus 174, and address bus 176.
  • ROM 154 contains the basic operating system for the computer system 150.
  • CPU 152 is also connected to RAM 156 by busses 172, 174, and 176.
  • Expansion RAM 158 is optionally coupled to RAM 156 for use by CPU 152.
  • CPU 152 is also coupled to the I/O circuitry 160 by data bus 172, control bus 174, and address bus 176 to permit data transfers with peripheral devices.
  • I/O circuitry 160 typically includes a number of latches, registers and direct memory access (DMA) controllers. The purpose of I/O circuitry 160 is to provide an interface between CPU 152 and such peripheral devices as display assembly 162, input device 164, and mass storage 168.
  • DMA direct memory access
  • Display assembly 162 of computer system 150 is an output device coupled to I/O circuitry 160 by a data bus 178.
  • Display assembly 162 receives data from I/O circuitry 160 via bus 178 and displays that data on a suitable screen.
  • the screen for display assembly 162 can be a device that uses a cathode-ray tube (CRT), liquid crystal display (LCD), or the like, of the types commercially available from a variety of manufacturers.
  • Input device 164 can be a keyboard, a mouse, a stylus working in cooperation with a position-sensing display, or the like.
  • the aforementioned input devices are available from a variety of vendors and are well known in the art.
  • mass storage 168 generally is considered desirable. However, mass storage 168 can be eliminated by providing a sufficient mount of RAM 156 and expansion RAM 158 to store user application programs and data. In that case, RAMs 156 and 158 can optionally be provided with a backup battery to prevent the loss of data even when computer system 150 is turned off. However, it is generally desirable to have some type of long term mass storage 168 such as a commercially available hard disk drive, nonvolatile memory such as flash memory, battery backed RAM, PC-data cards, or the like.
  • a removable storage read/write device 169 may be coupled to I/O circuitry 160 to read from and to write to a removable storage media 171.
  • Removable storage media 171 may represent, for example, a magnetic disk, a magnetic tape, an opto-magnetic disk, an optical disk, or the like.
  • information is input into the computer system 150 by typing on a keyboard, manipulating a mouse or trackball, or "writing" on a tablet or on a position-sensing screen of display assembly 162.
  • CPU 152 then processes the data under control of an operating system and an application program, such as a program to perform steps of the inventive method described below, stored in ROM 154 and/or RAM 156.
  • CPU 152 then typically produces data which is output to the display assembly 162 to produce appropriate images on its screen.
  • Expansion bus 166 is coupled to data bus 172, control bus 174, and address bus 176. Expansion bus 166 provides extra ports to couple devices such as network interface circuits, modems, display switches, microphones, speakers, etc. to CPU 152. Network communication is accomplished through the network interface circuit and an appropriate network.
  • Suitable computers for use in implementing the present invention may be obtained from various vendors. Various other types of computers, however, may be used depending upon the size and complexity of the required tasks. Suitable computers include mainframe computers, multiprocessor computers, workstations or personal computers. In addition, although a general purpose computer system has been described above, a special-purpose computer may also (or instead) be used at the document production locations, document production hub and/or remote terminals.
  • the computer-executable process steps according to the present invention typically initially are stored in mass storage 168, downloaded from mass storage 168 to RAM 156, and then executed by microprocessor 152 out of RAM 156.
  • the process steps according to the present invention may also be stored on any form of computer-readable medium, including solid state memory devices such as RAM and ROM, optical storage devices such as CD-ROM and DVD, and magnetic storage devices such as hard disks, floppy disks, magnetic tapes and others.
  • the present invention is directed to the problem of delivering a document order to a document production location.
  • a document production location is a location that coordinates printing and/or assembly of a document.
  • the problems with delivering a document order to a document production location are detailed in the Background of the Invention section of this application.
  • the techniques for facilitating central printing and/or assembly of a document according to the present invention utilize a printer driver to communicate with a document production hub.
  • many of the steps of specifying assembly instructions, previewing the document and transmitting the document and, in many cases, the assembly instructions to a document production hub often can be initiated with no more effort than is conventionally expended in printing the document.
  • printer drivers are provided by printer manufacturers and are installed on any computer that is connected to the printer and for which the printer is to be used as an output device.
  • printer drivers conventionally are implemented as executable computer code and are sold by the printer manufacturer together with the printer.
  • conventional printer drivers provide the interface between the user's computer and the printer.
  • such conventional printer drivers typically provide graphical user interfaces that permit a user to alter the printer's settings.
  • the conventional printer driver accepts print data (typically in a standard format, such as PostScriptTM) from an application program, converts that data into a data format that is more appropriate for the printer, and then spools the converted data to the printer.
  • the operating system provides a printer folder.
  • This printer folder contains a different "printer” for each physical printer to which the computer is connected and which the user intends to use as an output device.
  • the "printers" in the printer folder will be referred to herein as virtual printers.
  • at least one virtual printer exists in the printer folder for each physical printer to be used as an output device. Because it is common to have a single virtual printer for each physical printer, selecting a virtual printer generally will also constitute selection of a physical printer.
  • multiple virtual printers will use the same printer driver. This typically will be the case where the multiple virtual printers correspond to physical printers of the same model type. However, each such virtual printer generally will specify different default settings that are tailored to the particular physical printer to which it corresponds. Thus, at the very least, each virtual printer typically will specify a network address that is different from the network addresses specified by the other virtual printers, because its corresponding physical printer is different than that of the other virtual printers.
  • each virtual printer also is registered in the WindowsTM registry so that each application program can easily identify and list all available virtual printers (and, therefore, all available physical printers).
  • One of the virtual printers typically is designated as the default printer. Therefore, conventional printing of a file from within an application program usually requires the user merely to select "Print” (e.g., by clicking on a "Print” icon), select a different printer if the default printer is not desired, specify certain print parameters (such as the range of pages to be printed) if the default parameters are not appropriate, and then click "OK”. Thereafter, the application program spools PostScriptTM data for the print job to the appropriate printer driver and the printer driver causes the job to be printed.
  • the present invention provides, in various combinations, functionality for specifying document assembly instructions, previewing the document, and transmitting the document order request to a document production hub. Moreover, because this functionality is initiated from a printer driver, all of such functionality often can be invoked in the same manner as simply printing a document. The implementation of the foregoing functionality is described in more detail below.
  • Figure 3 is a flow diagram illustrating an overview of the processing steps performed by a printer driver according to a representative embodiment of the invention.
  • a printer driver according to the present invention upon invocation of the printer driver: a preview of the document is displayed; the document is uploaded to the document production hub upon request from the user; and then a communication link is opened with the document production hub.
  • the following process steps preferably are executed when a printer driver according to the present invention is invoked.
  • a virtual printer will already have been defined which incorporates a printer driver according to the present invention.
  • the printer driver according to the present invention is instantiated and then preferably executes the following process steps.
  • the document is input.
  • the document will be input in a generic printer format, such as PostScriptTM, that has been generated by the application program that launched the printer driver.
  • the printer driver according to the present invention preferably inputs documents in the same format as conventional printer drivers.
  • a preview of how the document will look when printed on ordinary white paper is displayed.
  • a user interface is displayed that permits the user to navigate through the document (e.g., page by page), view different portions of a page, or zoom in or out on the document.
  • the document preferably is converted to Adobe's Portable Document FormatTM (PDF) or a similar format by the printer driver.
  • PDF Portable Document Format
  • the preview is then preferably generated by raster image processing the data at the display monitor's resolution using the same, or a very similar, print process as is used for printing a hard copy of the document. In this way, a truer representation of the document generally can be displayed.
  • step 204 the user indicates whether he would like to continue. If the user is satisfied with the appearance of the document as previewed in step 202, he may click on a "Continue", “Next . . .”, "Send Now” or similar button. In the event the user indicates his desire to continue, processing proceeds to step 205. On the other hand, if the user is dissatisfied with the appearance of the document as previewed, he may click on a "Close”, "Exit” or a similar button, in which event the printer driver processing terminates (i.e., the printer driver closes), typically returning the user to a window displaying the application program in which he previously was working.
  • the printer driver searches for an electronic network connection for communicating with document production hub 60.
  • communication with the document production hub 60 preferably occurs over the Internet.
  • the printer driver preferably searches for an Internet connection. If such a connection is not currently open, the printer driver may attempt to launch an application that opens the connection. When such an application is launched, it may require the user to complete a login procedure. In the event the connection is already open, or after the printer driver has caused it to be opened in the foregoing manner, processing proceeds to step 208. Otherwise, if the printer driver is unable to find any means to connect to the network, in step 206 it will display to the user either an error message or a message requesting that a connection be established.
  • the document is uploaded to document production hub 60 via the network connection found or opened in step 205.
  • the document is uploaded in a modified PDF format.
  • the document is uploaded in a format that is generated by appending to a PDF version of the document generated in step 202 header information that indicates how the document was created, that contains user identification information, and that indexes the document (e.g., by word, by page and/or by document), and then encrypting the document together with the header information.
  • IP Internet Protocol
  • the printer driver searches for a default tool for permitting the user to communicate (preferably, directly) with the document production hub 60 over the network. Because communication preferably occurs over the Internet, the printer driver preferably searches for a default Web browser. If one is found, processing proceeds to step 214. Otherwise, in step 212 a message is displayed prompting the user to provide such a communications tool.
  • the communications tool is launched (if not already open) and is directed to open a communication link to document production hub 60. In the preferred embodiment, this is accomplished by opening the default Web browser and causing it to generate and transmit to the Web address of document production hub 60 an IP packet that contains user identification information and also contains a request to receive an initial Web page.
  • Figure 4 is a flow diagram illustrating network communication between the document production hub 60 and the user according to a representative embodiment of the invention. Briefly, according to Figure 4, upon receipt of a request from the user's terminal, document production hub 60 downloads initial display data and/or executable code; when an order inquiry is received, hub 60 processes it and downloads pricing and timing information; when an order request is received, document production hub 60 processes the order information, evaluates and routes the order, and then transmits a confirmation message to the requesting terminal.
  • step 222 document production hub 60 receives a request from a user, such as the request generated in step 214 (shown in Figure 3).
  • the response message provided by hub 60 includes data or code
  • initial information from hub 60 e.g., an initial Web page
  • code e.g., a Java applet
  • the ultimate goal in this portion of the process is to permit the user to specify document assembly instructions and then to preview the document as so assembled.
  • the user After previewing the assembled document, the user preferably has the option of altering the assembly instructions and then again previewing the document as altered.
  • the user preferably can repeat these steps again and again for as many iterations as he likes until he is satisfied with the appearance of the assembled document.
  • the specified assembly instructions might include, for example: type and color of the paper or other media (e.g., transparencies) to be used for printing the uploaded document; type, size and color of the binding or clips to be used; type and color of the front cover and back cover; type and position of any tab pages, together with a specification of any content to be printed on each tab page; and the number of copies of the assembled document to be created.
  • type and color of the paper or other media e.g., transparencies
  • Techniques for providing the foregoing functionality are described in detail in the '809 and 759 applications and generally involve allowing the user to arrange assembly components selected from a library of different components. Thereafter, a display can be generated for each possible view of the document by superimposing images of document assembly components and images of the document content (as it would appear when printed) in the relative positions that they would occupy were the document to be physically assembled. As described in the '809 and 759 applications, the functionality may also include verification of whether the document can be physically assembled as specified (document self verification).
  • the above functionality may be implemented on the user's computer, on hub 60's computer (with the user's computer merely displaying data provided over the network), or in any combination of the two.
  • the more of such functionality that is implemented on hub 60's computer the more communication over the network will be required between hub 60 and the user. This may be a significant design consideration depending upon the available communication speeds over the network.
  • executable code can be downloaded on the user's computer (e.g., either as a stand-alone application or as an applet to run on the user's browser) or can be installed from a CD-ROM or other computer-readable medium onto the user's computer. In the event the code for executing functionality on the user's computer is not downloaded in full each time it is required, it is also possible to download updates from time to time.
  • step 224 additional network communications between hub 60 and the user's computer occur in step 224.
  • hub 60 determines whether an order inquiry has been received. Specifically, at some point during the foregoing process the user may have decided that he is satisfied with the appearance of the assembled document and then submitted an inquiry, preferably over the established communications link (e.g., the Internet), regarding how much it will cost and/or how long it will take to produce the document according to his specifications.
  • the received request includes complete information regarding the document production, including all assembly instructions, the number of copies desired, how soon the user would like to have the job finished and where the completed documents should be delivered.
  • the user may be given the option of selecting from among a fixed number of locations (e.g., locations where the document production entity has stores or production facilities) or may have the option of having the document delivered to almost any possible location (e.g., using commercial delivery services or the document production entity's own delivery facilities).
  • locations e.g., locations where the document production entity has stores or production facilities
  • the option of having the document delivered to almost any possible location e.g., using commercial delivery services or the document production entity's own delivery facilities.
  • step 228 document production hub 228 evaluates the received information and generates a price estimate (which may be a guaranteed firm price, a "not to exceed" price, or merely a good faith estimate) and an indication as to when the documents can be picked up at or delivered to the specified location.
  • a price estimate (which may be a guaranteed firm price, a "not to exceed" price, or merely a good faith estimate) and an indication as to when the documents can be picked up at or delivered to the specified location.
  • Document production hub may also determine that the job cannot be complete as specified, for example, because it will take longer than the user has requested.
  • all issues related to physical creation of the document will have been flagged during the earlier document self-verification step of the document assembly design process. Both such document self-verification and the processing in this step 228 are described in more detail in the '809 and 759 applications.
  • step 228 The information generated in this step 228 is then transmitted to the user, preferably over the established communications link (e.g., the Internet).
  • the established communications link e.g., the Internet
  • step 230 document production hub 60 determines whether an order request has been received. Specifically, in the event the user is satisfied with the price quote and other information provided to him in step 228, he will submit (preferably, overthe established communications link, e.g., the Internet) an order request, confirming the order for which the inquiry previously was submitted. Upon receipt of such an order request, hub 60 proceeds to step 232. Otherwise, further communications may occur over the communications link in step 224.
  • step 232 hub 60 communicates with the user via the communications link to accept payment information (e.g., credit card number or business account number). Then, the received order information is processed to format the information so as to facilitate assembly of the document and also to facilitate routing of the order information. Then, the order information is evaluated and a document production location is selected to process the order. Typically, much of this processing will have already occurred in step 228. The document, together with all assembly instructions, is then routed to the selected document production location. The routing of the document order preferably is performed so as to maximize efficiency. For example, where a first production location is specified as the pickup location, it may nevertheless be more efficient to produce the document at a second location and then ship it to the first location. This step is described in detail in the '809 and 759 applications.
  • step 214 an order confirmation is transmitted from document production hub 60 to the requesting terminal. This step also is described in detail in the '809 and 759 applications.
  • a user initially is in the WordPerfectTM word processing application program.
  • the user initially has opened a WordPerfectTM window 288 in which he is working on a document 290.
  • the user Upon completion of the document 290, the user has clicked on the printer icon 292 in the window 288 to indicate that he wishes to print the document.
  • the application program opens a dialogue box 300 for selecting printing options.
  • One of such options is the printer to which the job will be delivered.
  • the field 302 will specify the name of the default printer.
  • down-arrow button 304 a drop-down list of all available printers is displayed.
  • each displayed "printer” actually is a registered virtual printer in the printer folder.
  • a virtual printer 306 is included with the virtual printers (which correspond to attached physical printers) according to the present invention. Clicking on virtual printer 306 selects that printer.
  • the user may also select other printing features, such as the range of pages to be printed or whether to use one-sided or two-sided printing, by utilizing the other tabs 308 to 310 of the dialogue box 300.
  • printer-specific settings by clicking on Properties button 312, which pulls up a dialogue box with pages generated by the printer driver corresponding to the selected virtual printer.
  • these printer-specific settings may include, for example, paper size, paper orientation (i.e., portrait or landscape), number of copies, color or gray scale selection, desired print resolution (e.g., in dots per inch), scaling, various PostScript options, and halftone color adjustments.
  • Print button 314 upon clicking on Print button 314 with virtual printer 306 selected, the printer driver begins executing the process steps shown in Figure 3.
  • the first event to occur after Print button 314 has been selected is the display of a preview window 340 shown Figure 6.
  • a display 341 of the document is displayed.
  • this display is created by using the printer raster image processing (RIP) software to render an image of the document on the display monitor.
  • the user can navigate to the first page of the document by clicking on the First Page button 342, the page immediately prior to the currently displayed page by clicking on the Prev Page button 343, the page immediately after the currently displayed page by clicking on the Next Page button 344, or the last page of the document by clicking on the Last Page button 345.
  • the user can zoom in by clicking on the Zoom In button 346 or zoom out by clicking on the Zoom Out button 347, thereby changing the scaling of the displayed image 341.
  • zooming is in discrete increments each time one of the illustrated zoom buttons is clicked.
  • the zoom may be nearly continuously adjustable as specified by the user (e.g., in increments of 1% or even less).
  • the present invention also contemplates displaying images of more than one page at a time, with the displayed pages either being related in some predetermined manner (e.g., two or three consecutive pages), being independently specified by the user, or with the user having the option to specify either of the foregoing modes.
  • the user may continue on by clicking the Send Now button 349. Otherwise, he may click on the Exit button 350 to exit from the printer driver functionality. In this latter case, window 340 is closed and the window 288 corresponding to the application program in which the user was originally working (i.e., WordPerfectTM) is displayed. Afterthe user has made any desired changes, he can once again click on the print button 292 and follow the above steps to invoke the printer driver according to the invention.
  • the document is uploaded to hub 60 via the Internet.
  • the user's web browser is launched with the web address of hub 60, which generally will be an Internet address but may instead be an intranet address.
  • the user's browser receives an initial web page from hub 60.
  • the web page shown in Figure 7 is the first page downloaded into and then displayed from the user's Web browser. From the page displayed in Figure 7, the user has the option of creating the document as either a bound document 370, a handout 371 or a transparency 372.
  • a bound document includes a binding such as a coil binding or a wire binding.
  • a handout is a document printed on paper but which does not include a binding, although it may be hole-punched, clipped or stapled.
  • a transparency is a document printed on transparent plastic which may be used to display the document on a projector.
  • Each of objects 370 to 372 is a hyperlink to a different web page for specifying assembly instructions for the corresponding document. It is noted that any or all of the web pages generated by hub 60 pursuant to the present invention may be completely pre-stored at hub 60 or may be generated on-the-fly in whole or in part.
  • a numeric Quantity field 380 permits the user to enter the number of copies of the assembled document he wishes to have made.
  • Printing radio buttons 381 allow the user to select printing in full color or black & white.
  • Sides radio buttons 383 allow the user to select single-sided printing (i.e., printing on one side of each page only) or double-sided printing (i.e., printing on both sides of each page).
  • Paper radio buttons 385 permit the user to select the type of paper in terms of weight, material and, in certain cases not shown here, color. It is noted that the size of the paper and the printing orientation will have already been selected above.
  • Binding radio buttons 387 allow the user to select binding type.
  • Covers radio buttons 389 allow the user to select whether to use front and back covers and, if so, the type of covers to use.
  • each category shown in Figure 8 may include additional or different choices.
  • different or additional categories may also be provided.
  • a text box and a font type and size field for specifying text to be printed on the front cover.
  • a radio button or checkbox which permits the user to designate that the first page of content in the submitted document should be printed on the cover of the assembled document.
  • a display 390 which shows approximately how the document will appear when assembled. In this example, the displayed binding 393 changes as the binding selected using radio buttons 387 changes.
  • cover 391 may be the actual content of the first page of the document (or the content of the cover page if an opaque cover page is used) or may be generic content for giving the user a rough idea of how the document will look.
  • field 392 the price of the document per copy is indicated and is changed as selections are made by the user.
  • a message is sent to hub 60 and hub 60 generally will return price 392 and display 390 update information.
  • display 390 and price 392 change as selections are made it is also possible to update those items only when an Update or similar button is clicked by the user.
  • all of the changes to the appearance of display 390 and price 392 are made by hub 60 and are communicated to the user's browser over the Internet.
  • some or all of such functionality could be implemented on the user's computer, using a Java applet, for example.
  • hub 60 performs document verification each time it receives an update from the user.
  • hub 60 causes to be displayed an error message.
  • this document self-verification functionality might instead be implemented on the user's computer, using a Java applet, for example.
  • Figure 9 illustrates the preview web page which the user can use to preview the document 400 as assembled.
  • the document is displayed closed, as shown in Figure 9.
  • the user may flip through the document one page at a time using buttons 402 and 404.
  • clicking button 402 replaces the displayed image with an image of how the document would appear if the next page were turned (i.e., moving forward in the document).
  • Clicking button 404 replaces the displayed image with an image of how the document would appear if the previous page were turned (i.e., moving backward in the document).
  • clicking button 404 while in the view displayed in Figure 9 would have no effect, as there is no previous page.
  • a user may also navigate through the document using drop-down menu 406, which allows the user to jump to certain points within the document (e.g., first page or last page).
  • the display illustrated in Figure 9 is created using a Java applet executing on the user's browser. Accordingly, no communication needs to take place over the Internet each time a page is turned or a new view is otherwise required to be generated. However, it is also possible to generate each new view at hub 60 and then communicate those views to the user's browser over the Internet.
  • the user is only permitted to view the assembled document.
  • the user also may be permitted to specify or change assembly instructions while the preview is displayed. This feature might be particularly valuable where assembly components need to be added into the middle of the document, such as tab pages.
  • buttons 406 if the user is dissatisfied with the appearance of the document as assembled, or otherwise wishes to change the order, he can click on button 406 to return to the page displayed in Figure 8. Otherwise, he may click on button 408 to complete the order.
  • button 408 web pages are downloaded permitting the user to identify a destination address, a delivery method (e.g., second-day or overnight), payment information and a billing address. Thereafter, one or more web pages are displayed confirming the order and showing total cost, with any 5 shipping costs and taxes added.
  • the present invention can permit nearly all aspects of document design ordering and previewing to occur electronically.
  • hub 60 would perform all of the above functionality and download display code (e.g., HTML) to the user's computer or else, in certain cases, hub 60 might download one or more applets (e.g., Java)
  • display code e.g., HTML
  • applets e.g., Java
  • print files are submitted in the embodiments described above, it is also possible to submit multiple print files to be included within the same assembled document according to the present invention.
  • Such an example could be implemented, for example, by including in the printer driver functionality formaintaining an ordered document list for each assembly job.
  • the printer driver each time the printer driver is initiated the user would have the option of selecting either a new or an existing assembly job. If a new assembly job were selected, a document list containing only the current document would be created for that job and the user might be asked to name the assembly job. If an existing assembly job were selected, then the user would have the option of selecting where in the ordered document list for that assembly job the user would like to insert the current document.

Abstract

In one aspect, when a printer driver of a terminal (31 or 32) is invoked, it inputs a document electronically and then uploads the document via an electronic network (such as the Internet (50)) to a document production hub (60). In a further aspect, when a printer driver of a terminal (31 or 32) is invoked, it inputs a document electronically and opens an electronic connection with a document production hub (60) that permits a user at the terminal (31 or 32) to communicate with the document production hub (60). In a still further aspect, when a printer driver of a terminal (31 or 32) is invoked, it inputs a document electronically and permits a user at the terminal (31 or 32) to input assembly information for the document.

Description

UTILIZING A PRINTER DRIVER TO FACILITATE PRINTING/ASSEMBLY OF A DOCUMENT
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to use of a novel printer driver for facilitating printing and assembly of documents. The invention is particularly useful in connection with printing and assembly of a document at a central location by utilizing an electronic network, such as the Internet.
Description of the Prior Art
The first step in production of a document generally is to create content, such as an arrangement of text, graphics and/or images, to include in the document. The next step is to design the physical assembly of the document, such as by selecting a front cover, back cover, binding type, paper type, paper color, and one or more tab pages. For example, one might select a clear plastic front cover, a solid black back cover, a coil binding, ivory bond paper, and tab pages to designate each section of the document. In this latter regard, the tab pages might, for example, be printed with the section numbers or titles and positioned consecutively from the top of the page to the bottom. Finally, the document is physically created by printing the content on the selected paper (or other medium) and then assembling the document according to the specified assembly instructions. In the past, when it was desired to physically create the document, the author was required to physically go either to the copying (document production) department in that person's company or to an outside company which provides document production services. Once there, he would provide his detailed document assembly instructions and either a hard copy of the pages he wished to include in the document or a copy of the document in electronic form. Alternatively, he might actually physically create a sample of the fully assembled document and provide that hard copy to such document production facility to be used as a sample.
In addition to the inconvenience of having to go to a remote location, the necessity of communicating detailed assembly instructions to the person responsible for physically assembling the document often posed another potential problem. Frequently, there were miscommunications or misunderstandings, resulting in a final document which did not appear as the author had intended. In addition, even if the document had been assembled exactly as the author had instructed, upon viewing the final document, the author often was dissatisfied with some aspect of the document's appearance. For example, upon final inspection the author might determine that certain colors which initially seemed acceptable did not work well together in the assembled document.
Thus, in each of these cases, the final document often would have to be disassembled and the required corrections made. This re-working of the document might only require as few as two or three minutes, for example where the changes involved merely substituting several pages in a small document. On the other hand, if the author was dissatisfied, for example, with the color of the paper on which the document was printed or in certain cases with the binding selection, then the entire document might have to be reprinted and reassembled, resulting in a significant waste of time and resources. The problem was even further exacerbated when the document was large or when many copies of the document had to be corrected.
Several other problems also existed with the conventional methods for ordering a document. For instance, not only was the author required to physically go to a remote location, but upon reaching that location he might then discover that the location did not have the capabilities to produce the document as requested. For example, the facility might not be readily capable of color printing in the volume required by the author. In this case, the author might be redirected to a different location, necessitating even further travel time and inconvenience. As one possible solution, the first location could accept the order and then forward it to a different location, such as by telephone or by facsimile. However, in this latter case, the information would have to be re-communicated, increasing the likelihood of the miscommunication and misunderstanding problems mentioned above.
Other problems with the conventional method of ordering a document relate to actual construction of the document. In this regard, in the conventional method the author typically conveyed a set of instructions for creating a document. However, those instructions often were not in the best format for actually creating the document. Therefore, the document assembler often had to go through the instructions and extract information to determine, for example, what types and quantities of supplies, equipment and labor would be required to produce the document. Based on this information, he could provide a price quote and an estimated time of completion. Upon acceptance of the price quote and time estimate, he would then either begin working on the order or re-direct it to a more capable facility. However, the foregoing tasks often required a significant amount of time and effort. Moreover, in view of the importance of the information obtained, particular attention to accuracy was required.
Finally, using the conventional method, it was frequently discovered late in the process that the document could not be assembled as specified by the author. For instance, it might be discovered that the document was too large for the specified binding type. This typically required the document production facility to stop working on the document until the author could be contacted and a substitute binding selected, resulting in additional inconvenience.
The foregoing problems have been addressed in commonly assigned patent applications 09/183,809 "Document Self- Verification and Routing" (the '809 application) and 09/183,759 "Previewing an Assembled Document" (the 759 application). Both of these applications are incorporated herein by reference as though set forth herein in full. The techniques described in the '809 and 759 applications simplify the foregoing procedures by permitting an author to electronically design assembly instructions for a document, previewthe document as assembled, and then submit a document file over an electronic network. However, even more convenient techniques of permitting a user to design, preview and submit a document are desired.
SUMMARY OF THE INVENTION
Generally speaking, the present invention addresses the foregoing needs by utilizing a printer driver to facilitate printing and/or assembly of a document.
Thus, in one aspect of the invention, when a printer driver is invoked, it inputs a document electronically and then uploads the document via an electronic network (such as the Internet) to a document production hub that coordinates printing and assembly of documents.
In a further aspect of the invention, when a printer driver is invoked, it inputs a document electronically and uploads the document via an electronic network to a document production hub that coordinates printing of documents among several different printers.
In a still further aspect of the invention, when a printer driver is invoked, it inputs a document electronically and opens an electronic connection with a document production hub that permits a user to communicate with the document production hub. In this aspect of the invention, the document production hub coordinates printing and assembly of documents.
In a still further aspect of the invention, when a printer driver is invoked, it inputs a document electronically and opens an electronic connection with a document production hub that permits a user to communicate with the document production hub. In this aspect of the invention, the document production hub coordinates printing of documents among several different printers.
In a still further aspect of the invention, when a printer driver is invoked, it inputs a document electronically and permits a user to input assembly information for the document.
Utilizing printer drivers in the foregoing manners can greatly simplify placing a document order at a central document production facility. In particular, because the processing steps are performed by a printer driver, initiating them typically is no more difficult than printing a document to an attached printer.
In a more particularized aspect of the invention, the user is given the ability to preview how the document will look when assembled according to the assembly instructions that he has provided. Thus, the user can verify the document's appearance priorto finally submitting the assembly instructions, often avoiding the need to subsequently re-work the document.
The foregoing summary is intended merely to provide a brief description of the general nature of the invention. A more complete understanding of the invention can be obtained by referring to the claims and the following detailed description of the preferred embodiments in connection with the accompanying figures.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an environment in which the present invention can be practiced.
Figure 2 is a block diagram of a general purpose computer system, representing one suitable computer platform for implementing the communication nodes illustrated in Figure 1. Figure 3 is a flow diagram illustrating computer-executable process steps performed by a printer driver according to a representative embodiment of the invention.
Figure 4 is a flow diagram illustrating interaction between a user and a document production hub over an electronic network according to a representative embodiment of the invention.
Figure 5 illustrates a print dialogue box opened from within an application program according to a representative embodiment of the invention.
Figure 6 illustrates a document preview window generated by a printer driver according to a representative embodiment of the invention. Figure 7 illustrates the initial web page displayed on a user's web browser according to a representative embodiment of the present invention. Figure 8 illustrates a web page for specifying document assembly instructions according to a representative embodiment of the invention.
Figure 9 illustrates a web page for previewing an assembled document according to a representative embodiment of the invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS The following description explains certain representative embodiments of the invention. While these embodiments are provided to explain the general nature of the invention, it should be understood that the present invention is not limited only to the discussed embodiments.
Operating Environment
Figure 1 is a block diagram illustrating the structure of the preferred environment in which the present invention operates. Shown in Figure 1 are terminals 31 and 32, which may comprise an ordinary computer workstation, a laptop computer, or special-purpose computing equipment. Terminals 31 and 32 communicate with Internet service providers (ISPs) 41 and 42 via a telephone connection, such as by using a modem interface. ISPs 41 and 42, in turn, connect to Internet backbone 50 via their respective routers (not shown). Specifically, ISP 41 receives Internet messages from terminal 31 and then routes them onto Internet backbone 50. Also, ISP 41 pulls messages off Internet backbone 50 that are addressed to terminal 31 and communicates those messages to terminal 31 via the telephone connection. In a similar manner, terminal 32 also can communicate over the Internet through ISP 42. Of course, such terminals may also connect directly to Internet backbone 50 if provided with the appropriate routers and other hardware.
Also connected to Internet backbone 50 is document production hub 60. As discussed in more detail below, one function performed by document production hub 60 is to retrieve document order messages sent over the Internet 50, process those orders, and then distribute them to one of various document production locations. For this latter purpose, document production hub 60 also is connected to wide area network (WAN) 70. Multiple document production locations, such as locations 71 to 73, also are connected to WAN 70. After determining which document production location should receive a particular order, document production hub 60 routes a message addressed to that document production location onto WAN 70. The respective document production location then retrieves the message off of WAN 70. Generally, each such facility and location will connect to WAN 70 through a router (not shown). Although terminals 31 and 32 are shown in Figure 1 as being attached to document production hub 60 via the Internet 50, other methods can also be used for communicating between remote terminals and the document production hub, such as by utilizing a direct modem/telephone line dial-in connection, a wide area network, a local area network (LAN), or any other communication system. Furthermore, different terminals may be connected to document production hub 60 via different communication systems. For example, individual computer workstations might connect to document production hub 60 via the Internet 50, while terminals under common ownership, or whose owners at least have a close relationship, with document production hub 60 might communicate with document production hub 60 via an intranet, any other type of LAN or WAN, or via a direct dial-in connection. Similarly, although document production hub 60 is shown in Figure 1 as being connected to the various document production locations using WAN 70, any other communication system may also (or instead) be used, such as via a local area network, the Internet, an intranet, or a direct modem/telephone line dial-in connection.
Also, although a single document production hub 60 is illustrated in Figure 1 , it should be understood that multiple document production hubs may instead be used. In this case, such hubs may communicate with each other over the Internet, a WAN, a LAN or in any other manner or else may operate more or less independently. Also, each of such multiple hubs may have exclusive access to certain document production locations or may share access with other hubs. In one example, users may select a document production hub based on the user's geographic location or based on the geographic location where the produced and assembled document ultimately is to be delivered.
Figure 2 illustrates a block diagram of a general purpose computer system which can be used to implement terminals 31 and 32, document production hub 60, and/or document production locations 71 to 73. Specifically, Figure 2 shows a general purpose computer system 150 for use in practicing the present invention. As shown in Figure 2, computer system 150 includes a central processing unit (CPU) 152, read-only memory (ROM) 154, random access memory (RAM) 156, expansion RAM 158, input/output (I/O) circuitry 160, display assembly 162, input device 164, and expansion bus 166. Computer system 150 may also optionally include a mass storage unit 168 such as a disk drive unit or nonvolatile memory such as flash memory and a real-time clock 170.
CPU 152 is coupled to ROM 154 by a data bus 172, control bus 174, and address bus 176. ROM 154 contains the basic operating system for the computer system 150. CPU 152 is also connected to RAM 156 by busses 172, 174, and 176. Expansion RAM 158 is optionally coupled to RAM 156 for use by CPU 152. CPU 152 is also coupled to the I/O circuitry 160 by data bus 172, control bus 174, and address bus 176 to permit data transfers with peripheral devices. I/O circuitry 160 typically includes a number of latches, registers and direct memory access (DMA) controllers. The purpose of I/O circuitry 160 is to provide an interface between CPU 152 and such peripheral devices as display assembly 162, input device 164, and mass storage 168.
Display assembly 162 of computer system 150 is an output device coupled to I/O circuitry 160 by a data bus 178. Display assembly 162 receives data from I/O circuitry 160 via bus 178 and displays that data on a suitable screen.
The screen for display assembly 162 can be a device that uses a cathode-ray tube (CRT), liquid crystal display (LCD), or the like, of the types commercially available from a variety of manufacturers. Input device 164 can be a keyboard, a mouse, a stylus working in cooperation with a position-sensing display, or the like. The aforementioned input devices are available from a variety of vendors and are well known in the art.
Some type of mass storage 168 generally is considered desirable. However, mass storage 168 can be eliminated by providing a sufficient mount of RAM 156 and expansion RAM 158 to store user application programs and data. In that case, RAMs 156 and 158 can optionally be provided with a backup battery to prevent the loss of data even when computer system 150 is turned off. However, it is generally desirable to have some type of long term mass storage 168 such as a commercially available hard disk drive, nonvolatile memory such as flash memory, battery backed RAM, PC-data cards, or the like.
A removable storage read/write device 169 may be coupled to I/O circuitry 160 to read from and to write to a removable storage media 171. Removable storage media 171 may represent, for example, a magnetic disk, a magnetic tape, an opto-magnetic disk, an optical disk, or the like. In operation, information is input into the computer system 150 by typing on a keyboard, manipulating a mouse or trackball, or "writing" on a tablet or on a position-sensing screen of display assembly 162. CPU 152 then processes the data under control of an operating system and an application program, such as a program to perform steps of the inventive method described below, stored in ROM 154 and/or RAM 156. CPU 152 then typically produces data which is output to the display assembly 162 to produce appropriate images on its screen.
Expansion bus 166 is coupled to data bus 172, control bus 174, and address bus 176. Expansion bus 166 provides extra ports to couple devices such as network interface circuits, modems, display switches, microphones, speakers, etc. to CPU 152. Network communication is accomplished through the network interface circuit and an appropriate network.
Suitable computers for use in implementing the present invention may be obtained from various vendors. Various other types of computers, however, may be used depending upon the size and complexity of the required tasks. Suitable computers include mainframe computers, multiprocessor computers, workstations or personal computers. In addition, although a general purpose computer system has been described above, a special-purpose computer may also (or instead) be used at the document production locations, document production hub and/or remote terminals.
In use, the computer-executable process steps according to the present invention typically initially are stored in mass storage 168, downloaded from mass storage 168 to RAM 156, and then executed by microprocessor 152 out of RAM 156. The process steps according to the present invention may also be stored on any form of computer-readable medium, including solid state memory devices such as RAM and ROM, optical storage devices such as CD-ROM and DVD, and magnetic storage devices such as hard disks, floppy disks, magnetic tapes and others.
Facilitating Central Printing and/or Assembly of a Document
The present invention is directed to the problem of delivering a document order to a document production location. Generally, a document production location is a location that coordinates printing and/or assembly of a document. The problems with delivering a document order to a document production location (and, more specifically, to the appropriate document production location) are detailed in the Background of the Invention section of this application. Generally speaking, the techniques for facilitating central printing and/or assembly of a document according to the present invention utilize a printer driver to communicate with a document production hub. As a result, many of the steps of specifying assembly instructions, previewing the document and transmitting the document and, in many cases, the assembly instructions to a document production hub often can be initiated with no more effort than is conventionally expended in printing the document.
Thus, an important element of the present invention is a novel printer driver. Conventionally, printer drivers are provided by printer manufacturers and are installed on any computer that is connected to the printer and for which the printer is to be used as an output device. Thus, printer drivers conventionally are implemented as executable computer code and are sold by the printer manufacturer together with the printer. Essentially, conventional printer drivers provide the interface between the user's computer and the printer. Thus, for example, such conventional printer drivers typically provide graphical user interfaces that permit a user to alter the printer's settings. In addition, the conventional printer driver accepts print data (typically in a standard format, such as PostScript™) from an application program, converts that data into a data format that is more appropriate for the printer, and then spools the converted data to the printer.
For example, in the case of computers running Microsoft Windows™, the operating system provides a printer folder. This printer folder contains a different "printer" for each physical printer to which the computer is connected and which the user intends to use as an output device. To avoid confusion, the "printers" in the printer folder will be referred to herein as virtual printers. Thus, at least one virtual printer exists in the printer folder for each physical printer to be used as an output device. Because it is common to have a single virtual printer for each physical printer, selecting a virtual printer generally will also constitute selection of a physical printer.
Often, multiple virtual printers will use the same printer driver. This typically will be the case where the multiple virtual printers correspond to physical printers of the same model type. However, each such virtual printer generally will specify different default settings that are tailored to the particular physical printer to which it corresponds. Thus, at the very least, each virtual printer typically will specify a network address that is different from the network addresses specified by the other virtual printers, because its corresponding physical printer is different than that of the other virtual printers.
In Microsoft Windows™, each virtual printer also is registered in the Windows™ registry so that each application program can easily identify and list all available virtual printers (and, therefore, all available physical printers). One of the virtual printers typically is designated as the default printer. Therefore, conventional printing of a file from within an application program usually requires the user merely to select "Print" (e.g., by clicking on a "Print" icon), select a different printer if the default printer is not desired, specify certain print parameters (such as the range of pages to be printed) if the default parameters are not appropriate, and then click "OK". Thereafter, the application program spools PostScript™ data for the print job to the appropriate printer driver and the printer driver causes the job to be printed.
The present invention provides, in various combinations, functionality for specifying document assembly instructions, previewing the document, and transmitting the document order request to a document production hub. Moreover, because this functionality is initiated from a printer driver, all of such functionality often can be invoked in the same manner as simply printing a document. The implementation of the foregoing functionality is described in more detail below.
Throughout this specification, it is noted that certain functionality according to the present invention is performed by, executed by, or implemented from within, a "printer driver". This and similar language, however, is simply intended to mean that the software module executing the functionality (or the software module that causes the software application that executes the functionality to be launched), is implemented in such a way so as to outwardly appear to the user's computer as a conventional printer driver (e.g., is accessed through a virtual printer registered in the Windows™ registry and accepts data in the same format as conventional printer drivers). Otherwise, the functionality of the "printer drivers" according to the present invention generally will be significantly different than the functionality of conventional printer drivers, as will become apparent below. Specifically, Figure 3 is a flow diagram illustrating an overview of the processing steps performed by a printer driver according to a representative embodiment of the invention. Briefly, according to Figure 3, upon invocation of the printer driver: a preview of the document is displayed; the document is uploaded to the document production hub upon request from the user; and then a communication link is opened with the document production hub. In more detail, the following process steps preferably are executed when a printer driver according to the present invention is invoked. For example, with regard to a Windows™ operating system, a virtual printer will already have been defined which incorporates a printer driver according to the present invention. When a user selects that virtual printer from the list of available printers, the printer driver according to the present invention is instantiated and then preferably executes the following process steps.
Initially, in step 201 the document is input. Typically, the document will be input in a generic printer format, such as PostScript™, that has been generated by the application program that launched the printer driver. Thus, the printer driver according to the present invention preferably inputs documents in the same format as conventional printer drivers.
In step 202, a preview of how the document will look when printed on ordinary white paper (i.e., right off the printer before being assembled) is displayed. Preferably, a user interface is displayed that permits the user to navigate through the document (e.g., page by page), view different portions of a page, or zoom in or out on the document. As an intermediate step to displaying a preview of the document, the document preferably is converted to Adobe's Portable Document Format™ (PDF) or a similar format by the printer driver. The preview is then preferably generated by raster image processing the data at the display monitor's resolution using the same, or a very similar, print process as is used for printing a hard copy of the document. In this way, a truer representation of the document generally can be displayed. However, the present invention also contemplates using any other available document previewing techniques. In step 204, the user indicates whether he would like to continue. If the user is satisfied with the appearance of the document as previewed in step 202, he may click on a "Continue", "Next . . .", "Send Now" or similar button. In the event the user indicates his desire to continue, processing proceeds to step 205. On the other hand, if the user is dissatisfied with the appearance of the document as previewed, he may click on a "Close", "Exit" or a similar button, in which event the printer driver processing terminates (i.e., the printer driver closes), typically returning the user to a window displaying the application program in which he previously was working.
In step 205, the printer driver searches for an electronic network connection for communicating with document production hub 60. As noted above, communication with the document production hub 60 preferably occurs over the Internet. Thus, the printer driver preferably searches for an Internet connection. If such a connection is not currently open, the printer driver may attempt to launch an application that opens the connection. When such an application is launched, it may require the user to complete a login procedure. In the event the connection is already open, or after the printer driver has caused it to be opened in the foregoing manner, processing proceeds to step 208. Otherwise, if the printer driver is unable to find any means to connect to the network, in step 206 it will display to the user either an error message or a message requesting that a connection be established. In step 208, the document is uploaded to document production hub 60 via the network connection found or opened in step 205. Preferably, the document is uploaded in a modified PDF format. More preferably, the document is uploaded in a format that is generated by appending to a PDF version of the document generated in step 202 header information that indicates how the document was created, that contains user identification information, and that indexes the document (e.g., by word, by page and/or by document), and then encrypting the document together with the header information. In the event that the document is uploaded via the Internet, one or more Internet Protocol (IP) packets containing the foregoing data and addressed to the hub 60 are created and routed onto the Internet.
In step 210, the printer driver searches for a default tool for permitting the user to communicate (preferably, directly) with the document production hub 60 over the network. Because communication preferably occurs over the Internet, the printer driver preferably searches for a default Web browser. If one is found, processing proceeds to step 214. Otherwise, in step 212 a message is displayed prompting the user to provide such a communications tool. In step 214, the communications tool is launched (if not already open) and is directed to open a communication link to document production hub 60. In the preferred embodiment, this is accomplished by opening the default Web browser and causing it to generate and transmit to the Web address of document production hub 60 an IP packet that contains user identification information and also contains a request to receive an initial Web page. Thereafter, direct communication can occur between the user and document production hub 60 regarding the document print or print/assembly job, as described in more detail below. Figure 4 is a flow diagram illustrating network communication between the document production hub 60 and the user according to a representative embodiment of the invention. Briefly, according to Figure 4, upon receipt of a request from the user's terminal, document production hub 60 downloads initial display data and/or executable code; when an order inquiry is received, hub 60 processes it and downloads pricing and timing information; when an order request is received, document production hub 60 processes the order information, evaluates and routes the order, and then transmits a confirmation message to the requesting terminal.
In more detail, in step 222 document production hub 60 receives a request from a user, such as the request generated in step 214 (shown in Figure 3).
Preferably, the response message provided by hub 60 includes data or code
(e.g., HTML) to display initial information from hub 60 (e.g., an initial Web page) and/or code (e.g., a Java applet) which can be executed on the user's computer.
The ultimate goal in this portion of the process is to permit the user to specify document assembly instructions and then to preview the document as so assembled. After previewing the assembled document, the user preferably has the option of altering the assembly instructions and then again previewing the document as altered. The user preferably can repeat these steps again and again for as many iterations as he likes until he is satisfied with the appearance of the assembled document. The specified assembly instructions might include, for example: type and color of the paper or other media (e.g., transparencies) to be used for printing the uploaded document; type, size and color of the binding or clips to be used; type and color of the front cover and back cover; type and position of any tab pages, together with a specification of any content to be printed on each tab page; and the number of copies of the assembled document to be created.
Techniques for providing the foregoing functionality are described in detail in the '809 and 759 applications and generally involve allowing the user to arrange assembly components selected from a library of different components. Thereafter, a display can be generated for each possible view of the document by superimposing images of document assembly components and images of the document content (as it would appear when printed) in the relative positions that they would occupy were the document to be physically assembled. As described in the '809 and 759 applications, the functionality may also include verification of whether the document can be physically assembled as specified (document self verification).
The above functionality may be implemented on the user's computer, on hub 60's computer (with the user's computer merely displaying data provided over the network), or in any combination of the two. Generally, the more of such functionality that is implemented on hub 60's computer, the more communication over the network will be required between hub 60 and the user. This may be a significant design consideration depending upon the available communication speeds over the network. To the extent such functionality is executed on the user's computer, executable code can be downloaded on the user's computer (e.g., either as a stand-alone application or as an applet to run on the user's browser) or can be installed from a CD-ROM or other computer-readable medium onto the user's computer. In the event the code for executing functionality on the user's computer is not downloaded in full each time it is required, it is also possible to download updates from time to time.
The decision as to how much functionality to implement on each machine will therefore involve a number of tradeoffs. Presently, it is preferable to execute the functionality for previewing assembled documents on the user's computer as a downloaded Java applet and to perform all other functionality related to assembly component selection, verifying that the document can be assembled as specified (i.e., document self-verification), and document order submission on hub 60's server. As a result, a fairly significant amount of communication between the user's terminal and hub 60 generally will occur.
Thus, additional network communications between hub 60 and the user's computer occur in step 224.
In step 226, hub 60 determines whether an order inquiry has been received. Specifically, at some point during the foregoing process the user may have decided that he is satisfied with the appearance of the assembled document and then submitted an inquiry, preferably over the established communications link (e.g., the Internet), regarding how much it will cost and/or how long it will take to produce the document according to his specifications. Preferably, the received request includes complete information regarding the document production, including all assembly instructions, the number of copies desired, how soon the user would like to have the job finished and where the completed documents should be delivered. Regarding location, the user may be given the option of selecting from among a fixed number of locations (e.g., locations where the document production entity has stores or production facilities) or may have the option of having the document delivered to almost any possible location (e.g., using commercial delivery services or the document production entity's own delivery facilities).
Upon receipt of such a request, in step 228 document production hub 228 evaluates the received information and generates a price estimate (which may be a guaranteed firm price, a "not to exceed" price, or merely a good faith estimate) and an indication as to when the documents can be picked up at or delivered to the specified location. Document production hub may also determine that the job cannot be complete as specified, for example, because it will take longer than the user has requested. Preferably, all issues related to physical creation of the document will have been flagged during the earlier document self-verification step of the document assembly design process. Both such document self-verification and the processing in this step 228 are described in more detail in the '809 and 759 applications. The information generated in this step 228 is then transmitted to the user, preferably over the established communications link (e.g., the Internet). In step 230, document production hub 60 determines whether an order request has been received. Specifically, in the event the user is satisfied with the price quote and other information provided to him in step 228, he will submit (preferably, overthe established communications link, e.g., the Internet) an order request, confirming the order for which the inquiry previously was submitted. Upon receipt of such an order request, hub 60 proceeds to step 232. Otherwise, further communications may occur over the communications link in step 224.
When such an order request is received, in step 232 hub 60 communicates with the user via the communications link to accept payment information (e.g., credit card number or business account number). Then, the received order information is processed to format the information so as to facilitate assembly of the document and also to facilitate routing of the order information. Then, the order information is evaluated and a document production location is selected to process the order. Typically, much of this processing will have already occurred in step 228. The document, together with all assembly instructions, is then routed to the selected document production location. The routing of the document order preferably is performed so as to maximize efficiency. For example, where a first production location is specified as the pickup location, it may nevertheless be more efficient to produce the document at a second location and then ship it to the first location. This step is described in detail in the '809 and 759 applications.
Finally, in step 214 an order confirmation is transmitted from document production hub 60 to the requesting terminal. This step also is described in detail in the '809 and 759 applications.
The following example will illustrate the foregoing processes. In this example, a user initially is in the WordPerfect™ word processing application program. Referring to Figure 5, the user initially has opened a WordPerfect™ window 288 in which he is working on a document 290. Upon completion of the document 290, the user has clicked on the printer icon 292 in the window 288 to indicate that he wishes to print the document. In response, the application program opens a dialogue box 300 for selecting printing options. One of such options is the printer to which the job will be delivered. When dialogue box 300 initially is opened, the field 302 will specify the name of the default printer. However, upon clicking on down-arrow button 304, a drop-down list of all available printers is displayed. As noted above, this list is retrieved by the application program referencing the Windows™ registry. Specifically, each displayed "printer" actually is a registered virtual printer in the printer folder. Included with the virtual printers (which correspond to attached physical printers) is a virtual printer 306 according to the present invention. Clicking on virtual printer 306 selects that printer.
The user may also select other printing features, such as the range of pages to be printed or whether to use one-sided or two-sided printing, by utilizing the other tabs 308 to 310 of the dialogue box 300. In addition, the user may select printer-specific settings by clicking on Properties button 312, which pulls up a dialogue box with pages generated by the printer driver corresponding to the selected virtual printer. In the case of the printer driver according to the present invention, these printer-specific settings may include, for example, paper size, paper orientation (i.e., portrait or landscape), number of copies, color or gray scale selection, desired print resolution (e.g., in dots per inch), scaling, various PostScript options, and halftone color adjustments. Finally, upon clicking on Print button 314 with virtual printer 306 selected, the printer driver begins executing the process steps shown in Figure 3.
From the user's perspective, the first event to occur after Print button 314 has been selected is the display of a preview window 340 shown Figure 6. Here, a display 341 of the document, as it would look if it were actually printed on white paper, is displayed. As discussed in detail below, this display is created by using the printer raster image processing (RIP) software to render an image of the document on the display monitor. Within this view, the user can navigate to the first page of the document by clicking on the First Page button 342, the page immediately prior to the currently displayed page by clicking on the Prev Page button 343, the page immediately after the currently displayed page by clicking on the Next Page button 344, or the last page of the document by clicking on the Last Page button 345. In addition, for any displayed page, the user can zoom in by clicking on the Zoom In button 346 or zoom out by clicking on the Zoom Out button 347, thereby changing the scaling of the displayed image 341.
In the embodiment shown in Figure 6, such zooming is in discrete increments each time one of the illustrated zoom buttons is clicked. However, it is also contemplated that the zoom may be nearly continuously adjustable as specified by the user (e.g., in increments of 1% or even less). Also, although only a single page of the document is displayed at any given time in the embodiment shown in Figure 6, the present invention also contemplates displaying images of more than one page at a time, with the displayed pages either being related in some predetermined manner (e.g., two or three consecutive pages), being independently specified by the user, or with the user having the option to specify either of the foregoing modes.
If the user is satisfied with the appearance of the document, he may continue on by clicking the Send Now button 349. Otherwise, he may click on the Exit button 350 to exit from the printer driver functionality. In this latter case, window 340 is closed and the window 288 corresponding to the application program in which the user was originally working (i.e., WordPerfect™) is displayed. Afterthe user has made any desired changes, he can once again click on the print button 292 and follow the above steps to invoke the printer driver according to the invention.
In the event the user has clicked on the Send Now button 349, the document is uploaded to hub 60 via the Internet. Also, the user's web browser is launched with the web address of hub 60, which generally will be an Internet address but may instead be an intranet address. In response, the user's browser receives an initial web page from hub 60. In this example, the web page shown in Figure 7 is the first page downloaded into and then displayed from the user's Web browser. From the page displayed in Figure 7, the user has the option of creating the document as either a bound document 370, a handout 371 or a transparency 372. A bound document includes a binding such as a coil binding or a wire binding. A handout is a document printed on paper but which does not include a binding, although it may be hole-punched, clipped or stapled. A transparency is a document printed on transparent plastic which may be used to display the document on a projector. Each of objects 370 to 372 is a hyperlink to a different web page for specifying assembly instructions for the corresponding document. It is noted that any or all of the web pages generated by hub 60 pursuant to the present invention may be completely pre-stored at hub 60 or may be generated on-the-fly in whole or in part.
Assuming the user clicks on the link 370, the web page in Figure 8 is displayed. This page permits the user to design assembly instructions for a bound document. A numeric Quantity field 380 permits the user to enter the number of copies of the assembled document he wishes to have made. Printing radio buttons 381 allow the user to select printing in full color or black & white. Sides radio buttons 383 allow the user to select single-sided printing (i.e., printing on one side of each page only) or double-sided printing (i.e., printing on both sides of each page). Paper radio buttons 385 permit the user to select the type of paper in terms of weight, material and, in certain cases not shown here, color. It is noted that the size of the paper and the printing orientation will have already been selected above. Binding radio buttons 387 allow the user to select binding type. Covers radio buttons 389 allow the user to select whether to use front and back covers and, if so, the type of covers to use.
It is noted that the particular options shown in Figure 8 are exemplary only and other options may also or instead be presented to the user. Thus, each category shown in Figure 8 (e.g., Paper or Binding) may include additional or different choices. Also, different or additional categories may also be provided. For example, there may be provided a text box and a font type and size field for specifying text to be printed on the front cover. Alternatively, there may be provided a radio button or checkbox which permits the user to designate that the first page of content in the submitted document should be printed on the cover of the assembled document. Also provided is a display 390 which shows approximately how the document will appear when assembled. In this example, the displayed binding 393 changes as the binding selected using radio buttons 387 changes. Also, whether the front cover 391 is displayed in black & white or color changes depending upon the selection of radio buttons 381. The actual content displayed as cover 391 may be the actual content of the first page of the document (or the content of the cover page if an opaque cover page is used) or may be generic content for giving the user a rough idea of how the document will look.
In field 392, the price of the document per copy is indicated and is changed as selections are made by the user. Thus, each time a field is changed by the user a message is sent to hub 60 and hub 60 generally will return price 392 and display 390 update information. It is noted that rather than having display 390 and price 392 change as selections are made, it is also possible to update those items only when an Update or similar button is clicked by the user. In this example, all of the changes to the appearance of display 390 and price 392 are made by hub 60 and are communicated to the user's browser over the Internet. However, as noted above, some or all of such functionality could be implemented on the user's computer, using a Java applet, for example.
Also in this example, hub 60 performs document verification each time it receives an update from the user. Thus, for example, if the user switches to a heavier paper, that new selection might make the document too thick for the selected binding type. Accordingly, hub 60 causes to be displayed an error message. It is noted that this document self-verification functionality might instead be implemented on the user's computer, using a Java applet, for example. When satisfied with his selection the user clicks on button 394 which retrieves the web page shown in Figure 9. Otherwise, the user may click on button 396 which again retrieves the page shown in Figure 7.
Figure 9 illustrates the preview web page which the user can use to preview the document 400 as assembled. Initially, the document is displayed closed, as shown in Figure 9. The user may flip through the document one page at a time using buttons 402 and 404. Specifically, clicking button 402 replaces the displayed image with an image of how the document would appear if the next page were turned (i.e., moving forward in the document). Clicking button 404 replaces the displayed image with an image of how the document would appear if the previous page were turned (i.e., moving backward in the document). However, clicking button 404 while in the view displayed in Figure 9 would have no effect, as there is no previous page. A user may also navigate through the document using drop-down menu 406, which allows the user to jump to certain points within the document (e.g., first page or last page).
In this example, the display illustrated in Figure 9 is created using a Java applet executing on the user's browser. Accordingly, no communication needs to take place over the Internet each time a page is turned or a new view is otherwise required to be generated. However, it is also possible to generate each new view at hub 60 and then communicate those views to the user's browser over the Internet.
Also, in this example, the user is only permitted to view the assembled document. However, it should be noted that the user also may be permitted to specify or change assembly instructions while the preview is displayed. This feature might be particularly valuable where assembly components need to be added into the middle of the document, such as tab pages.
In the present example, if the user is dissatisfied with the appearance of the document as assembled, or otherwise wishes to change the order, he can click on button 406 to return to the page displayed in Figure 8. Otherwise, he may click on button 408 to complete the order. Upon clicking on button 408, web pages are downloaded permitting the user to identify a destination address, a delivery method (e.g., second-day or overnight), payment information and a billing address. Thereafter, one or more web pages are displayed confirming the order and showing total cost, with any 5 shipping costs and taxes added. These additional steps are well known in the field of electronic commerce and need not be described in detail here.
Further embodiments
The foregoing systems and techniques can overcome many of the
10 problems associated with conventional document ordering. Generally speaking, the present invention can permit nearly all aspects of document design ordering and previewing to occur electronically. As a result, the problems of not discovering deficiencies in the assembled document until late in the process, miscommunication in the ordering process, and inefficiencies in the ordering and
15 production processes can be largely avoided. Moreover, because most of the functionality according to the present invention is initiated from a printer driver, all of the foregoing advantages often can be achieved with little more effort than printing a document.
However, it should be understood that the foregoing embodiment is merely
20 representative of the techniques according to the present invention. As noted above, the functionality described above may be implemented in a variety of ways. However specifically implemented, such functionality preferably is initiated from a printer driver.
For example, nearly all of the functionality may be controlled from the hub
25 60 (server) side. In this case, essentially all that the printerdriveraccording to the present invention would need to do would be to open a network (e.g., Internet) connection to hub 60. Thereafter, hub 60 would perform all of the above functionality and download display code (e.g., HTML) to the user's computer or else, in certain cases, hub 60 might download one or more applets (e.g., Java)
30 to the user's computer to perform some of such functionality. In any event, all of the control would be retained by hub 60. At the other extreme, nearly all the functionality would be performed at the user's computer, with network communications being initiated only when absolutely necessary, such as to submit a completed order or to communicate payment information. In such an embodiment, all of such functionality preferably would be installed on the user's computer as an application program either within the printer driver or launched by the printer driver. Preferably, such an embodiment also would include periodic updates to the printer driverfunctionality (preferably over the network) as available assembly components, prices, production facilities and other production-specific factors change. By using frequent enough updates, even a significant amount of the pricing and/or timing information might be generated locally at the user's computer.
Between these two extremes exist an infinite number of ways of allocating performance of the above described functionality, as will be readily appreciated by those skilled in the art. The present invention is intended to encompass all such embodiments.
Also, although a single print file is submitted in the embodiments described above, it is also possible to submit multiple print files to be included within the same assembled document according to the present invention. Such an example could be implemented, for example, by including in the printer driver functionality formaintaining an ordered document list for each assembly job. Thus, each time the printer driver is initiated the user would have the option of selecting either a new or an existing assembly job. If a new assembly job were selected, a document list containing only the current document would be created for that job and the user might be asked to name the assembly job. If an existing assembly job were selected, then the user would have the option of selecting where in the ordered document list for that assembly job the user would like to insert the current document. The foregoing steps could be performed either before or after preview of the current un-assembled document. Only when all documents have been specified for a given assembly job, the user would then initiate the process of specifying document assembly instructions (e.g., uploading the entire ordered document list to hub 60). In this way, documents could be created using a variety of application programs. At the same time, the ease of utilizing a printer driver to implement functionality pertaining to specification of assembly instructions, document previewing and ordering would still be retained.
Thus, although the present invention has been described in detail with regard to the exemplary embodiments and drawings thereof, it should be apparent to those skilled in the art that various adaptations and modifications of the present invention may be accomplished without departing from the spirit and the scope of the invention. Accordingly, the invention is not limited to the precise embodiments shown in the drawings and described in detail above. Therefore, it is intended that all such variations not departing from the spirit of the invention be considered as within the scope thereof as limited solely by the claims appended hereto.
In the following claims, those elements which do not include the words "means for" are intended not to be interpreted under 35 U.S.C. § 1121] 6.

Claims

CLAIMSWhat is claimed is:
1. A method for facilitating printing and/or assembly of a document, said method comprising steps of: inputting a document electronically; and uploading the document via an electronic network to a document production hub that coordinates printing and assembly of documents; wherein said steps are executed by a printer driver when the printer driver is invoked.
2. A method according to Claim 1 , further comprising a step of transmitting to the document production hub via the electronic network an instruction to print and assemble the document.
3. A method according to Claim 2, wherein the instruction to print and assemble the document designates a location where the document, as so printed and assembled, is to be delivered.
4. A method according to Claim 1 , further comprising a step of opening an electronic connection with the document production hub that permits a user to communicate with the document production hub.
5. A method according to Claim 1 , wherein said inputting and uploading steps are automatically executed by the printer driver when the printer driver is invoked.
6. A method according to Claim 1 , further comprising a step of permitting a user to input assembly information for the document.
7. A method for facilitating printing and/or assembly of a document, said method comprising steps of: inputting a document electronically; and uploading the document via an electronic network to a document production hub that coordinates printing of documents among plural different printers; wherein said steps are executed by a printer driver when the printer driver is invoked.
8. A method according to Claim 7, wherein the document production hub also coordinates assembly of documents.
9. A method according to Claim 7, further comprising a step of transmitting to the document production hub via the electronic network an instruction to print the document.
10. A method according to Claim 9, wherein the instruction to print the document designates a location where the document, as so printed, is to be delivered.
11. A method for facilitating printing and/or assembly of a document, said method comprising steps of: inputting a document electronically; and opening an electronic connection with a document production hub that permits a user to communicate with the document production hub, wherein said steps are executed by a printer driver when the printer driver is invoked, and wherein the document production hub coordinates printing and assembly of documents.
12. A method according to Claim 11 , wherein the electronic connection is implemented via an Internet browser.
13. A method according to Claim 11 , further comprising an input step of permitting a user to input assembly information for the document.
14. A method according to Claim 13, wherein said input step is implemented by using computer-executable code downloaded via the electronic connection.
15. A method according to Claim 11 , further comprising a step of permitting a user to preview the document as printed and assembled.
16. A method according to Claim 11 , further comprising a step of using the electronic connection to initiate uploading of the document, via an electronic network, to the document production hub.
17. A method according to Claim 16, further comprising a step of transmitting to the document production hub via the electronic network an instruction to print and assemble the document.
18. A method according to Claim 17, wherein the instruction to print and assemble the document designates a location where the document, as so printed and assembled, is to be delivered.
19. A method for facilitating printing and/or assembly of a document, said method comprising steps of: inputting a document electronically; and opening an electronic connection with a document production hub that permits a user to communicate with the document production hub, wherein said steps are executed by a printer driver when the printer driver is invoked, and wherein the document production hub coordinates printing of documents among plural different printers.
20. A method according to Claim 19, wherein the document production hub also coordinates assembly of documents.
21. A method according to Claim 19, wherein the electronic connection is implemented via an Internet browser.
22. A method according to Claim 19, further comprising a step of using the electronic connection to initiate uploading of the document, via an electronic network, to the document production hub.
23. A method according to Claim 22, further comprising a step of transmitting to the document production hub via the electronic network an instruction to print and assemble the document.
24. A method for facilitating printing and/or assembly of a document, said method comprising steps of: inputting a document electronically; and permitting a user to input assembly information for the document, wherein said steps are executed by a printer driver when the printer driver is invoked.
25. A method according to Claim 24, further comprising a step of uploading the document and the assembly information via an electronic network to a document production hub that coordinates printing and assembly of documents.
26. A method according to Claim 25, further comprising a step of transmitting to the document production hub via the electronic network an instruction to print and assemble the document.
27. A method according to Claim 24, further comprising a step of opening an electronic connection with a document production hub that permits the user to communicate with the document production hub, wherein said permitting step is implemented by using computer-executable code downloaded via the electronic connection.
28. A method according to Claim 24, further comprising a step of permitting the user to preview the document, as assembled pursuant to the assembly information.
29. A method according to Claim 1 , further comprising a step of permitting the user to alter the assembly information for the document after previewing the document.
30. A computer-readable medium storing computer-executable process steps for facilitating printing and/or assembly of a document, said process steps comprising steps to: input a document electronically; and upload the document via an electronic network to a document production hub that coordinates printing and assembly of documents; wherein said steps are executed by a printer driver when the printer driver is invoked.
31. A computer-readable medium storing computer-executable process steps for facilitating printing and/or assembly of a document, said process steps comprising steps to: input a document electronically; and upload the document via an electronic network to a document production hub that coordinates printing of documents among plural different printers; wherein said steps are executed by a printer driver when the printer driver is invoked.
32. A computer-readable medium storing computer-executable process steps for facilitating printing and/or assembly of a document, said process steps comprising steps to: input a document electronically; and open an electronic connection with a document production hub that permits a user to communicate with the document production hub, wherein said steps are executed by a printer driver when the printer driver is invoked, and wherein the document production hub coordinates printing and assembly of documents.
33. A computer-readable medium storing computer-executable process steps for facilitating printing and/or assembly of a document, said process steps comprising steps to: input a document electronically; and open an electronic connection with a document production hub that permits a user to communicate with the document production hub, wherein said steps are executed by a printer driver when the printer driver is invoked, and wherein the document production hub coordinates printing of documents among plural different printers.
34. A computer-readable medium storing computer-executable process steps for facilitating printing and/or assembly of a document, said process steps comprising steps to: input a document electronically; and permit a user to input assembly information for the document, wherein said steps are executed by a printer driver when the printer driver is invoked.
PCT/US2000/029310 1999-10-25 2000-10-24 Utilizing a printer driver to facilitate printing/assembly of a document WO2001031465A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002424231A CA2424231A1 (en) 1999-10-25 2000-10-24 Utilizing a printer driver to facilitate printing/assembly of a document
AU20399/01A AU2039901A (en) 1999-10-25 2000-10-24 Utilizing a printer driver to facilitate printing/assembly of a document

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42719499A 1999-10-25 1999-10-25
US09/427,194 1999-10-25

Publications (2)

Publication Number Publication Date
WO2001031465A1 true WO2001031465A1 (en) 2001-05-03
WO2001031465A9 WO2001031465A9 (en) 2002-07-04

Family

ID=23693859

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/029310 WO2001031465A1 (en) 1999-10-25 2000-10-24 Utilizing a printer driver to facilitate printing/assembly of a document

Country Status (3)

Country Link
AU (1) AU2039901A (en)
CA (1) CA2424231A1 (en)
WO (1) WO2001031465A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7271929B1 (en) * 2004-09-21 2007-09-18 Union Beach, L.P. System and method for integrated printing and assembly of electronic documents
US20100110472A1 (en) * 2008-10-30 2010-05-06 Xerox Corporation System and method for managing a print job in a printing system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839829A (en) * 1986-11-05 1989-06-13 Freedman Henry B Automated printing control system
US5220674A (en) * 1987-07-17 1993-06-15 Digital Equipment Corporation Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
US5799206A (en) * 1994-04-11 1998-08-25 Hitachi, Ltd. Remote print system having a plurality of computers which are capable of monitoring and controlling operations of a remote printer
US5930465A (en) * 1996-11-26 1999-07-27 Xerox Corporation Printing system with enhanced print service capability
US5933144A (en) * 1997-11-12 1999-08-03 International Business Machines Corporation Utility for providing printing support to graphical Java applications
US5995723A (en) * 1997-11-18 1999-11-30 Xerox Corporation Client subsystem for changing document/job attributes in a network printing system
US6026436A (en) * 1997-11-21 2000-02-15 Xerox Corporation System for cloning document processing related settings in a document processing system
US6134568A (en) * 1998-10-30 2000-10-17 Kinko's Ventures, Inc. Previewing an assembled document

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839829A (en) * 1986-11-05 1989-06-13 Freedman Henry B Automated printing control system
US5220674A (en) * 1987-07-17 1993-06-15 Digital Equipment Corporation Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
US5799206A (en) * 1994-04-11 1998-08-25 Hitachi, Ltd. Remote print system having a plurality of computers which are capable of monitoring and controlling operations of a remote printer
US5930465A (en) * 1996-11-26 1999-07-27 Xerox Corporation Printing system with enhanced print service capability
US5933144A (en) * 1997-11-12 1999-08-03 International Business Machines Corporation Utility for providing printing support to graphical Java applications
US5995723A (en) * 1997-11-18 1999-11-30 Xerox Corporation Client subsystem for changing document/job attributes in a network printing system
US6026436A (en) * 1997-11-21 2000-02-15 Xerox Corporation System for cloning document processing related settings in a document processing system
US6134568A (en) * 1998-10-30 2000-10-17 Kinko's Ventures, Inc. Previewing an assembled document

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7271929B1 (en) * 2004-09-21 2007-09-18 Union Beach, L.P. System and method for integrated printing and assembly of electronic documents
US20100110472A1 (en) * 2008-10-30 2010-05-06 Xerox Corporation System and method for managing a print job in a printing system
US8842313B2 (en) * 2008-10-30 2014-09-23 Xerox Corporation System and method for managing a print job in a printing system

Also Published As

Publication number Publication date
AU2039901A (en) 2001-05-08
CA2424231A1 (en) 2001-05-03
WO2001031465A9 (en) 2002-07-04

Similar Documents

Publication Publication Date Title
US6616702B1 (en) Previewing an assembled document
JP4961031B2 (en) Method and system for submitting a job to a copy center
JP3904422B2 (en) System and method for connecting to a production scanner
US7012706B1 (en) System and method for interfacing with multiple production scanners
US6958824B2 (en) System and method for accessing and using a commercial print service
CA2316560C (en) Web print submission from within an application
US20050157330A1 (en) Image-forming system with a graphical user interface having an interconnection architecture hyperlink
JP2007524164A (en) Communication with printers using website technology
JPH09222967A (en) Method and system for speedily setting network printer
EP1978481A1 (en) Print driver based marketing system and method
US20040179231A1 (en) Automated creation and prepress preparation of bleed tabs in printed documents
AU2004232233A1 (en) System for producing printed on-line content from web sites on demand
US20030206312A1 (en) Method and apparatus for integrating remote print-on-demand services into a local printer driver
JP2002222238A (en) Printing process system and method using document adviser service
US20050015392A1 (en) Document self-verification and routing
US20060206813A1 (en) System and method for management of the production of printed material
US8281237B1 (en) System, method and recordable medium for printing services over a network and graphical user interface
WO2001031465A1 (en) Utilizing a printer driver to facilitate printing/assembly of a document
WO2000026810A1 (en) Previewing an assembled document
US20060161782A1 (en) System and method for management of the production of printed material
US20040042032A1 (en) Copy document production
US20050105126A1 (en) Ordering system, information processing device, ordering method, and program
JP2005208688A (en) Electronic manuscript submission system, control method therefor and control program
US20040205033A1 (en) Print-to-mail system and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/9-9/9, DRAWINGS, REPLACED BY NEW PAGES 1/9-9/9; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
WWE Wipo information: entry into national phase

Ref document number: 2424231

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: JP