Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Motor driving apparatus
Patent Number: 7,151,348 Issued on 12/19/2006 to Ueda,   et al.

Title: Process for manufacturing a film-type packaging material
Patent Number: 7,144,603 Issued on 12/05/2006 to Nageli,   et al.

Title: Method of removing PECVD residues of fluorinated plasma using in-situ H.sub.2 plasma
Patent Number: 7,150,796 Issued on 12/19/2006 to Smith,   et al.

Title: Fan speed control
Patent Number: 7,151,349 Issued on 12/19/2006 to Williamson,   et al.

Title: Storage and recovery of data based on change in MIS transistor characteristics
Patent Number: 7,149,104 Issued on 12/12/2006 to Horiuchi

Title: Method and apparatus for controlling visual enhancement of luminent devices
Patent Number: 7,151,345 Issued on 12/19/2006 to Sanchez

Title: Server module for modularly designed server
Patent Number: 7,143,183 Issued on 11/28/2006 to Nie

Title: Percutaneous entry system and method
Patent Number: 6,761,725 Issued on 07/13/2004 to Grayzel,   et al.

Title: Single transistor vertical memory gain cell
Patent Number: 7,149,109 Issued on 12/12/2006 to Forbes

Title: Electric-motored floor-surface polisher
Patent Number: 7,155,768 Issued on 01/02/2007 to Morita,   et al.

Title: Audio frequency response processing system
Patent Number: 7,152,082 Issued on 12/19/2006 to McGrath

Title: Fish hook setting device
Patent Number: 7,152,360 Issued on 12/26/2006 to Neufeld

Title: Method, apparatus, program and recording medium for memory access serialization and lock management
Patent Number: 6,938,131 Issued on 08/30/2005 to Ogasawara

Title: Composition having antibacterial and antifungal properties
Patent Number: 7,144,921 Issued on 12/05/2006 to Bhattacharyya,   et al.

Title: Securable temporary manhole cover
Patent Number: 7,153,057 Issued on 12/26/2006 to Lucas

Title: Coarse frequency detector system and method thereof
Patent Number: 7,145,398 Issued on 12/05/2006 to Dalton,   et al.

Title: Nonvolatile memory device with multi-bit memory cells having plural side gates
Patent Number: 6,936,888 Issued on 08/30/2005 to Katayama,   et al.

Title: Messaging protocol for interactive delivery system
Patent Number: 7,146,628 Issued on 12/05/2006 to Gordon,   et al.

Title: Workover unit and method of utilizing same
Patent Number: 7,150,327 Issued on 12/19/2006 to Surjaatmadja

Title: Rotating angle detector and apparatus thereof for detecting the rotating position of a rotor
Patent Number: 6,937,008 Issued on 08/30/2005 to Matsuzaki,   et al.

Title: Power supply system and operating method thereof
Patent Number: 7,150,930 Issued on 12/19/2006 to Tanaka

Title: Current driver and display device
Patent Number: 7,145,379 Issued on 12/05/2006 to Date,   et al.

Title: Crystal structure of yqeJ and uses thereof
Patent Number: 7,155,346 Issued on 12/26/2006 to Olland,   et al.

Title: Color image processing method and color image processing apparatus
Patent Number: 7,142,710 Issued on 11/28/2006 to Hung

Title: Method for manufacturing in-plane lattice constant adjusting substrate and in-plane lattice constant adjusting substrate
Patent Number: 7,150,788 Issued on 12/19/2006 to Koinuma,   et al.

Title: Device for storing and transporting unit loads
Patent Number: 7,150,374 Issued on 12/19/2006 to Camps

Title: Method for safe handling of unstable hydride gases
Patent Number: 7,150,353 Issued on 12/19/2006 to Lord

Title: Assembly system for monitoring proper fastening of an article of assembly at more than one location
Patent Number: 6,763,573 Issued on 07/20/2004 to Walt, II,   et al.

Title: Chemical amplification type positive resist composition
Patent Number: 6,893,794 Issued on 05/17/2005 to Akita,   et al.

Title: Air venting apparatus for milk bottle
Patent Number: 7,150,370 Issued on 12/19/2006 to Pyun

Title: Fuel cell gas separator
Patent Number: 7,150,931 Issued on 12/19/2006 to Jaffrey

Title: Chip structure and process for forming the same
Patent Number: 6,762,115 Issued on 07/13/2004 to Lin,   et al.

Title: Flip chip dip coating encapsulant
Patent Number: 7,150,390 Issued on 12/19/2006 to Johnson,   et al.

Title: Fatty acid-free liquid dye composition comprising at least one oxidation base and 2-methyl-1, 3-propanediol, dyeing process, and device
Patent Number: 7,150,765 Issued on 12/19/2006 to Desenne

Title: Optical disc drive having a function of preventing an optical disc from being pushed down by turbulence in the air flow generated by the rotation of the optical disc
Patent Number: 7,155,731 Issued on 12/26/2006 to Manabe,   et al.

Title: Golf ball with varying land surfaces
Patent Number: 6,884,183 Issued on 04/26/2005 to Sullivan

Title: Information terminal device
Patent Number: 7,146,559 Issued on 12/05/2006 to Sakuma

Title: Auto-extending/retracting electrically isolated conductors in a segmented drill string
Patent Number: 7,150,329 Issued on 12/19/2006 to Chau

Title: Method, apparatus, and system for implementing view caching in a framework to support web-based applications
Patent Number: 7,146,617 Issued on 12/05/2006 to Mukundan,   et al.

Title: Analogues of camptothecin, their use as medicaments and the pharmaceutical compositions containing them
Patent Number: 6,762,301 Issued on 07/13/2004 to Bigg,   et al.

Title: Microcomputer chips with interconnected address and data paths
Patent Number: 6,757,759 Issued on 06/29/2004 to Jones,   et al.

Title: Writing insert with non-destructive final inspection
Patent Number: 7,147,394 Issued on 12/12/2006 to Mock

Title: Precision circle center finder and multifunctional construction trade tool
Patent Number: 7,162,808 Issued on 01/16/2007 to Martin

Title: Multi-mechanistic accommodating intraocular lenses
Patent Number: 7,150,759 Issued on 12/19/2006 to Paul,   et al.

Title: Polycarbosilane adhesion promoters for low dielectric constant polymeric materials
Patent Number: 6,761,975 Issued on 07/13/2004 to Chen,   et al.

Title: Decorative sheet and decorative material
Patent Number: 6,761,979 Issued on 07/13/2004 to Yokochi,   et al.

Title: Preparation and use of mixed mode solid substrates for chromatography adsorbents and biochip arrays
Patent Number: 7,144,743 Issued on 12/05/2006 to Boschetti,   et al.

Title: Water-borne polymeric complex and anti-corrosive composition
Patent Number: 6,762,238 Issued on 07/13/2004 to Yang,   et al.

Title: Bi-directional ball seat system and method
Patent Number: 7,150,326 Issued on 12/19/2006 to Bishop,   et al.

Title: Extensible stylesheet designs using meta-tag and/or associated meta-tag information
Patent Number: 7,146,564 Issued on 12/05/2006 to Kim,   et al.

Title: Method and system for dynamic display of marketing campaigns on display locations via a network
Patent Number: 7,146,567 Issued on 12/05/2006 to Duczmal,   et al.

Title: Method for interconnecting adjacent expandable pipes
Patent Number: 7,150,328 Issued on 12/19/2006 to Marketz,   et al.

Title: Polyurethane solutions containing alkoxysilane structural units
Patent Number: 6,762,241 Issued on 07/13/2004 to Blum,   et al.

Title: Aluminum-free borosilicate glass and applications thereof
Patent Number: 7,144,835 Issued on 12/05/2006 to Kass,   et al.

Title: Real-time distribution of imaging metrics information
Patent Number: 7,158,252 Issued on 01/02/2007 to Kunz

Title: Driving-force distribution control system for four-wheel-drive vehicles
Patent Number: 7,151,991 Issued on 12/19/2006 to Iida

Title: Non-Hazardous oxidative neutralization of aldehydes
Patent Number: 7,145,043 Issued on 12/05/2006 to Zhu

Title: Treatment of substrates to enhance the quality of printed images thereon using azetidinium and/or guanidine polymers
Patent Number: 6,761,977 Issued on 07/13/2004 to Nigam

Title: Hub drive and method of using same
Patent Number: 7,150,340 Issued on 12/19/2006 to Beck,   et al.

Title: Planar light source device and liquid-crystal display device
Patent Number: 7,004,612 Issued on 02/28/2006 to Takahashi,   et al.

Title: Electrodialysis method and apparatus for trace metal analysis
Patent Number: 7,144,735 Issued on 12/05/2006 to Saini

Title: Structured data communication with backwards compatibility
Patent Number: 7,146,556 Issued on 12/05/2006 to Hardie,   et al.

Title: Method of sampling from a multiphase fluid mixture, and associated sampling apparatus
Patent Number: 7,024,951 Issued on 04/11/2006 to Germond

Title: Multi-unit pyrotechnic initiation system
Patent Number: 6,763,764 Issued on 07/20/2004 to Avetisian,   et al.

Title: Two-layer electrical substrate for optical devices
Patent Number: 6,765,275 Issued on 07/20/2004 to Pendse,   et al.

Title: Plural layer woven electronic textile, article and method
Patent Number: 7,144,830 Issued on 12/05/2006 to Hill,   et al.

Title: Electronic device manufacturing method
Patent Number: 6,764,585 Issued on 07/20/2004 to Matsuda,   et al.

Title: Methods, systems, and computer program products for imaging using virtual extended shear wave sources
Patent Number: 6,764,448 Issued on 07/20/2004 to Trahey,   et al.

Title: Cleaning compositions containing hydroxylamine derivatives and processes using same for residue removal
Patent Number: 7,144,848 Issued on 12/05/2006 to Zhou,   et al.

Title: Method and apparatus for plasma processing
Patent Number: 6,764,606 Issued on 07/20/2004 to Yanase

Title: Diagnosis of coeliac disease using a gliadin epitope
Patent Number: 7,144,569 Issued on 12/05/2006 to Anderson,   et al.

Title: Wheel guide arrangement for a steered motor vehicle wheel
Patent Number: 7,150,462 Issued on 12/19/2006 to Bortz,   et al.

Title: Delay stage-interweaved analog DLL/PLL
Patent Number: 7,149,145 Issued on 12/12/2006 to Kim,   et al.

Title: Electronic component assembly
Patent Number: 7,172,454 Issued on 02/06/2007 to Karkkainen,   et al.

Title: Pyramidal-corrugated horn antenna for sector coverage
Patent Number: 6,759,992 Issued on 07/06/2004 to Knop,   et al.

Print control method and apparatus Number:7,385,712 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Print control method and apparatus

Abstract: When "store" of intermediate data is designated in a print process, a spooler stores intermediate data and an output job setup file in a spool file. When the stored job is selected, a previewer displays a list of jobs, and displays a print preview image. In this case, if "Same side on" is designated, pages of successive jobs are laid out without any gaps. If "new sheet" is designated, pages of the trailing job are laid out on a new sheet. If "Other side on" is designated, pages of the trailing job are laid out on a new surface.

Patent Number: 7,385,712 Issued on 06/10/2008 to Nakagiri,   et al.


Inventors: Nakagiri; Koji (Kanagawa, JP), Nishikawa; Satoshi (Kanagawa, JP), Mori; Yasuo (Kanagawa, JP)
Assignee: Canon Kabushiki Kaisha (Tokyo, JP)
Appl. No.: 11/181,000
Filed: July 14, 2005


Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
09703692Nov., 20006965440

Foreign Application Priority Data

Nov 02, 1999 [JP] 11-313119

Current U.S. Class: 358/1.12 ; 358/1.18; 399/82; 399/85; 715/243; 715/273; 715/274
Field of Search: 358/1.18,1.1,1.13,1.17,1.12,1.5,1.6,1.9 399/82,85,86 715/243,251,273,274


References Cited [Referenced By]

U.S. Patent Documents
4928252 May 1990 Gabbe et al.
5963216 October 1999 Chiarabini et al.
6813038 November 2004 Kadowaki
2002/0063878 May 2002 Nakagiri
2002/0067508 June 2002 Nishikawa et al.
Foreign Patent Documents
9-018683 Jan., 1997 JP
09134261 May., 1997 JP
11-179993 Jul., 1999 JP
Primary Examiner: Tran; Douglas Q.
Assistant Examiner: Park; Chan S
Attorney, Agent or Firm: Fitzpatrick, Cella, Harper & Scinto

Parent Case Text



This application is a continuation application of application Ser. No. 09/703,692, now allowed, filed Nov. 2, 2000, which is incorporated herein by reference.
Claims



What is claimed is:

1. A print control method performed in an information processing apparatus which communicates with a printing, comprising: a designating step of designating plural print jobs to be combined; an instructing step of instructing print setting information for the plural print jobs designated in said designating step; a combine method designating step of designates a combine method for indicating how to lay out each page of the plural print jobs designated by said designating unit on plural sheets, in a case where a double-sided printing is included in the print setting information instructed by said instructing unit; and a layout step of laying out the first page of a trailing print job on a surface next to a surface on which the last page of a leading print job is laid out, in a case that an other side combine method is designated by said combine method designating as the combine method, and lays out the first page of the trailing print job on a sheet next to a sheet on which the last page of the leading print job is laid out, in a case that a new sheet combine method is designated by said combine method designating unit as the combine method.

2. A method according to claim 1, wherein said layout step successively lays out the last page of the leading print job and the first page of the trailing print job without a gap, in a case that a same side combine method is designated in said combine method designating step as the combine method.

3. A method according to claim 1, wherein when a one sided print process is designated, a surface next to a surface on which the last page of the leading print job is laid out is a surface of a sheet next to a sheet on which the last page of the leading print job is laid out.

4. A method according to claim 1, further comprising a step of displaying a preview image of the print jobs in a layout corresponding to the combine method designated in said combine method designating step.

5. A print control apparatus comprising: a designating unit that designates plural print jobs to be combined; an instructing unit that instructs print setting information for the plural print jobs designated by said designating unit; a combine method designating unit that designates a combine method for indicating how to lay out each page of the plural print jobs designated by said designating unit on plural sheets, in a case where a double-sided printing is included in the print setting information instructed by said instructing unit; and a layout unit that lays out the first page of a trailing print job on a surface next to a surface on which the last page of a leading print job is laid out, in a case that an other side combine method is designated by said combine method designating as the combine method, and lays out the first page of the trailing print job on a sheet next to a sheet on which the last page of the leading print job is laid out, in a case that a new sheet combine method is designated by said combine method designating unit as the combine method.

6. An apparatus according to claim 5, wherein said layout unit successively lays out the last page of the leading print job and the first page of the trailing print job without a gap, in a case that a same side combine method is designated by said combine method designating unit as the combine method.

7. An apparatus according to claim 5, wherein, when a one sided print process is designated, a surface next to a surface on which the last page of the leading print job is laid out is a surface of a sheet next to a sheet on which the last page of the leading print job is laid out.

8. An apparatus according to claim 6, further comprising a unit that displays a preview image of the print jobs in a layout corresponding to the designated combine method.

9. A computer program embodied on a storage medium for communicating with a printing apparatus, the program comprising: designating code for designating plural print jobs to be combined; instructing code for instructing print setting information for the plural print jobs designated in said designation code; combine method designating code for designating a combine method for indicating how to lay out each page of the plural print jobs designated in said designating code on plural sheets, in a case where a double-sided printing is included in the print setting information instructed in said instructing code; and layout code for laying out the first page of a trailing print job on a surface next to a surface on which the last page of a leading print job is laid out, in a case that an other side combine method is designated by said combine method designating code as the combine method, and laying out the first page of the trailing print job on a sheet next to a sheet on which the last page of the leading print job is laid out, in a case that a new sheet combine method is designated by said combine method designating code as the combine method.

10. A program according to claim 9, wherein said layout code successively lays out the last page of the leading print job and the first page of the trailing print job without a gap, in a case that a same side combine method is designated by said combine method designating code as the combine method.

11. A program according to claim 9, wherein when a one sided print process is designated, a surface next to a surface on which the last page of the leading print job is laid out is a surface of a sheet next to a sheet on which the last page of the leading print job is laid out.

12. A program according to claim 9, further comprising code for displaying a preview image of the print jobs in a layout corresponding to the combine method designated by said combine method designating code.
Description



FIELD OF THE INVENTION

The present invention relates to a print control method, apparatus, and medium and, more particularly, to a print control method, apparatus, and medium storing a computer program in a system including an information processing apparatus such as a personal computer or the like, and a printer.

BACKGROUND OF THE INVENTION

Conventionally, print control apparatuses and the like often have a function of temporarily spooling and holding a print job in a given format, e.g., an intermediate code format before being converted into a command to a printer before an image is actually printed on a paper sheet upon printing data such as text data, image data, or the like edited by an application program for editing text or image data. Some of such apparatuses can combine a plurality of held print jobs into a single job.

Also, a print preview function of displaying held print jobs on a window in a layout to be printed to present them to the user is known.

However, even an apparatus with the function of combining print jobs cannot designate the way they are combined. For example, when print jobs to be combined have a layout in which one page is printed on one surface of a sheet, they need only be simply combined and printed. On the other hand, some layouts such as two-sided print and N-up print (that prints N pages laid out on a single surface of a sheet) cannot uniquely determine how to combine the jobs. In this manner, even when the way the jobs are combined cannot be uniquely determined, jobs are combined by a given method.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the aforementioned prior art, and has its object to provide a print control method and apparatus, which allow the user to select a combine method of jobs upon combining print jobs.

In order to achieve the above object, the present invention has the following arrangement. That is, a print control method of combining stored print jobs, comprises:

the determination step of determining a combine method of designated pages; and

the page layout step of successively laying out a last page of a leading job and a first page of a trailing job when "Same side on" is designated as the combine method, laying out the first page of the trailing job on a surface next to a surface on which the last page of the leading job is laid out when "Other side on" is designated as the combine method, and laying out the first page of the trailing job on a sheet next to a sheet on which the last page of the leading job is laid out when "new sheet" is designated as the combine method.

More preferably, the method further comprises the step of displaying an input window used to designate the combine method.

More preferably, when a one-sided print process is designated, the surface next to the surface on which the last page of the leading job is laid out is a sheet next to a sheet on which the last page of the leading job is laid out.

More preferably, the method further comprises the step of making display means display a preview image of the job in a layout corresponding to the designated combine method.

More preferably, the method further comprises the step of making a print engine print the job in a layout corresponding to the designated combine method.

More preferably, the method further comprises a storage for storing print data in units of print jobs.

Alternatively, according to another aspect of the present invention, there is provided an apparatus for implementing the method.

Alternatively, according to still another aspect of the present invention, there is provided a storage medium which stores a computer program for making a computer implement the method.

Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

FIG. 1 is a block diagram for explaining the arrangement of a print control apparatus according to an embodiment of the present invention;

FIG. 2 is a block diagram showing the arrangement of a typical print system built by a host computer to which a printer is connected;

FIG. 3 is a block diagram showing the arrangement of a print system which temporarily spools intermediate codes before a print command from an application is converted into a print control command;

FIG. 4 is a sectional view for explaining the printer in the present invention;

FIG. 5 is a flow chart showing the process in a spooler 302;

FIG. 6 is a flow chart showing print control in a spool file manager 304;

FIG. 7 is a flow chart showing the process in a despooler 305;

FIG. 8 shows an example of a print setup window;

FIG. 9 shows an example of a print spool setup window;

FIG. 10 shows an example of a data format to be passed when the spool file manager 304 issues a print request of a physical page to the despooler 305;

FIG. 11 shows an example of a data format to be passed when the spool file manager 304 issues a print request of a physical page to the despooler 305;

FIG. 12 shows an example of a data format to be passed when the spool file manager 304 issues a print request of a physical page to the despooler 305;

FIG. 13 shows an example of a data format to be passed when the spool file manager 304 issues a print request of a physical page to the despooler 305;

FIG. 14 shows an example of a data format to be passed when the spool file manager 304 issues a print request of a physical page to the despooler 305;

FIG. 15 is a flow chart showing a setup change process in a setup change editor 307;

FIG. 16 shows an example of a window that displays a list of print jobs spooled in the spool file manager 304;

FIG. 17 shows an example of a window of a previewer 306;

FIG. 18 shows an example of a window of the setup change editor 307;

FIG. 19 is a flow chart showing the process when data created by an application program or the like is printed with store designation;

FIG. 20 is a flow chart showing details of step S1903 in FIG. 19;

FIG. 21 is a flow chart showing the processing sequence upon operation of an edit button or combine button while a job is selected from a job list;

FIG. 22 is a flow chart showing the sequence for displaying a preview window upon operation of an edit button or combine button while a job is selected from a job list;

FIG. 23 is a flow chart showing details of step S2203 in FIG. 22;

FIG. 24 is a flow chart showing details of step S2204 in FIG. 22;

FIG. 25 is a flow chart showing details of step S2205 in FIG. 22;

FIG. 26 shows a display example of a job list;

FIG. 27 is a flow chart showing the sequence for rendering logical pages;

FIG. 28 shows an example of preview display when "two-sided", "2-up", and "new sheet" are designated;

FIG. 29 shows an example of preview display when "two-sided", "2-up", and "Other side on" are designated; and

FIG. 30 shows an example of preview display when "two-sided", "2-up", and "Same side on" are designated.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be described hereinafter.

<Arrangement of Printer Control System>

FIG. 1 is a block diagram for explaining the arrangement of a printer control system according to an embodiment of the present invention. Note that the present invention can be applied to any of a standalone device, a system built by a plurality of devices, and a system in which devices are connected via a network such as a LAN, WAN, or the like to execute processes, as long as the functions of the present invention are implemented.

Referring to FIG. 1, a host computer 3000 comprises a CPU 101 that processes a document including figures, images, text, tables (including a spreadsheet or the like), and the like on the basis of a document processing program stored in a program ROM in a ROM 3 or an external memory 111, and systematically controls devices connected to a system bus 104. The program ROM in the ROM 103 or external memory 111 stores an operating system program (to be referred to as an OS hereinafter) or the like as a control program of the CPU 101, a font ROM in the ROM 103 or the external memory 111 stores font data or the like used in the document process, and a data ROM in the ROM 103 or the external memory 111 stores various data used upon executing the document process. A RAM 102 serves as a main memory, work area, and the like of the CPU 101.

A keyboard controller (KBC) 105 controls key input from a keyboard 109 and a pointing device (not shown). A CRT controller (CRTC) 106 controls display of a CRT display (CRT) 110. Reference numeral 107 denotes a disk controller (DKC) which controls access to the external memory 111 such as a hard disk (HD), floppy disk (FD), and the like, which store a boot program, various application programs, font data, user files, edit files, a printer control command generation program (to be referred to as a printer driver hereinafter), and the like. A printer controller (PRTC) 108 is connected to a printer 1500 via a two-way interface (interface) 121 to implement a communication control process with the printer 1500.

Note that the CPU 101 rasterizes outline font data on a display information RAM assured on, e.g., the RAM 102 to realize WYSIWYG on the CRT 110. The CPU 101 opens various registered windows on the basis of commands instructed by a mouse cursor (not shown) or the like on the CRT 110, and executes various data processes. The user can set a print processing method for the printer driver including the printer setup and print mode selection by opening a window that pertains to the print setups upon executing a print process.

The printer 1500 is controlled by a CPU 112. The printer CPU 112 outputs an image signal as output information to a print unit (printer engine) 117, which is connected to a system bus 115, on the basis of a control program or the like stored in a program ROM in a ROM 113, or a control program or the like stored in an external memory 114. The program ROM in the ROM 113 stores the control program and the like of the CPU 112. A font ROM in the ROM 113 stores font data or the like used upon generating the output information, and a data ROM in the ROM 113 stores information and the like used on the host computer when the printer has no external memory 114 such as a hard disk or the like.

The CPU 112 can communicate with the host computer via an input unit 118, and can inform the host computer 3000 of information or the like in the printer. A RAM 119 serves as a main memory, work area, and the like of the CPU 112, and its memory size can be expanded by an option RAM connected to an expansion port (not shown). Note that the RAM 119 is used as an output information rasterizing area, environment data storage area, NVRAM, and the like. Access to the aforementioned external memory 114 such as a hard disk (HD), IC card, or the like is controlled by a memory controller (DKC) 120. The external memory 114 is connected as an option, and stores font data, an emulation program, form data, and the like. Reference numeral 1501 denotes a control panel on which operation switches, LED indicators, and the like are arranged.

The number of external memories 114 is not limited to one, but a plurality of external memories 114 may be connected. That is, a plurality of option font cards in addition to built-in fonts and external memories that store programs for interpreting printer control languages of different language systems may be connected. Furthermore, an NVRAM (not shown) may be connected, and may store printer mode setup information from the control panel 1501.

FIG. 2 shows the configuration of typical print processing software in the host computer to which a printing apparatus such as a printer or the like is connected directly or via a network. An application program (to be simply referred to as an application hereinafter) 201, graphic engine 202, printer driver 203, and system spooler 204 are program modules which are stored as files in the external memory 111, and are loaded onto the RAM 102 by the OS or a module that uses the corresponding module upon execution. The application 201 and printer driver 203 can be added to the files stored in the HD using the FD in the external memory 111 or a CD-ROM (not shown), or via a network (not shown). The application 201 stored in the external memory 111 is loaded onto the RAM 102 upon execution. When the application 201 executes a print process with respect to the printer 1500, it outputs (renders) data using the graphic engine 202 which is similarly loaded onto the RAM 102 upon execution.

The graphic engine 202 loads a printer driver 203 which is prepared for each printing apparatus from the external memory 111 onto the RAM 102, and sets the output from the application 201 in the printer driver 203. The graphic engine 202 then converts a GDI (Graphic Device Interface) function received from the application 201 into a DDI (Device Driver Interface) function, and outputs the DDI function to the printer driver 203. The printer driver 203 converts the DDI function received from the graphic engine 202 into a control command, e.g., PDL (Page Description Language) that the printer can recognize. The converted printer control command is output as print data to the printer 1500 via the interface 121 by the system spooler 204 which is loaded onto the RAM 102 by the OS.

The print system of this embodiment also has an arrangement for temporarily spooling print data from the application as intermediate codes, as shown in FIG. 3, in addition to the print system constructed by the printer and host computer shown in FIG. 2.

<Print-related Software Modules in Embodiment>

FIG. 3 shows the expanded system of FIG. 2. This system temporarily generates a spool file 303 consisting of intermediate codes upon sending a print command from the graphic engine 202 to the printer driver 203. In the system shown in FIG. 2, the application 201 is released from the print process when the printer driver 203 has converted all print commands from the graphic engine 202 into printer control commands. By contrast, in the system shown in FIG. 3, a spooler 302 converts all print commands into intermediate code data, and the application 201 is released from the print process when it outputs print commands to the spool file 303. Normally, the latter system can shorten the processing time. In the system shown in FIG. 3, data as the contents of the spool file 303 can be processed. In this way, functions such as enlargement/reduction, reduced-scale print of a plurality of pages on one page, and the like that the application does not have can be implemented for print data from the application.

For these purposes, the system of this embodiment is attained by expanding the system shown in FIG. 2 to spool data as intermediate codes, as shown in FIG. 3. In order to process print data, setups are normally made from a window provided by the printer driver 203, which saves the setup contents on the RAM 102 or external memory 111.

The arrangement in FIG. 3 will be explained in detail below. As shown in FIG. 3, in this expanded processing system, a dispatcher 301 receives a DDI function as a print command from the graphic engine 202. When the print command (DDI function) that the dispatcher 301 receives from the graphic engine 202 is based on a print command (GDI function) issued from the application 201 to the graphic engine 202, the dispatcher 301 loads the spooler 302 stored in the external memory 111 onto the RAM 102, and sends the print command (DDI function) to the spooler 302 in place of the printer driver 203.

The spooler 302 interprets the received print command, converts it into intermediate codes in units of pages, and outputs the codes to the spool file 303. The spool file of intermediate codes stored in units of pages is called a page description file (PDF). Since one PDF corresponds to one print job, the spooled PDF is also often called a job or print job simply. The spooler 302 acquires processing setups (N-up, two-side, staple, color/monochrome designation, or the like) associated with print data set in the printer driver 203 from the printer driver 203, and saves them as a setup file for each job in the spool file 303. The setup file stored in units of jobs is called a job setup file (also called an SDF as an abbreviation for a spool description file). The job setup file will be described later. Note that the spool file 303 is generated as a file on the external memory 111, but may be generated on the RAM 102. Furthermore, the spooler 302 loads a spool file manager 304 stored in the external memory 111 onto the RAM 102, and informs the spool file manager 304 of the generation state of the spool file 303. After that, the spool file manager 304 checks if a print process can be done in accordance with the contents of the processing setups associated with print data, which are saved in the spool file 303.

If the spool file manager 304 determines that the print process can be done using the graphic engine 202, it loads a despooler 305 stored in the external memory 111 onto the RAM 102, and instructs the despooler 305 to execute the print process of the page description files of intermediate codes described in the spool file 303.

The despooler 305 processes the page description files of intermediate codes included in the spool file 303 in accordance with the job setup file which is included in the spool file 303 and includes processing setup information, re-generates a GDI function, and outputs it via the graphic engine 202 once again.

When the print command (DDI function) that the dispatcher 301 receives from the graphic engine 202 is based on a print command (GDI function) issued from the despooler 305 to the graphic engine 202, the dispatcher 301 sends the print command to the printer driver 203 in place of the spooler 302.

The printer driver 203 generates a printer control command described in a page description language or the like on the basis of the DDI function acquired from the graphic engine 202, and outputs the generated command to the printer 1500 via the system spooler 204.

Furthermore, FIG. 3 shows an example which includes a previewer 306 and setup change editor 307 in addition to the expanded system described so far, and allows a print preview process, print setup change process, and combination process of a plurality of jobs.

In order to implement the print preview process, print setup change process, and combination process of a plurality of jobs, the user must designate "store" on a pull-down menu 901 as a means for "designating an output destination" in a property window of the printer driver shown in FIG. 9. When the user wants to only preview, he or she can select "preview" as designation of the output destination.

The contents set on the property window of the printer driver in this way are stored in a structure (for example, a structure called DEVMODE in Windows OS available from Microsoft Corp.) provided by the OS as a setup file. That structure includes, e.g., store designation. Store designation is a setup for storing a print command and processing setup in the spool file 303. When the spool file manager 304 reads the processing setup via the printer driver 203 and that setup includes store designation, the spool file 303 generates and stores a page description file and job setup file, as described above. Then, the window of the spool file manager 304 pops up, as shown in FIG. 16, and displays a list of jobs spooled by the spool file 303. FIG. 16 shows an example wherein four jobs are spooled, and operations for each job can be selected from a menu bar or by pressing menu icons below the menu bar. Operations that can be selected from the menu bar are the same as those of the menu icons. The following types of operations are available. Note that each operation is done while selecting a desired job. That is, there are 12 operations:

(1) "print": executes a given job while selecting that job. That is, this operation prints the designated spool file.

(2) "save & print": executes a print process while saving a job of the selected intermediate codes.

(3) "preview": displays output preview in consideration of the print setups.

(4) "delete": deletes the selected job.

(5) "copy": generates a copy of the selected job.

(6) "combine": combines a plurality of jobs into one job.

(7) "divide": divides the combined job into a plurality of original jobs.

(8) "job edit" changes the print setups (layout setup, finishing setup, and the like) of an independent or combined job.

(9) "move to top": moves the print order of a given job to the top of a job list.

(10) "move up by one": advances the print order of a given job by one.

(11) "move down by one": delays the print order of a given job by one.

(12) "move to last": moves the print order of a given job to the last of a job list.

When "preview" of an independent or combined job is designated on the window (FIG. 16) of the spool file manager, the previewer 306 stored in the external memory 111 is loaded onto the RAM 102, and is instructed to execute a preview process of a job of the intermediate codes described in the spool file 303.

(Previewer)

The previewer 306 sequentially reads out page description files (PDF) of intermediate codes included in the spool file 303, processes them in accordance with the contents of processing setup information included in the job setup file (SDF) stored in the spool file 303, and outputs a GDI function to the graphic engine 202. The graphic engine 202 can output a preview window onto the screen by outputting rendering data on its own client area.

The graphic engine 202 can appropriately render in correspondence with the designated output destination. The previewer 306 implements preview by the method of processing intermediate codes included in the spool file 303 in accordance with the contents of the processing setups included in the spool file 303 and outputting them using the graphic engine as in the despooler 305. In this way, since the processing setups set in the printer driver are stored as a job setup file in the spool file 303 and data of the page description file are processed and output based on the job setup file, a print preview approximate to an actual printout can be provided to the user in correspondence with the way actual rendering data is printed, and designated processes (e.g., an N-up process (for laying out and printing N logical pages on one physical page), a two-sided print process, a bookbinding print process, a stamp process, and the like). Since the preview function of conventional application software such as document creation software renders based on page setups in that application, the print setups in the printer driver are not reflected in preview, and the user cannot recognize a preview of an image to be actually printed out.

One logical page is one page in data created by the application, and one physical page corresponds to one surface of one sheet (e.g., one paper sheet). More specifically, when the N-up process is designated, images for N pages created by the application are laid out and printed on a single sheet in a reduced scale.

By executing the preview process in this fashion, a large preview image of an image processed in accordance with the print processing setups saved in the spool file 303 is displayed on the screen by the previewer 306, as shown in FIG. 17. After that, the previewer 306 is closed in response to the user's non-display instruction (designation of "close)), and the control shifts to the window (FIG. 16) of the spool file manager.

When the user wants to print the contents displayed by the previewer 306, he or she issues a print request by selecting "print" or "save & print" on the spool file manager 304. In response to the print request, the despooler 305 generates a GDI function by processing each page description file based on the job setup file, and passes it to the graphic engine 202. Then, a print command is sent to the printer driver 203 via the dispatcher 301, thus executing the print process.

(Setup Change Editor)

A setup change process using the setup change editor 307 will be explained below.

The setup change process can be done for a "store"-designated job in FIG. 9 as in the preview process. The window of the spool file manager 304 pops up in the same sequence as in the preview process, and displays a list of spooled jobs. A setup change instruction is issued by designating "job edit" for the selected spool file on the window (FIG. 16) of the spool file manager. When the setup change instruction is issued, the setup change editor 307 stored in the external memory 111 is loaded onto the RAM and is instructed to display current or default processing setups. Then, a job setup window shown in FIG. 18 is displayed.

The setup change editor 307 acquires the job setup file of the "job edit"-designated job, and default values of the job setup window in FIG. 18 are changed on the basis of setup items designated in that job setup file. In the example shown in FIG. 18, the job setup file of the "job edit"-designated file is designated with the number of copies: 1, print method: one-sided, staple: none, layout: 1 page/sheet, and the like.

This setup change editor 307 can also make a small preview output on the window shown in FIG. 18 by processing each page description file of intermediate codes stored in the spool file 303 in accordance with the contents of the processing setups included in the job setup file stored in the spool file 303, and outputting them onto its own client area using the graphic engine.

Also, this editor can change and correct the contents of the processing setups included in the job setup file stored in the spool file 303. In this case, the user interface on the setup change editor 307 may have items that the printer driver 203 can set, or the user interface of the printer driver 203 itself may be called. As shown in FIG. 18, the number of copies, the print method (one-side, two-side, bookbinding print), staple (saddle finisher, or the like), page layout, layout order, and the like can be designated. Upon pressing "detailed setups", most of items that the printer driver can designate can be re-set. However, changes of setups that pertain to print quality such as the resolution, graphic mode, and the like are not permitted.

When the changed items are confirmed in accordance with a confirmation request on the setup change editor 307, the control shifts to the spool file manager 304. The confirmed print setups that have been changed are saved. In this case, the setups are not saved in an original job setup file, but a new job output setup file used in the job edit process or the like is created to save the setups. Details of the job output setup file will be described later using FIG. 10 and the subsequent figures.

If the user wants to print in accordance with the changed setup contents as in the previewer 306, the spool file manager 304 issues a print request. The print request is sent to the graphic engine 202, and a print command is sent to the printer driver 203 via the dispatcher 301, thus executing the print process.

On the window (FIG. 16) of the spool file manager, the user can designate to combine a plurality of print jobs to execute them as a single print job. This process is also premised on the "store"-designated job on the property window of the printer driver shown in FIG. 9 as in the preview and setup change processes.

When the user wants to combine print jobs, he or she calls the printer driver 203 from the application 201, and selects "store" from the user interface shown in FIG. 9. With this selection, the print job is stored in the spool file 303, and the window (FIG. 16) of the spool file manager pops up, as shown in FIG. 16. The spooled job is displayed as a list on the window of the spool file manager. By repeating the same operation from the application 201, a plurality of jobs are spooled, and a list of jobs is displayed on the window of the spool file manager 304.

When the user selects a plurality of jobs from the list and designates "combine", the setup change editor 307 stored in the external memory 111 is loaded onto the RAM 102 and is instructed to display the processing setups of the first job on the list or default setups. Then, a combine setup window shown in FIG. 18 is displayed. In this embodiment, the same window as the setup change window is used as the combine setup window, but another window may be used.

The setup change editor 307 processes each page description file of intermediate codes included in the spool file 303 in accordance with the contents of the processing setups included in job setup information stored in the spool file 303, and outputs the processed data for all jobs designated as the combined job to its own client area using the graphic engine 202, thus outputting these jobs on the screen. In this case, small preview images of all the selected jobs can be displayed on the preview region shown in FIG. 18. Upon generating the combined job, a job output setup file that expands the job setup files of the individual jobs is generated. This job output setup file is also generated in the job edit process. That is, one job output setup file is generated for each job and also for the combined job.

In this case, images of the individual jobs may be displayed using the processing setups before they are combined, or may be displayed by changing and correcting their setups to common processing setups of the combined job. In this case, the user interface on the setup change editor 307 may have items that the printer driver 203 can set, or the user interface of the printer driver 203 itself may be called.

When the combined job and changed items are confirmed in accordance with a confirmation request on the setup change editor 307, as described above, the control shifts to the spool file manager 304. With these operations, the plurality of jobs selected previously are displayed as a single combined job on the window of the spool file manager.

When the user wants to print in accordance with the changed setup contents as in the previewer 306, the spool file manager 304 issues a print request. The print request is sent to the graphic engine 202, and a print command is sent to the printer driver 203 via the dispatcher 301, thus executing the print process.

<Arrangement of Laser Beam Printer>

FIG. 4 is a sectional view of a color laser printer having a two-sided print function as an example of the printer 1500.

This printer forms an electrostatic latent image by scanning the surface of a photosensitive drum 15 with a laser beam modulated by image data of each color obtained based on print data input from the host computer 3000 by a polygonal mirror 31. The electrostatic latent image is developed by toner to obtain a visible image, and visible images of all colors are transferred in turn onto an intermediate transfer drum 9 to form a color visible image. The color visible image is transferred onto a transfer medium 2, thus fixing the color visible image on the transfer medium 2. An image forming unit that makes the aforementioned control comprises a drum unit 13 having the photosensitive drum 15, a primary charger having a contact charging roller 17, a cleaning unit, a developing unit, the intermediate transfer drum 9, a paper feed unit including a paper cassette 1 and various rollers 3 and 4, a transfer unit including a transfer roller 10, and a fixing unit 25.

The drum unit 13 integrates the photosensitive drum (photosensitive body) 15 and a cleaner container 14 which has a cleaning mechanism that also serves as a holder of the photosensitive drum 15. The drum unit 13 is detachably supported on a printer main body, and is easily exchanged as a unit in correspondence with the service life of the photosensitive drum 15. The photosensitive drum 15 is prepared by applying an organic photoconductor layer on the outer surface of an aluminum cylinder, and is rotatably supported by the cleaner container 14. The photosensitive drum 15 rotates upon receiving the driving force of a driving motor (not shown), and the driving motor rotates the photosensitive drum 15 counterclockwise in accordance with image forming operation. An electrostatic latent image is formed by selectively exposing the surface of the photosensitive drum 15. In a scanner unit 30, a modulated laser beam is reflected by the polygonal mirror which rotates by a motor 31a in synchronism with the horizontal sync signal of an image signal, and strikes the photosensitive drum via a lens 32 and reflection mirror 33.

The developing unit comprises three color developers 20Y, 20M, and 20C for developing yellow (Y), magenta (M), and cyan (C) images, and a single black developer 21B for developing a black (B) image. The color developers 20Y, 20M, and 20C and the black developer 21B respectively have sleeves 20YS, 20MS, 20CS, and 21BS, and coating blades 20YB, 20MB, 20CB, and 21BB which are in press contact with the outer surfaces of these sleeves 20YS, 20MS, 20CS, and 21BS. Also, the three color developers 20Y, 20M, and 20C respectively have coating rollers 20YR, 20MR, and 20CR.

The black developer 21B is detachably attached to the printer main body, and the color developers 20Y, 20M, and 20C are detachably attached to a developing rotary 23 which rotates about a rotation shaft 22.

The sleeve 21BS of the black developer 21B is set to have a gap as small as, e.g., 300 .mu.m with respect to the photosensitive drum 15. In the black developer 21B, toner is fed by a feed member built in the developer, and is applied by the coating blade 21BB to the outer surface of the sleeve 21BS which rotates clockwise, thus charging the toner by triboelectrification. By applying a developing bias to the sleeve 21BS, the photosensitive drum 15 undergoes development in accordance with an electrostatic latent image, thus forming a visible image on the photosensitive drum 15 by black toner.

The three color developers 20Y, 20M, and 20C rotate upon rotation of the developing rotary 23 in image formation, and a predetermined one of the sleeves 20YS, 20MS, and 20CS faces the photosensitive drum 15 to have a gap as small as 300 .mu.m. In this manner, a predetermined one of the color developers 20Y, 20M, and 20C stops at the developing position where it faces the photosensitive drum 15, thus forming a visible image on the photosensitive drum 15.

Upon forming a color image, the developing rotary 23 rotates once per rotation of the intermediate transfer drum 9 to execute developing processes in the order of the yellow developer 20Y, magenta developer 20M, cyan developer 20C, and black developer 21B. After four rotations of the intermediate transfer drum 9, visible images are formed in turn by yellow, magenta, cyan, and black toners, thus forming a full-color visible image on the intermediate transfer drum 9.

The intermediate transfer drum 9 contacts the photosensitive drum 15 and rotates upon rotation of the photosensitive drum 15. The drum 9 rotates clockwise upon forming a color image, and four visible images are transferred in turn onto the drum 9 from the photosensitive drum 15. The transfer roller 10 (to be described later) contacts the intermediate transfer drum 9 upon forming an image, and clamps and conveys a transfer medium 2, thus simultaneously transferring a color visible image on the intermediate transfer roller 9 onto the transfer medium 2. A TOP sensor 9a and RS sensor 9b for detecting the position of the intermediate transfer drum 9 in its rotational direction, and a density sensor 9c for detecting the density of the toner image transferred onto the intermediate transfer drum are arranged around the intermediate transfer drum.

The transfer roller 10 comprises a transfer charger which is supported to be movable toward or away from the photosensitive drum 15, and is prepared by winding a middle-resistance foamed elastic member around a metal shaft.

The transfer roller 10 is located at its lower position, as indicated by the solid line in FIG. 4, so as not to disturb color visible images, while color visible images are transferred in turn onto the intermediate transfer drum 9. After the four color visible images are formed on the intermediate transfer drum 9, the transfer roller 10 moves to its upper position indicated by the dotted line in FIG. 1 by a cam member (not shown) in synchronism with the transfer timing of the formed full-color visible image onto the transfer medium 2. In this manner, the transfer roller 10 is brought into press contact with the intermediate transfer drum 9 at a predetermined pressure via the transfer medium 2, and is applied with a bias voltage, thus transferring the full-color visible image on the intermediate transfer drum 9 onto the transfer medium 2.

The fixing unit 25 fixes the transferred full-color visible image while conveying the transfer medium 2, and comprises a fixing roller 26 for heating the transfer medium 2, and a pressing roller 27 for pressing the transfer medium 2 against the fixing roller 26. The fixing roller 26 and pressing roller 27 are formed into a hollow shape, and heaters 28 and 29 are respectively built therein. That is, the transfer medium 2 that holds the full-color visible image is conveyed by the fixing roller 26 and pressing roller 27, and the toner image is fixed on its surface by applied heat and pressure.

After the visible image is fixed, the transfer medium 2 is exhausted onto an exhaust unit 37 via exhaust rollers 34, 35, and 36, thus ending the image forming operation.

The cleaning means cleans any residual toner on the photosensitive drum 15 and intermediate transfer drum 9, and waste toner after the toner image formed on the photosensitive drum 15 is transferred onto the intermediate transfer drum 9 or waste toner after the four color visible images formed on the intermediate transfer drum 9 are transferred onto the transfer medium 2 is stored in the cleaner container 14.

The transfer medium (recording sheet) 2 which is to undergo a print process is picked up from the paper tray or cassette 1 by the roller 3, and is conveyed while being clamped between the intermediate transfer roller 9 and transfer roller 10 to record a color toner image thereon. The toner image is fixed when the transfer medium 2 passes through the fixing unit 25. A guide 38 forms a convey path to guide the recording sheet toward the upper exhaust unit in a one-sided print process, but forms a path to guide it to a lower two-side unit in a two-sided print process.

The recording sheet guided to the two-side unit is temporarily fed to a portion (a convey path indicated by the two-dashed chain line) below the tray 1 by convey rollers 40, is then conveyed in the reverse direction, and is fed to a two-side tray 39. On the two-side tray 39, the paper sheet is upside down to that placed on the paper tray 1, and its convey direction is reversed. In this state, a toner image is transferred and fixed again, thus achieving the two-sided print process.

<Saving Process of Print Intermediate Data>

FIG. 5 is a flow chart showing the processing in the step of saving in units of pages upon generating the spool file 303 in the spooler 302.

In step 501, the spooler 302 receives a print request from the application via the graphic engine 202. The application displays a dialog that prompts the user to input print setups, as shown in FIG. 8, and the print setups input on this dialog are passed from the printer driver to the spooler 303. The setup input dialog shown in FIG. 8 includes a setup item 801 that determines the number of logical pages to be laid out per physical page, and the like.

In step 502, the spooler 302 checks if the received print request is a job start request. If it is determined in step 502 that the received print request is a job start request, the flow advances to step 503, and the spooler 302 generates a spool file 303 for temporarily saving intermediate data. Subsequently, the spooler 302 informs the spool file manager 304 of the progress of the print process in step 504, and resets its page counter to 1 in step 505. The spool file manager 304 reads and stores information, processing setups, and the like of a job, the print process of which has started, from the spool file 303.

On the other hand, if it is determined in step 502 that the received print request is not a job start request, the flow advances to step 506.

The spooler checks in step 506 if the received request is a job end request. If it is determined that the received request is not a job end request, the flow advances to step 507 to check if the received request is a new page request. If it is determined in step 507 that the received request is a new page request, the flow advances to step 508 to inform the spool file manager 304 of the progress of the print process. The spooler 302 then increments the page counter, closes a page description file that stores intermediate codes, and generates the next page description file.

If it is determined in step 507 that the received print request is not a new page request, the flow advances to step 509, and the spooler 302 prepares for export of intermediate codes to a page description file.

In step 510, the spooler 302 converts a DDI function of the print request into intermediate codes to store the print request in the spool file 303. In step 511, the spooler 302 writes the print request (intermediate codes) that has been converted into a storable format in a page description file of the spool file 303 in step 510. After that, the flow returns to step 501 to receive a print request from the application again. The spooler 302 repeats a series of processes from steps 501 to 511 until it receives a job end request (EndDoc). The spooler 302 simultaneously acquires information such as processing setups and the like stored in the DEVMODE structure from the printer driver, and stores such information in the spool file 303 as a job setup file. On the other hand, if it is determined in step 506 that the print request from the application is a job end request, since the spooler 302 has received all print requests from the application, the flow advances to step 512 to inform the spool file manager 304 of the progress of the print process, thus ending the processing.

<Generation of Spool File>

FIG. 6 is a flow chart showing details of control between the spool file 303 generation process and a print data generation process (to be described later) in the spool file manager 304.

In step 601, the spool file manager 304 receives a print process progress message from the spooler 302 or despooler 305.

The spool file manager 304 checks in step 602 if the progress message is a print start message which is sent from the spooler 302 in step 504 described above. If YES in step 602, the flow advances to step 603, and the spool file manager 304 reads the print processing setups from the spool file 303 to start job management.

On the other hand, if it is determined in step 602 that the received progress message is not a print start message from the spooler 302, the flow advances to step 604, and the spool file manager 304 checks if the progress message is a print end message of one logical page which is sent from the spooler 302 in step 508 mentioned above. If the progress message is a print end message of one logical page, the flow advances to step 605 to store logical page information for that logical page.

It is then checked in step 606 if a print process of n logical pages that have been spooled at that time onto one physical page can start. If YES in step 606, the flow advances to step 607 to determine a physical page number on the basis of the number of logical pages assigned to one physical page to be printed.

As for a computation of a physical page, for example, when the processing setups lay out four logical pages on one physical page, the first physical page becomes ready for print when the fourth logical page has been spooled, thus determining the first physical page. Subsequently, the second physical page becomes ready for print when the eighth logical page has been spooled.

Also, even when the total number of logical pages is not a multiple of the number of logical pages to be laid out per physical page, logical pages to be laid out per physical page can be determined by a spool end message in step 512.

In step 608, the spool file manager 304 saves information such as the logical page numbers which form the physical page that is ready for print, the physical page number of that physical page, and the like in a job output setup file (a file including physical page information) in the format shown in FIG. 10, and informs the despooler 305 that physical page information for one physical page has been added. After that, the flow returns to step 601 to wait for the next message. In this embodiment, when print data for one page, i.e., logical pages that form one physical page have been spooled, a print process can start even when print jobs to be spooled still remain.

On the other hand, if it is determined in step 604 that the progress message is not a print end message of one logical page, the flow advances to step 609, and the spool file manager 304 checks if the progress message is a job end message sent from the spooler 302 in step 512 mentioned above. If YES in step 609, the flow advances to step 606 described above.

On the other hand, if the progress message is not a job end message, the flow advances to step 610, and the spool file manager 304 checks if the received message is a print end message of one physical page from the despooler 305. If the received message is a print end message of one physical page, the flow advances to step 611 to check if print processes for the processing setups are complete. If YES in step 611, the flow advances to step 612 to send a print end message to the despooler 305.

On the other hand, if it is determined that print processes for the processing setups are not complete yet, the flow advances to step 606 described above. The despooler 305 in this embodiment assumes one physical page as a unit for the print process. In step 608, information required for executing the print process of one physical page is saved in a file, so that such information can be used again. However, if such information need not be used again, a high-speed medium such as a shared memory or the like may be used to overwrite information in turn in units of physical pages, thus achieving both high processing speed and resource savings. On the other hand, when the progress of spooling is faster than that of despooling, or when despooling starts after completion of spooling of all pages, a message indicating that a plurality of physical pages or all physical pages are ready for print is sent in accordance with the progress on the despooling side in place of sending a page print ready message for each physical page in step 608, thus reducing the number of messages.

If it is determined in step 610 that the message is not a print end message of one physical page from the despooler, the flow advances to step 613, and the spool file manager 304 checks if the message is a print end message from the despooler 305. If it is determined that the message is a print end message from the despooler 305, the flow advances to step 614, and the spool file manager 304 deletes the corresponding page description files in the spool file 303, thus ending the processing. On the other hand, if the message is not a print end message from the despooler 305, the flow advances to step 615 to execute another normal process and to then wait for the next message.

<Output of Spool File>

FIG. 7 is a flow chart showing details of the print data generation process in the despooler 305.

The despooler 305 reads out required information (page description file and job setup file) from the spool file 303 in response to the print request from the spool file manager 304, and generates print data. The method of transferring the generated print data to the printer has already been explained with reference to FIG. 3.

Upon generating print data, the despooler 305 receives a message from the spool file manager 304 in step 701. The despooler 305 checks in step 702 if the input message is a job end message. If YES in step 702, the flow advances to step 703 to set an end flag, and the flow then jumps to step 705.

On the other hand, if it is determined in step 702 that the received message is not a job end message, the flow advances to step 704 to check if the print start request of one physical page in step 608 mentioned above is received. If it is determined in step 704 that the received message is not a start request, the flow advances to step 710 to execute an error process, and the flow returns to step 701 to wait for the next message. On the other hand, if it is determined in step 704 that the received message is a print start request of one physical page, the flow advances to step 705, and the despooler 305 saves the IDs of physical pages, the print ready message of which was received in step 704.

The despooler 305 checks in step 706 if print processes of all pages of the physical page IDs saved in step 705 are complete. If YES in step 706, the flow advances to step 707 to check if the end flag was set in step 703 mentioned above. If YES in step 707, the despooler 305 determines that the job print process is complete, and sends its processing end message to the spool file manager 304, thus ending the processing.

If it is determined in step 707 that the end flag is not set, the flow returns to step 701 to wait for the next message. If it is determined in step 706 that physical pages which are ready for print still remain, the flow advances to step 708. In step 708, the despooler 305 reads out unprocessed physical page IDs in turn from the saved physical page IDs, reads information required for generating print data of a physical page corresponding to each readout physical page ID, and executes a print process. The print process is done by converting by the despooler 305 a print request command stored in the spool file 303 into a format (GDI function) that the graphic engine 202 can recognize, and transferring it to the printer driver.

As for the processing setups that lay out a plurality of logical pages on one physical page (to be referred to as an N-page print process hereinafter) as in this embodiment, conversion in this step is done in consideration of the layout upon reduction in scale. Upon completion of the required print process, the despooler 305 sends a print data generation end message of one physical page to the spool file manager 304 in step 709. The flow returns to step 706 to repeat the aforementioned processes until print processes for all the physical page IDs of print ready pages, which were saved in step 705, are complete.

The flow of the print process using the dispatcher 301, spooler 302, spool file manager 304, and despooler 305 has been explained. With the above process, since the application 201 is released from the print process at the timing at which the spooler 302 generates intermediate codes and stores them in the spool file 303, the application 201 c


Free Web Sudoku Puzzles.
Solve with your browser.
4         5     7
  7     4       5
  6         1    
      9 2        
    1 5   6 9    
        7 4      
    3         5  
8       6     3  
2     7         4
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!