Abstract:
Methods and apparatus are provided for submitting an electronic document to a printing system that includes a print controller having an input port and a print queue. Methods in accordance with this invention include coupling a portable media device to the input port, the portable media device including an electronic document and automatically copying the electronic document to the print queue. Apparatus in accordance with this invention include a portable media device that includes an electronic document. The portable media device is adapted to be coupled to the input port of the print controller, and the print controller is adapted to automatically copy the electronic document to the print queue.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 10/946,232, filed Sep. 20, 2004 now U.S. Pat. No. 7,869,079 the entirety of which is herein incorporated by this reference thereto. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Technical Field 
     This invention relates to print processing systems. More particularly, this invention relates to methods and apparatus for submitting print jobs to printing systems. 
     2. Description of the Prior Art 
     In recent years, software and hardware products for connecting computer equipment together to form networked computer systems has become more prevalent. For example, it is common today for computers to be connected together in computer networks. Such networked computer systems allow users to freely communicate information with one another. In addition, computer networks allow multiple computers to share computer resources, such as printers, copiers, facsimile machines, storage devices and other computer resources. 
     For example,  FIG. 1  illustrates a previously known networked computer system that allows multiple users to share print output equipment. In particular, networked printing system  10  includes multiple client computers  12  coupled via network  14  to print controller  16  and printer  18 . Client computers  12  may be desktop computers, laptop computers, handheld computers, computer workstations, personal digital assistants, cellular telephones, or other similar client computer devices. Network  14  may be a local area network, wide area network, wireless network, cellular network, the Internet, or other similar network or combination of such networks. Print controller  16  may be a computer device that, among other things, enables a print output device, such as printer  18 , to function as a networked printer. Printer  18  may be a laser printer, inkjet printer, copier, plotter, printing press, or other similar print output device. 
     Client computers  12  may submit print jobs to print controller  16  for printing on printer  18 . For example, a user of client computer  12   1  may issue a print command from within application program  20   1  (e.g., a page layout program), which may then call a print driver to create a print job. The print driver may create the print job in a page description language (“PDL”), such as PostScript, and may then submit the print job to print controller  16  via network  14 . Print controller  16  may receive the print job via network interface  22 , such as an Ethernet network interface card. Print controller  16  may include front-end application  24 , which may be used to assign the received print job to one of print queues  26 . Each print queue  26  may have an associated function. For example, print queue  26   1  may be a high-priority queue for immediate printing, print queue  26   2  may be a normal-priority queue for printing print jobs in sequential order, print queue  26   3  may be a queue for holding print jobs for subsequent printing, and so on. 
     Front-end application  24  may include software that assigns incoming print jobs to print queues  26  based on various user-specified options. For example, if a user specifies that a print job is a “rush” job that requires immediate printing, front-end application  24  may assign the rush print job to print queue  26   1 . In contrast, if a user does not request priority processing, front-end application  24  may assign the normal-priority print job to print queue  26   2 . Back-end application  28  may include software and/or hardware that de-spools print jobs from print queues  26 , converts print jobs from PDL to raster data, and then provides the raster data to printer  18  for printing. 
     Although this print workflow may be appropriate for many printing requirements, there are numerous instances in which such a networked print workflow is inconvenient or inapplicable. For example, a user without network access (e.g., a visitor) may find it very difficult to print a document on networked printing system  10 . To do so, the visitor typically must send or provide an electronic copy of the document to a user of one of client computers  12  (e.g., via email), who may then submit the print job via network  14  to print controller  16 . If the visitor does not have immediate email access, it may be very difficult to print the document. Although the visitor may have the document available on portable storage media (e.g., floppy disk), the computer usage policy at the visiting site may prohibit visitors from using client computers  12  for network printing. Further, the visitor may be reluctant to provide electronic copies of the document in this manner because the content may be easily copied by the user, or the content may be intercepted by an unauthorized user of network  14 . 
     Likewise, previously known networked printing system  10  may be inappropriate for printing sensitive material, particularly if print controller  16  and printer  18  are located in a common area that may be accessed by numerous users. For example, a user of client computer  12   1  may want to submit a confidential print job to print controller  16  for printing on printer  18 . To prevent unintended viewing of the document by other users, the user may submit the print job, and then attempt to reach the printer  18  before printing begins. The user may not make it in time, or may get distracted on the way to printer  18 . As a result, the document may be viewed by other users and document security may be compromised. 
     One possible solution to these problems is to provide print jobs to print controller  16  via portable storage media, such as a magnetic or optical disk. For example, if print controller  16  includes a CD-ROM drive and a user interface, the user may load a CD that includes a desired print job into the CD-ROM drive, and may then transfer the print job from the CD to one of print queues  26  via the user interface. Although this may solve the above-mentioned network access and security problems, this solution may be prohibitively costly, and may create other more serious security concerns. In particular, the addition of a dedicated magnetic or optical disk drive and user interface may substantially increase the cost of print controller  16 , and therefore may be undesirable. As a result, many low-cost print controllers may not include such dedicated hardware, and thus this solution may not be available in all instances. Further, a system operator may be reluctant to provide a print controller  16  with a user interface that may be accessible to all users for fear that such access may be used to disrupt system resources. 
     In view of the foregoing, it would be desirable to provide methods and apparatus for submitting print jobs to networked print devices without requiring network access. 
     It further would be desirable to provide methods and apparatus for submitting print jobs to a networked print controller without requiring that the print controller include dedicated magnetic or optical storage readers. 
     It also would be desirable to provide methods and apparatus for submitting print jobs to a networked print controller without requiring that the print controller include a user interface. 
     SUMMARY 
     In view of the foregoing, it is an object of this invention to provide methods and apparatus for submitting print jobs to networked print devices without requiring network access. 
     It further is an object of this invention to provide methods and apparatus for submitting print jobs to a networked print controller without requiring that the print controller include dedicated magnetic or optical storage readers. 
     It also is an object of this invention to provide methods and apparatus for submitting print jobs to a networked print controller without requiring that the print controller include a user interface. 
     These and other objects of this invention are accomplished by providing methods and apparatus for submitting an electronic document to a printing system that includes a print controller having an input port and a print queue. In particular, methods in accordance with this invention include coupling a portable media device to the input port, the portable media device including an electronic document, and automatically copying the electronic document to the print queue. Apparatus in accordance with this invention include a portable media device that includes an electronic document. The portable media device is adapted to be coupled to the input port of the print controller, and the print controller is adapted to automatically copy the electronic document to the print queue. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above-mentioned objects and features of the present invention can be more clearly understood from the following detailed description considered in conjunction with the following drawings, in which the same reference numerals denote the same elements throughout, and in which: 
         FIG. 1  is a block diagram of a previously known networked printing system  10 ; 
         FIG. 2  is a block diagram of an exemplary printing system in accordance with this invention; 
         FIG. 3  is a flow diagram of an exemplary peripheral detection process in accordance with this invention; 
         FIG. 4  is a flow diagram of an exemplary auto-queue process in accordance with this invention; 
         FIG. 5  is a block diagram of an alternative exemplary printing system in accordance with this invention; 
         FIG. 6  is a flow diagram of an alternative exemplary auto-queue process in accordance with this invention; 
         FIG. 7  is a block diagram of another alternative exemplary printing system in accordance with this invention; 
         FIGS. 8A and 8B  are diagrams of exemplary portable media devices for use with methods and apparatus in accordance with this invention; 
         FIG. 9  is a flow diagram of another alternative exemplary auto-queue process in accordance with this invention; 
         FIG. 10  is a block diagram of another alternative exemplary printing system in accordance with this invention; and 
         FIG. 11  is a block diagram of another alternative exemplary printing system in accordance with this invention. 
     
    
    
     DETAILED DESCRIPTION 
     Referring now to  FIG. 2 , an exemplary printing system in accordance with this invention is described. In particular, printing system  10   a  includes portable media device  30   a  coupled via input/output (“I/O”) port  32  to print controller  16   a . Portable media device  30   a  may be a floppy disk, ZIP disk, optical disk, removable hard disk, microdrive, xD picture card, memory stick, SmartMedia, flash memory, universal serial bus (“USB”) memory storage device or other similar portable media device. Portable media device  30   a  may include print jobs  50   a   1  (“Love Poem”) and  50   a   2  (“Dear John Letter”). I/O port  32  may be a USB, High Performance Serial Bus (commonly called “FireWire”), or other similar I/O port. Depending on the device type, portable media device  30   a  may be directly connected to I/O port  32 , or may be connected via a portable media drive device. For example, if portable media device  30   a  is a USB memory device, and I/O port  32  is a USB port, the portable media device may be plugged directly into I/O port  32 . Alternatively, if portable media device  30   a  is a ZIP disk, and I/O port  32  is a FireWire port, the ZIP disk may be plugged into a portable ZIP drive that may be connected to I/O port  32  via a FireWire cable. 
     Print controller  16   a  may be a Fiery®, EDOX® or Splash® print controller by Electronics for Imaging, Inc., Foster City, Calif., U.S.A., or similar print controller. Printer  18  may be a laser printer, inkjet printer, dye-sublimation printer, copier, plotter, printing press, or other similar print output device. Print controller  16   a  may be separate from printer  18 , such as a standalone print controller. Alternatively, print controller  16   a  may be included within the hardware and/or firmware of printer  18 , such as in an embedded print controller. 
     Print controller  16   a  may include print queue  26   a  for receiving print jobs. Print controller  16   a  also may include back-end application  28 , which may include software and/or hardware that may be used to de-spool print jobs from print queue  26   a,  convert the de-spooled print jobs to raster data, and then provide the raster data to printer  18  for printing. 
     Print controller  16   a  also may include peripheral detect application  34  and auto-queue application  36   a . Peripheral detect application  34  may include hardware and/or software that may be used to invoke auto-queue application  36   a  when a peripheral device has been connected to I/O port  32 . For example, if print controller  16   a  includes a Linux operating system, peripheral detect application  34  may include a “hotplug” service that may be used to invoke auto-queue application  36   a  when a USB device has been connected to a USB I/O port  32 . Similarly, if print controller  16   a  includes a Microsoft Windows operating system, peripheral detect application  34  may include a “plug and play” service that may be configured to invoke auto-queue application  36   a  when a FireWire memory device has been connected to a FireWire I/O port  32 . Persons of ordinary skill in the art will understand that peripheral detect application  34  may be used to detect other types of peripheral devices that are coupled to other types of I/O ports on print controller  16   a.    
     Peripheral detect application  34  also may provide auto-queue application  36   a  with information to identify the type of peripheral device coupled to I/O port  32 . For example, each peripheral device that may be coupled to I/O port  32  may have an associated type code that identifies the device type. Thus, a first type code may be associated with USB portable memory devices, a second type code may be associated with FireWire memory devices, a third type code may be associated with USB keyboards, and so on. When a peripheral device is coupled to I/O port  32 , peripheral detect application  34  may detect the type code associated with the peripheral device, invoke auto-queue application  36   a,  and provide the detected type code to the auto-queue application. 
       FIG. 3  illustrates an exemplary peripheral detection process  40  performed by peripheral detect application  34 . Beginning at step  42 , peripheral detect application  34  checks for the presence of a peripheral device connected to I/O port  32 . For example, peripheral detect application  34  may periodically poll I/O port  32  to detect the presence of a connected peripheral device. If no device is detected, the process returns to step  42  and continues to check for the presence of a connected peripheral device. If, however, peripheral detect application  34  detects a connected device, the process proceeds to step  44 , wherein peripheral detect application  34  retrieves the associated type code from the connected device. At step  46 , peripheral detect application  34  invokes auto-queue application  36   a,  and provides the auto-queue application with the type code retrieved at step  44 . Process  40  then terminates. 
     Referring again to  FIG. 2 , auto-queue application  36   a  may be software and/or hardware that receives from peripheral detect application  34  the type code associated with the connected peripheral device, and determines if the received type code corresponds to a type of device (e.g., portable media device  30   a ) that may be used to store print jobs. If so, auto-queue application  36   a  may then copy print jobs from portable media device  30   a  to print queue  26   a . Once the print jobs have been copied to print queue  26   a,  back-end application  28  de-spools the print jobs from print queue  26   a,  converts print jobs to raster data, and then provides the raster data to printer  18  for printing. 
     An exemplary auto-queue process  70   a  implemented by auto-queue application  36   a  is described with reference to  FIGS. 2 and 4 . In particular, beginning at step  72 , auto-queue application  36   a  receives from peripheral detect application  34  the type code retrieved from the device coupled to I/O port  32 . Next, at step  74 , auto-queue application  36   a  determines if the received type code corresponds to a portable media device that may include stored print jobs. If not, the process ends. If, however, the received type code corresponds to such a portable media device (e.g., portable media device  30   a ), the process continues to step  76 , and the auto-queue application determines if portable media device  30   a  includes any print jobs  50   a . In this regard, auto-queue application  36   a  may search for files having file formats typically associated with print jobs, such as PostScript, PDF, PCL, TIFF, JPEG, or other similar file types. If portable media device  30   a  does not contain any print jobs  50   a,  the process ends. If, however, portable media device  30   a  includes print jobs  50   a,  the process proceeds to step  92 , wherein print jobs  50   a  are copied to print queue  26   a . Auto-queue process  70   a  then ends. 
     After print jobs  50   a  have been copied to print queue  26   a,  back-end application  28  de-spools print jobs  50   a  from print queue  26   a,  converts print jobs to raster data, and then provides the raster data to printer  18  for printing. Print jobs  50   a  may therefore be printed by print controller  16   a  and printer  18  without requiring that a user have access to network  14 , or that print controller  16   a  include a dedicated magnetic or optical storage reader or user interface. 
     Referring now to  FIG. 5 , an alternative exemplary print system in accordance with this invention is described. In particular, print system  10   b  includes portable media device  30   b  coupled via I/O port  32  to print controller  16   b . For simplicity, client computers  12 , network  14 , network interface  22  and front-end application  24  have been removed from the drawing, although such elements may be part of print system  10   b . Print controller  16   b  may include multiple print queues  26   b   1 ,  26   b   2 , . . .  26   b   N  for receiving print jobs, with each print queue having an associated name that may be used to uniquely identify the print queue. For example, print controller  16   b  may include print queues  26   b   1 ,  26   b   2 , . . .  26   b   N  having associated names “Queue 1, ” “Queue 2, ” . . . , and “Queue N,” respectively, that may be used to uniquely identify the print queues. 
     Auto-queue application  36   b  may be software and/or hardware that receives from peripheral detect application  34  the type code associated with the connected peripheral device, and determines if the received type code corresponds to a type of device (e.g., portable media device  30   b ) that may be used to store print jobs. If so, auto-queue application  36   b  may then copy print jobs from portable media device  30   b  to print queues  26   b   1 ,  26   b   2 , . . .  26   b   N  based on queue assignment information included on portable media device  30   b . Once the print jobs have been copied to print queue  26   b,  back-end application  28  de-spools the print jobs from print queue  26   b,  converts print jobs to raster data, and then provides the raster data to printer  18  for printing. 
     In this example, queue assignment information is included in the name of each print job  50   b . That is, the name of each print job  50   b  indicates the print queue  26   b  that will receive a copy of the print job. Thus, if a user would like to have a print job  50   b   1  processed in a desired print queue  26   b  (e.g., print queue  26   b   1 , named “Queue 1”), the user may name the print job “Queue 1.” Similarly, if a user would like to have a print job  50   b   2  processed in another desired print queue  26   b  (e.g., print queue  26   b   4 , named “Queue 2”), the user may name the print job “Queue 2.” When portable media device  30   b  is connected to I/O port  32 , peripheral detect application  34  invokes auto-queue application  36   b,  which copies print jobs  50   b  from portable media device  30   b  to print queues  26   b  based on print job names. 
     An exemplary auto-queue process  70   b  implemented by auto-queue application  36   b  is described with reference to  FIGS. 5 and 6 . In this exemplary process, auto-queue application  36   b  first determines if the device coupled to I/O port  32  is a portable media device. If so, auto-queue application  36   b  examines each print job  50   b  on the portable media device, comparing the name of each print job  50   b  with the name of each print queue  26   b   1 ,  26   b   2 , . . .  26   b   N . If the name of print job  50   b  substantially matches the name of a print queue  26   b,  auto-queue application  36   b  copies the print job  50   b  to the print queue  26   b.    
     In particular, beginning at step  72 , auto-queue application  36   b  receives from peripheral detect application  34  the type code retrieved from the device coupled to I/O port  32 . Next, at step  74 , auto-queue application  36   b  determines if the received type code corresponds to a portable media device that may include stored print jobs. If not, the process ends. If, however, the received type code corresponds to such a portable media device (e.g., portable media device  30   b ), the process continues to step  76 , and the auto-queue application determines if portable media device  30   b  includes any print jobs  50   b . In this regard, auto-queue application  36   b  may search for files having file formats typically associated with print jobs, such as PostScript, PDF, PCL, TIFF, JPEG, or other similar file types. If portable media device  30   b  does not contain any print jobs  50   b,  the process ends. If, however, portable media device  30   b  includes print jobs  50   b,  the process proceeds to step  78 , wherein a variable QC is reset to an initial value (e.g., 1). QC may be an integer variable having values 1, 2, . . . N, corresponding to print queues  26   b   1 ,  26   b   2 , . . .  26   b   N , respectively. At step  80 , a variable Queue Name is set to the name associated with print queue  26   b   QC . Thus, for QC=1, Queue Name=“Queue 1.” For QC=2, Queue Name=“Queue 2, ” and so on. 
     Next, at step  82   b  auto-queue application  36   b  determines if portable media device  30   b  includes any print jobs  50   b  that must be evaluated, as described below. If there are no such print jobs  50   b,  at step  84  QC is incremented by 1. At step  86 , the value of QC is compared to N. If QC is greater than N, the process stops. If, however, QC is less than or equal to N, the process returns to step  80 , wherein variable Queue Name is set to the name associated with print queue  26   b   QC . At step  82   b,  auto-queue application  36   b  again determines if media device  30   b  includes any print jobs  50   b  that must be evaluated. This process continues until all print queues  26   b   1 ,   26   b   2 , . . . ,  26   b   N  have been evaluated. 
     If at step  82   b  auto-queue application  36   b  determines that portable media device  30   b  includes a print job  50   b  that must be evaluated, the process continues to step  88   b,  wherein auto-queue application  36   b  determines if the name of print job  50   b  substantially matches Queue Name. If not, the process returns to step  82   b  to determine if portable media device  30   b  includes any other print jobs  50   b  that must be evaluated. This iterative process continues until the name of each of print jobs  50   b  has been compared to Queue Name. If at step  88   b  auto-queue application  36   b  determines that portable media device  30   b  includes a print job  50   b  having the a name that substantially matches Queue Name, the process continues to step  92 , wherein the print job  50   b  is copied to print queue  26   b   QC . The process then proceeds to step  82   b,  as described above. 
     In this regard, auto-queue application  36   b  iteratively compares the name of each print job  50   b  with the name of each print queue  26   b,  and copies print jobs  50   b  to the corresponding print queue  26   b  whose name substantially matches the print job name. After print jobs  50   b  have been copied to the appropriate print queue  26   b , back-end application  28  de-spools print jobs  50   b  from print queues  26   b,  converts print jobs to raster data, and then provides the raster data to printer  18  for printing. 
     Referring now to  FIG. 7 , another exemplary print system in accordance with this invention is described. In particular, print system  10   c  includes portable media device  30   c  coupled via I/O port  32  to print controller  16   c,  which is coupled to printer  18 . Print controller  16   c  includes auto-queue application  36   c,  which also may copy print jobs from portable media device  30   c  to print queue  26   c  based on queue assignment information included on portable media device  30   c.    
     In this example, queue assignment information is included in the name associated with folders included in portable media device  30   c . Referring now to  FIGS. 8A and 8B , exemplary portable media devices  30   c   1  and  30   c   2 , respectively, are described. In particular, portable media device  30   c   1  may include folder  52   c   1 , named “Queue 1” and folder  52   c   2 , named “Queue 2, ” and portable media device  30   c   2  may include folder  52   c   3 , named “Queue 7, ” folder  52   c   4 , named “Queue 9, ” and folder  52   c   5 , named “Queue 4.” Folder  52   c   1  may include print jobs  50   c   1a  (“Grant Proposal”),  50   c   1b  (“Taxes”) and  50   c   1c  (“Major Donors”), folder  52   c   2  may include print job  50   c   2 , (“Vacation Pictures”), folder  52   c   3  may include print jobs  50   c   7a  (“My Memoirs”) and  50   c   7b  (“Last Will &amp; Testament”), folder  52   c   4  may include print job  50   c   9a  (“East of Eden”), and folder  52   c   5  may include print jobs  50   c   5a  (“Building Plans”) and  50   c   sb  (“Utility Bills”). 
     In this exemplary system, queue assignment information is included in the name associated with each folder  52   c . That is, the name of each folder  52   c  indicates the print queue  26   c  that will receive print jobs  50   c  included in the folder. Thus, if a user would like to have a print job  50   c  processed in a desired print queue  26   c  (e.g., print queue  26   c   1 , named “Queue 1”), the user may create a folder  52   c  in portable media device  30   c  that has an associated name “Queue 1, ” and may then include the print job in the “Queue 1” folder. Similarly, if a user would like to have a print job  50   c  processed in another desired print queue  26   c  (e.g., print queue  26   c   4 , named “Queue 4”), the user may create a folder  52   c  in portable media device  30   c  that has an associated name “Queue 4, ” and may then include the print job in the “Queue 4” folder. When portable media device  30   c  is connected to I/O port  32 , peripheral detect application  34  invokes auto-queue application  36   c,  which copies print jobs  50   c  from portable media device  30   c  to print queues  26   c  based on the folder names included on portable media device  30   c.    
     An exemplary auto-queue process  70   c  implemented by auto-queue application  36   c  is described with reference to  FIGS. 7 and 9 . In this exemplary process, auto-queue application  36   c  first determines if the device coupled to I/O port  32  is a portable media device. If so, auto-queue application  36   c  examines each folder on the portable media device, comparing the name of each folder  52  with the name of each print queue  26 . If the name of folder  52   c  substantially matches the name of a print queue  26   c,  auto-queue application  36   c  copies print jobs  50   c  to the substantially matching print queue  26   c.    
     In particular, beginning at step  72 , auto-queue application  36   c  receives from peripheral detect application  34  the type code retrieved from the device coupled to I/O port  32 . Next, at step  74 , auto-queue application  36   c  determines if the received type code corresponds to a portable media device that may include stored print jobs. If not, the process ends. If, however, the received type code corresponds to such a portable media device (e.g., portable media device  30   c ), the process continues to step  78 , wherein a variable QC is reset to an initial value (e.g., 1). QC may be an integer variable having values 1, 2, . . . N, corresponding to print queues  26   b   1 ,  26   b   2 , . . .  26   b   N , respectively. At step  80 , a variable Queue Name is set to the name associated with print queue  26   c   QC . Thus, for QC=1, Queue Name=“Queue 1.” For QC=2, Queue Name=“Queue 2, ” and so on. 
     Next, at step  82   c  auto-queue application  36   c  determines if portable media device  30   c  includes any folders  52   c  that must be evaluated, as described below. If there are no such folders  52   c,  at step  84  QC is incremented by 1. At step  86 , the value of QC is compared to N. If QC is greater than N, the process stops. If, however, QC is less than or equal to N, the process returns to step  80 , wherein variable Queue Name is set to the name associated with print queue  26   c   QC . At step  82   c,  auto-queue application  36   c  again determines if media device  30   c  includes any folders  52   c  that must be evaluated. This process continues until all print queues  26   c   1 ,  26   c   2 , . . .  26   c   N  have been evaluated. 
     If at step  82   c  auto-queue application  36   c  determines that portable media device  30   c  includes a folder  52   c  that must be evaluated, the process continues to step  88   c,  wherein auto-queue application  36   c  determines if the name of folder  52   c  substantially matches Queue Name. If not, the process returns to step  82   c  to determine if portable media device  30   c  includes any other folders  52   c  that must be evaluated. This iterative process continues until the name of each of folders  52   c  has been compared to Queue Name. 
     If at step  88   c  auto-queue application  36   c  determines that portable media device  30   c  includes a folder  52   c  having a name that substantially matches Queue Name, the process continues to step  90 , and the auto-queue application determines if folder  52   c  includes any print jobs  50   c . In this regard, auto-queue application  36   c  may search for files having file formats typically associated with print jobs, such as PostScript, PDF, PCL, TIFF, JPEG, or other similar file types. If folder  52   c  does not contain any print jobs  50   c,  the process returns to step  82   c  to determine if portable media device  30   c  includes any other folders  52   c  that must be evaluated. If, however, folder  52   c  includes print jobs  50   c,  the process proceeds to step  92 , wherein print jobs  50   c  in folder  52   c  are copied to print queue  26   c   QC . The process then proceeds to step  82   c,  as described above. 
     In this regard, auto-queue application  36   c  iteratively compares the name of each folder  52   c  with the name of each print queue  26   c,  and copies print jobs  50   c  from each folder  52   c  to the corresponding print queue  26   c  whose name substantially matches the folder name. After print jobs  50   c  have been copied to the appropriate print queue  26   c,  back-end application  28  de-spools print jobs  38  from print queues  26   c,  converts print jobs to raster data, and then provides the raster data to printer  18  for printing. 
     Referring now to  FIG. 10 , another exemplary print system in accordance with this invention is described. In particular, print system  10   d  includes portable media device  30   d  coupled via I/O port  32  to print controller  16   d,  which is coupled to printers  18   a,    18   b  and  18   c . Print controller  16   d  includes print queue  26   d   1 , named “Duplex,” print queue  26   d   2 , named “Color,” and print queue  26   d   3 , named “Staple.” Printer  18   a  may include a duplex printing option, printer  18   b  may be a color printer, and printer  18   c  may include a staple option. Back end application  28  may be configured to send print jobs in Duplex print queue  26   d   1  to printer  18   a  with the duplex option selected, print jobs in Color print queue  26   d   2  to color printer  18   b,  and print jobs in Staple print queue  26   d   3  to printer  18   c  with the staple option selected. 
     Portable media  30   d  may include folder  52   d   1 , named “Duplex,” and folder  52   d   2 , named “Color.” Thus, if a user would like to have a print job  50   d   1a  duplex printed, the user may include the print job in Duplex folder  52   d   1 . Similarly, if a user would like to have a print job  50   d   2a  printed on a color printer, the user may include the print job in Color folder  52   d   2 . When portable media device  30   d  is connected to I/O port  32 , peripheral detect application  34  invokes auto-queue application  36   d,  which copies print job  50   d   1a  from Duplex folder  52   d   1  to Duplex print queue  26   d   1 , and print job  50   d   2a  from Color folder  52   d   2  to Color print queue  26   d   2 . Back end application  28  then de-spools print jobs  50   d   1a  and  50   d   2a  from print queues  26   d   1  and  26   d   2 , respectively, converts the print jobs to raster data, and then provides the raster data to printers  18   a  and  18   b , respectively, for printing. 
     As described above in connection with  FIGS. 2 ,  5 ,  7  and  10 , auto-queue application  36  searches portable media device  30  for files  50  having file formats typically associated with print jobs, such as PostScript, PDF, PCL, TIFF, JPEG, or other similar print job file formats. In some instances, however, a user may have documents that are not in one of these commonly used print job formats, but the user may nevertheless want to print the documents. For example, a user may have word processing (e.g., Corel WordPerfect), spreadsheet (e.g., Microsoft Excel), presentation graphics (e.g., Microsoft PowerPoint), page layout (e.g., Adobe Page Maker), computer aided design (e.g., Autodesk AutoCAD), image (e.g., bitmap), graphics (e.g., Apple MAC), markup (e.g., hypertext markup language (“HTML”), standard generalized markup language (“SGML”), extensible markup language (“XML”)) or other similar “non-print job” format documents.  FIG. 11  illustrates an alternative exemplary print system in accordance with this invention that may be used to print such non-print job format documents. 
     In particular, print system  10   e  includes portable media device  30   e  coupled to print controller  16   e , which includes auto-queue application  36   e , print queue  26   e   1 , named “Direct,” and print queue  26   e   2 , named “Hold.” Portable media device  30   e  may include folder  52   e   1 , named “Direct,” which may include Microsoft Word document  50   e   1a , and folder  52   e   2 , named “Hold,” which may include Word Perfect document  50   e   2a . When portable media device  30   e  is coupled to I/O port  32 , auto-queue application  36   e  converts Microsoft Word document  50   e   1a  to PDF format, and then copies the PDF document to Direct print queue  26   e   1 . Similarly, auto-queue application  36   e  converts Word Perfect document  50   e   2a  to PDF format, and then copies the PDF document to Hold print queue  26   e   2 . 
     In this regard, auto-queue application  36   e  may include hardware and/or software that may be used to convert files  50   e  having any of a first set of formats (e.g., word processing, spreadsheet, presentation graphics, page layout, computer aided design, image, graphics or markup) to corresponding files in any of a second set of formats (e.g., PostScript, PDF, PCL, TIFF, JPEG, or other similar print job format). For example, auto-queue application  36   e  may include software such as Microsoft Office, WordPerfect Office, OpenOffice.org productivity suite, or other similar software that may be used to convert documents from commonly used office application programs to PostScript, PDF, PCL, TIFF, JPEG, or other similar print job formats. 
     Alternatively, auto-queue application  36   e  may include hardware and/or software that may be used to send files  50   e  having any of a first set of formats (e.g., word processing, spreadsheet, presentation graphics, page layout, computer aided design, image, graphics or markup) to a server computer (not shown) for conversion to PostScript, PDF, PCL, TIFF, JPEG, or other similar print job formats. In this regard, the server computer may include includes software such as Microsoft Office, WordPerfect Office, OpenOffice.org productivity suite, or other similar software that may be used to convert documents from commonly used office application programs to PostScript, PDF, PCL, TIFF, JPEG, or other similar print job formats. After the server computer performs the conversion, the server computer may send the converted print job format documents to auto-queue application  36   e  for submission to print queues  26 . 
     Persons of ordinary skill in the art will understand that various modifications can be made to this invention without departing from the scope and spirit of the invention. For example, auto-queue application  36  may include hardware and/or software that may limit the number of times that files  50  on portable media  30   a  may be copied to print queues  26 . Thus, for example, portable media  30  may include an electronic copy of a book  50  that may be licensed or sold for single use printing on print controller  16  and printers  18 . Alternatively, auto-queue application  36  may include hardware and/or software that may copy files  50  to print queues  26  only if the files  50  do not already exist on print queues  26 , or only if the files  50  have been modified compared to the corresponding files in print queues  26 . 
     Additionally, any of print controllers  16   a - 16   e  may include a user interface that may be used to manually select print jobs  50  from portable media  30  for copying to any of print queues  26  and printing by printer  18 . In this regard, the user interface may be used to select print jobs from that are stored on portable media  30 , but that do not have names or are not stored in folders  52  having names that include the names of print queues  26 . Persons of ordinary skill in the art will understand that that other modifications also may be made without departing from the scope and spirit of this invention.