JP3733288B2 - 情報処理装置および印刷制御方法および記憶媒体 - Google Patents
情報処理装置および印刷制御方法および記憶媒体 Download PDFInfo
- Publication number
- JP3733288B2 JP3733288B2 JP2000371544A JP2000371544A JP3733288B2 JP 3733288 B2 JP3733288 B2 JP 3733288B2 JP 2000371544 A JP2000371544 A JP 2000371544A JP 2000371544 A JP2000371544 A JP 2000371544A JP 3733288 B2 JP3733288 B2 JP 3733288B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- physical
- printing
- job
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 95
- 230000010365 information processing Effects 0.000 title claims description 20
- 238000003860 storage Methods 0.000 title claims description 15
- 238000007639 printing Methods 0.000 claims description 212
- 238000012545 processing Methods 0.000 claims description 96
- 230000006870 function Effects 0.000 description 108
- 230000008569 process Effects 0.000 description 82
- 238000012546 transfer Methods 0.000 description 52
- 230000008859 change Effects 0.000 description 49
- 230000015654 memory Effects 0.000 description 34
- 239000000463 material Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000009467 reduction Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1803—Receiving particular commands
- G06K15/1805—Receiving printer configuration commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
- G06K2215/0011—Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および印刷制御方法および印刷制御プログラムを格納した記憶媒体に関するもので、特に、プリンタ等の印刷装置で印刷すべき印刷データを生成するパーソナルコンピュータ等の情報処理装置における印刷制御プログラムの印刷制御方法に関するものである。
【0002】
【従来の技術】
従来、プリンタ等の印刷装置において、ホストコンピュータから受信する複数ページの印刷データを1枚の出力用紙にあわせて縮小配置して印刷処理するNページ印刷機能(Nページ分のデータを1枚の用紙に印刷する)が存在する。しかしながら、印刷装置でこの機能を実現するためには、Nページ分の印刷データを解析して印刷しやすい中間データ形式のデータを用意する必要がある。そのため、2ページ印刷や4ページ印刷ならまだしも、9ページ印刷や16ページ印刷を実現する場合に、印刷装置には非常に多くのバッファメモリが必要となり、コストが高くなってしまうため、あまり現実的でない。
【0003】
そのため近年の印刷システムでは、ホストコンピュータにインストールされるプリンタ制御ソフトウェアであるプリンタドライバ側でNページ印刷機能と同等の効果を得られる処理を具備しているものが提供されている。具体的には、アプリケーションから入力される描画命令をスプールし、指定されるNページ分の描画命令がスプールされると、Nページ分の描画命令を縮小して座標を算出し、新たな描画命令として置き換えてプリンタ言語の印刷データを生成している。
【0004】
このようなプリンタドライバのNページ印刷機能は、用紙サイズから印刷マージンを差し引いた印刷可能領域をN等分して、N等分された論理ページの印刷領域に収まるように論理ページの描画命令を縮小して座標を計算している。このように処理することにより、印刷可能領域に論理ページを配置するため、描画内容が印刷されない等の不具合が発生することがなく、また、プリンタ側のNページ印刷機能に対して描画内容が多少縮小されるものの、配置が中央に寄るため印刷結果が美しいものとすることができる。
【0005】
【発明が解決しようとする課題】
しかしながら従来のプリンタドライバにおけるNページ印刷機能は、印刷可能領域を基準にしてNページの論理ページを割り付けている。そのため、印刷された用紙を1/Nのサイズの大きさに切り取った場合に、切り取られた用紙に直接印刷を行った場合と比較して、出力体裁がずれるという欠点があった。つまり、郵政省などが発行している4面ハガキ(ハガキを縦横2つ並べて4枚のハガキを1枚の用紙にしたもので、印刷後に4分割して通常のハガキと同様に使用できる。)に対してプリンタドライバのNページ印刷機能を使用すると、配置により印字位置がずれてしまうことが考えられる。例えば、左上のハガキは右下に、右上のハガキは左下に、左下のハガキは右上に、右下のハガキは左上にと、それぞれ元の用紙の中央に印刷内容が片寄って印刷されてしまう。そのため、郵便番号などに対する印刷がずれてしまうため、印刷結果が美しくない印刷物が得られてしまうという問題点が考えられる。
【0006】
しかしながら、この問題に対して常に物理用紙を基準にしてN分割した領域に論理ページを配置するNページ印刷機能をプリンタドライバで提供することは考えられていなかった。
【0007】
また、近年のプリンタドライバは、Nページ印刷機能は、各プリンタドライバに共通するモジュールで提供されているため、物理用紙を基準にするか、印刷可能領域を基準にするかのいずれのNページ印刷機能にするかを、すべてのプリンタドライバで共通にしなければならなかった。
【0008】
そこで本発明は、物理用紙を基準にしたNページ印刷機能を情報処理装置および情報処理装置に組み込まれる印刷制御プログラムの機能として提供することを目的とする。
【0009】
また本発明は、更に、物理用紙を基準にしたNページ印刷機能と印刷可能領域をN等分した領域を基準としてNページ印刷機能とを併用して、適宜切り替える機能を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記目的を解決するため、本発明の情報処理装置は、アプリケーションから入力される複数ページの描画データを用いて、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備える情報処理装置であって、Nページ(N>1、Nは整数)の描画データを1枚の印刷用紙に印刷するためのNページ印刷の指定を入力する入力手段と、物理用紙をN等分した領域のそれぞれに対して中央に各ページの描画データを縮小配置する物理Nページ印刷配置手段と、物理用紙に対する印刷可能領域をN等分した領域に対して各ページの描画データを縮小配置する印刷可能領域Nページ印刷配置手段と、前記入力手段によりNページ印刷の指定が入力される場合に、前記物理Nページ印刷配置手段と前記印刷可能領域Nページ印刷配置手段とのいずれを用いて配置処理するかを判定する判定手段と、前記判定手段により判定された前記物理Nページ印刷配置手段もしくは前記印刷可能領域Nページ印刷配置手段を用いて縮小配置された印刷データを生成する生成手段と、を有するものである。
【0016】
また、物理Nページ印刷条件を取得する条件取得手段を更に有し、前記判定手段は、前記条件取得手段により取得される物理Nページ印刷条件に基づいて、前記物理Nページ印刷配置手段と前記印刷可能領域Nページ印刷配置手段とのいずれを用いて配置処理するかを判定する。
【0017】
また、前記物理Nページ印刷条件は、複数のNページ印刷の中でいずれのNページ印刷を物理Nページ印刷をするかを示す情報である。
【0018】
また、前記物理Nページ印刷条件は、所定の出力用紙サイズが指定されている場合に物理Nページ印刷をすることを示す情報である。
【0020】
また、本発明のその他の発明は、上記処理を実現する印刷制御方法および印刷制御プログラムを格納した記憶媒体により解決する。
【0021】
【発明の実施の形態】
[第一実施例]
以下、本発明を適用するのに好適である実施例について説明を行う。
【0022】
図1は本発明の実施例を示す印刷制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【0023】
同図において、本発明の情報処理装置に好適なホストコンピュータ3000は、ROM103のプログラム用ROMあるいは外部メモリ111に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU101を備え、システムバス4に接続される各デバイスをCPU101が総括的に制御する。また、このROM103のプログラム用ROMあるいは外部メモリ111には、CPU101の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、ROM103のフォント用ROMあるいは外部メモリ111には上記文書処理の際に使用するフォントデータ等を記憶し、ROM103のデータ用ROMあるいは外部メモリ111には上記文書処理等を行う際に使用する各種データを記憶する。RAM102は、CPU101の主メモリ、ワークエリア等として機能する。
【0024】
キーボードコントローラ(KBC)105は、キーボード109や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)106は、CRTディスプレイ(CRT)110の表示を制御する。107はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、本発明の特徴である印刷制御プログラム(以下、プリンタドライバとも呼ぶ)等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ111とのアクセスを制御する。プリンタコントローラ(PRTC)108は、双方向性インタフェイス(インタフェイス)121を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。
【0025】
なお、CPU101は、例えばRAM102上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT110上でのWYSIWYGを可能としている。また、CPU101は、CRT110上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定(設定される内容を、印刷設定と呼ぶ)を行える。
【0026】
プリンタ1500は、CPU112により制御される。プリンタCPU112は、ROM113のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス115に接続される印刷部(プリンタエンジン)117に出力情報としての画像信号を出力する。また、このROM113のプログラムROMには、CPU112の制御プログラム等を記憶する。ROM113のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ROM113のデータ用ROMには、ハードディスク等の外部メモリ1114がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【0027】
CPU112は入力部118を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知できる。RAM119は、CPU112の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM119は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ1114は、メモリコントローラ(MC)120によりアクセスを制御される。外部メモリ1114は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【0028】
また、前述した外部メモリ1114は1個に限らず、複数個備えられてもよい。内蔵フォントだけでなく、フォントオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリなどを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作部1501からのプリンタモード設定情報を記憶するようにしてもよい。また、操作部1501は、操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
【0029】
図2は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ111に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。また、アプリケーション201およびプリンタドライバ203は、外部メモリ111のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ111のHDに追加することが可能となっている。外部メモリ111に保存されているアプリケーション201はRAM102にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM102にロードされ実行可能となっているOSの描画手段であるグラフィックエンジン202を利用して出力(描画)を行う。
【0030】
グラフィックエンジン202は、印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ111からRAM102にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取る第一種の描画関数であるGDI(Graphic Device Interface)関数に基づいて、プリンタドライバが解釈可能な(プリンタドライバのライブラリの記述をみて、OSの一部であるグラフィックエンジンが判断する)第二種の描画関数であるDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、印刷装置が認識可能な制御コマンド、例えばPDL(Page Description Language)で記述される印刷データを生成する。生成されたプリンタ制御コマンドの印刷データは、OSによってRAM102にロードされたシステムスプーラ204を経てインタフェイス21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
【0031】
本実施形態の印刷システムは、図2で示すプリンタとホストコンピュータからなる印刷システムに加えて、更に図3に示すように、アプリケーションからの印刷命令を一旦中間コードデータでスプールする構成を有する。
【0032】
図3は、図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令(第二種の描画関数であるDDI関数)を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。図2のシステムでは、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図3のシステムでは、スプーラ302がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。また、図3で示すシステムにおいては、スプールファイル303の内容に対して加工することができる。これによりアプリケーションからの印刷依頼(第一種の描画関数であるGDI関数)に対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【0033】
これらの目的のために、図2のシステムに対し、図3のように中間コードデータでスプールするよう、システムの拡張がなされてきている。なお、印刷命令の加工を行うためには、通常プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM102上あるいは外部メモリ111上に保管する。
【0034】
以下、図3の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン202からの印刷命令であるDDI関数をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ301は外部メモリ111に格納されているスプーラ302をRAM102にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令(DDI関数)を送付する。
【0035】
スプーラ302は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル303に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷処理に関する加工設定(Nup、両面、ステイプル、カラー/モノクロ指定等。以下、印刷設定と呼ぶ)をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル303に保存する。このジョブ単位に格納されている設定ファイルをジョブ設定ファイル(簡略してSDF:Spool Description Fileと呼ぶこともある)と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル303は外部メモリ111上にファイルとして生成するが、RAM102上に生成されても構わない。更にスプーラ302は、外部メモリ111に格納されているスプールファイルマネージャ304をRAM102にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷処理に関する加工設定の内容に従って印刷を行えるか判断する。
【0036】
スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ111に格納されているデスプーラ305をRAM102にロードし、デスプーラ305に対して、スプールファイル303に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【0037】
デスプーラ305はスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックエンジン202経由でGDI関数を出力する。
【0038】
ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)がデスプーラ305からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。
【0039】
プリンタドライバ203はグラフィックエンジン202から取得したDDI関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
【0040】
更に、図3では、これまで説明した拡張システムに加えて、プレビューア306、設定変更エディタ307を配し、プレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。
【0041】
印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図9に示すプリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニューにおいて「ストア」を指定する必要がある。なお、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
【0042】
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてOSが提供する構造体(WindowsOSでは、DEVMODEと呼ばれる)に格納される。その構造体には、例えばスプールファイル303に含まれる加工設定中にスプールファイルマネージャ304にストアを行うかどうかの設定が含まれており、スプールファイルマネージャ304がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル303にページ描画ファイルとジョブ設定ファイルとが生成・格納され、図16のようにスプールファイルマネージャのウインドウ画面がポップアップされ、スプールファイル303にスプールされたジョブがリスト表示される。図16には、4つのジョブがスプールされている例を示しており、メニューバーもしくは、そのすぐ下のメニューアイコンを押下することにより、ジョブの操作を行うことができる。メニューバーとメニューアイコンの操作の数は同じである。
【0043】
操作種類としては、ジョブを選択した状態で、「印刷」、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」、中間コードのスプールファイルを削除する「削除」、中間コードのスプールファイルのコピーを生成する「複製」、複数の中間コードのスプールファイルのジョブを結合して1つのジョブにする「結合」、結合ジョブを元の複数のジョブに分割する「分割」、単体ジョブもしくは結合ジョブの印刷設定(レイアウト設定やフィニッシング設定等)を変更する「ジョブ編集」、あるジョブの印刷順序を最初にする「先頭に移動」、あるジョブの印刷順序を1つ早くする「1つ上に移動」、あるジョブの印刷順序を1つお則する「1つ下に移動」、あるジョブの印刷順序を最後にする「最後に移動」の以上11個の操作がある。
【0044】
スプールファイルマネージャのウインドウ画面(図16)上で、ある単体ジョブもしくは結合ジョブのプレビュー指定がされた場合、外部メモリ111に格納されているプレビューア306をRAM102にロードし、プレビューア306に対して、スプールファイル303に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【0045】
プレビューア306はスプールファイル303に含まれる中間コードのページ描画ファイル(PDF)を順次読み出し、スプールファイル303に格納されているジョブ設定ファイル(SDF)に含まれる加工設定情報の内容に従って加工し、グラフィックエンジン202に対してGDI関数を出力し、グラフィックエンジン202が自身のクライアント領域に描画データを出力することによって、画面上の出力が可能となる。
【0046】
グラフィックエンジン202は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア306は、デスプーラ305同様に、スプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、グラフィックエンジン202を利用して出力する方法で実現可能となる。このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルとしてスプールファイル303に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力することにより、実際の描画データがどのように印刷されるか、更には、Nup(Nページの論理ページを1ページの物理ページに縮小配置して印刷する処理)指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。なお、従来の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。
【0047】
上記のようにプレビュー処理を行うことにより、図17のようにスプールファイル303に含まれる印刷の加工設定の大プレビューがプレビューア306によって画面上に表示され、その後、ユーザの非表示指示によって、プレビューア306がクローズされ、制御がスプールファイルマネージャのウインドウ画面(図16)に移行する。
【0048】
そして、ユーザがプレビューア306によって表示された内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、「印刷」もしくは「セーブして印刷」を指示することにより印刷要求を発行する。印刷要求は前述したように、デスプーラ305によりジョブ設定ファイルに基づいてページ描画ファイルを加工してGDI関数を生成し、グラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
【0049】
次に、設定変更エディタ307を用いた設定変更について説明する。
【0050】
その実現方法としては、プレビュー同様、図9において「ストア」指定されたジョブに関して設定可能である。同様のフローによりスプールファイルマネージャ304がポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャのウインドウ画面(図16)上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ111に格納されている設定変更エディタ307をRAM102にロードし、設定変更エディタ307に対して、現在またはデフォルトの加工設定の表示を行うように指示する。そして図18のようなジョブ設定画面が表示される。
【0051】
設定変更エディタ307は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルをスプールファイル303から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいて図18のジョブ設定画面のデフォルト値を変更する。図18に示す例では、「ジョブ編集」指定されたジョブのジョブ設定ファイルには、部数:1部、印刷方法:片面、ステイプル:なし、レイアウト:1ページ/枚等が指定されていることになる。
【0052】
この設定変更エディタ307でもスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン202を用いて自身のクライアント領域に出力することによって、図18に示す画面上の小プレビュー出力が可能となる。またここで、スプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインターフェイスに持っていても、プリンタドライバ203自身のユーザインターフェイスを呼び出しても構わない。図18に示すように、分数、印刷方法(片面、両目、製本印刷)、ステイプル(サドルフィニッシャー等)、ページレイアウト、配置順等の指定ができ、また「詳細設定」を押下することにより、プリンタドライバで指定できる項目の大半を設定しなおすことが可能となる。ただし、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
【0053】
ここで変更された変更項目は設定変更エディタ307上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ304に移行する。変更が認証されたものは、印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は、図10以降で後述する。
【0054】
そして、ユーザがプレビューア306での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
【0055】
また、スプールファイルマネージャのウインドウ画面(図16)では、複数の印刷ジョブを結合し、一つの印刷ジョブとして印刷するように指定することが可能である。これも、プレビュー、設定変更同様、図9のプリンタドライバのプロパティにおいて出力先を「ストア」指定されたジョブが前提となる。
【0056】
ユーザが印刷ジョブの結合を行う場合、まず、アプリケーション201からプリンタドライバ203を呼び出し、図9に示すようなユーザインターフェイス上からストアを選択する。前記同様、この選択により、スプールファイル303にストアされ、図16のようにスプールファイルマネージャのウインドウ画面(図16)がポップアップされる。スプールされたジョブはスプールファイルマネージャのウインドウ上にリスト表示される。アプリケーション201から同様の操作をすることにより、スプールファイルマネージャ304上に複数ジョブのリスト表示がされることになる。
【0057】
ここで、複数ジョブを選択し、「結合」が指定された場合、外部メモリ111に格納されている設定変更エディタ307をRAM102にロードし、設定変更エディタ307に対して、リスト上の先頭ジョブまたはデフォルトの加工設定の表示を行うように指示する。そして図18のような結合設定画面が表示される。ここでは、設定変更エディタ307を結合設定画面として用いているが、別モジュールのものを用いても構わない。
【0058】
この設定変更エディタ307は、スプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定情報に含まれる加工設定の内容に従って加工し、結合ジョブとして指定されたすべてのジョブに対して、グラフィックエンジン202を用いて自身のクライアント領域に出力することによって、画面上の出力を行う。その際、図18に示すプレビュー領域に選択された全てのジョブの小プレビューが可能となる。また、結合ジョブを生成する際に、それぞれの単体ジョブのジョブ設定ファイルを拡張したジョブ出力用設定ファイルを生成する。このジョブ出力用設定ファイルは、ジョブ編集を行う際にも生成されるものであり、1つのジョブに対して1つできるものであり、結合ジョブの場合もまた1つ生成される。
【0059】
ここではそれぞれのジョブに対して、結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインターフェイスに持っていても、プリンタドライバ203自身のユーザインターフェイスを呼び出しても構わない。
【0060】
ここで結合されたジョブ及び変更された変更項目は、前述したように、設定変更エディタ307上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ304に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウインドウ上で一つの結合ジョブとして表示される。
【0061】
そして、ユーザがプレビューア306での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
【0062】
図4は、プリンタ1500の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
【0063】
このプリンタはホストコンピュータ3000より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー31により感光ドラム15を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体9へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材2へ転写し、転写材2上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム15を有するドラムユニット、接触帯電ローラ17を有する一次帯電部、クリーニング部、現像部、中間転写体9、用紙カセット1や各種ローラ3、4、5、7を含む給紙部、転写ローラ10を含む転写部及び定着部25によって構成されている。
【0064】
ドラムユニット13は、感光ドラム(感光体)15と感光ドラム15のホルダを兼ねたクリーニング機構を有するクリーナ容器14とを一体に構成したものである。このドラムユニット13はプリンタ本体に対して着脱自在に支持され、感光ドラム15の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム15はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器14に回転可能に支持されている。感光ドラム15は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム15を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム15の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部30では、変調されたレーザ光を、モータ31aにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ32、反射鏡33を介して感光ドラムを照射する。
【0065】
現像部は、上記静電潜像を可視画像化するために、イエロー(Y)、マゼンダ(M)、シアン(C)の現像を行う3個のカラー現像器20Y、20M、20Cと、ブラック(B)の現像を行う1個のブラック現像器21Bとを備えた構成を有する。カラー現像器20Y、20M、20C及びブラック現像器21Bには、スリーブ20YS、20MS、20CS及び21BSと、これらスリーブ20YS、20MS、20CS、21BSそれぞれの外周に圧接する塗布ブレード20YB、20MB、20CB及び21BBとがそれぞれ設けられる。また3個のカラー現像器20Y、20M、20Cには塗布ローラ20YR、20MR、20CRが設けられている。
【0066】
また、ブラック現像器21Bはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器20Y、20M、20Cは回転軸22を中心に回転する現像ロータリー23にそれぞれ着脱可能に取り付けられている。
【0067】
ブラック現像器21Bのスリーブ21BSは感光ドラム15に対して例えば300μm程度の微小間隔を持って配置されている。ブラック現像器21Bは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリーブ21BSの外周に塗布ブレード21BBによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリーブ21BSに現像バイアスを印加することにより、静電潜像に応じて感光ドラム15に対して現像を行って感光ドラム15にブラックトナーによる可視画像を形成する。
【0068】
3個のカラー現像器20Y、20M、20Cは、画像形成に際して現像ロータリー23の回転に伴って回転し、所定のスリーブ20YS、20MS、20CSが感光ドラム15に対して300μm程度の微小間隔を持って対向することになる。これにより所定のカラー現像器20Y、20M、20Cが感光ドラム15に対向する現像位置に停止し、感光ドラム15に可視画像が作成される。
【0069】
カラー画像形成時には、中間転写体9の1回転毎に現像ロータリー23が回転し、イエロー現像器20Y、マゼンダ現像器20M、シアン現像器20C、次いでブラック現像器21Bの順で現像工程がなされ、中間転写体9が4回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体9上に形成する。
【0070】
中間転写体9は、感光ドラム15に接触して感光ドラム15の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム15から4回の可視画像の多重転写を受ける。また、中間転写体9は画像形成時に後述する転写ローラ10が接触して転写材2を挟持搬送することにより転写材2に中間転写体9上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体9の回転方向に関する位置を検知するためのTOPセンサ9a及びRSセンサ9bと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ9cが配置されている。
【0071】
転写ローラ10は、感光ドラム15に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【0072】
転写ローラ10は、図4に実線で示すように中間転写体9上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体9上に4色のカラー可視画像が形成された後は、このカラー可視画像を転写材2に転写するタイミングに合わせてカム部材(不図示)により転写ローラ10を図示点線で示す上方に位置させる。これにより転写ローラ10は転写材2を介して中間転写体9に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体9上のカラー可視画像が転写材2に転写される。
【0073】
定着部25は、転写2を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材2を加熱する定着ローラ26と転写材2を定着ローラ26に圧接させるための加圧ローラ27とを備えている。定着ローラ26と加圧ローラ27とは中空状に形成され、内部にそれぞれヒータ28、29が内蔵されている。即ち、カラー可視画像を保持した転写材2は定着ローラ26と加圧ローラ27とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【0074】
可視画像定着後の転写材2は、その後排紙ローラ34、35、36によって排紙部37へ排出して画像形成動作を終了する。
【0075】
クリーニング手段は、感光ドラム15上及び中間転写体9上に残ったトナーをクリーニングするものであり、感光ドラム15上に形成されたトナーによる可視画像を中間転写体9に転写した後の廃トナーあるいは、中間転写体9上に作成された4色のカラー可視画像を転写材2に転写した後の廃トナーは、クリーナ容器14に蓄えられる。
【0076】
印刷される転写材(記録用紙)2は、給紙トレイ1から給紙ローラ3により取り出されて中間転写体9と転写ローラ10との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部25を通過してトナー像が定着される。片面印刷の場合には、案内38が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【0077】
両面ユニットに導かれた記録用紙は、搬送ローラ40によりトレイ1の下部(二点鎖線で示す搬送経路)に一旦送り込まれた後に逆方向に搬送され、両面トレイ39に送られる。両面トレイ39上では、用紙は給紙トレイ1に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【0078】
図5は、スプーラ302における、スプールファイル303の生成におけるページ単位保存ステップの処理をフローチャートで示したものである。
【0079】
まずステップ501では、スプーラ302は、アプリケーションからグラフィックエンジン202を介して印刷要求を受け付ける。アプリケーションにおいては、図8に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ303に渡される。図8に示す設定入力ダイアログにおいては、801のような1物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
【0080】
ステップ502では、スプーラ302は、受け付けた印刷要求がジョブ開始要求か判定し、もしステップ502でジョブ開始要求であると判断した場合には、ステップ503に進み、スプーラ302は、中間データを一時的に保存するためのスプールファイル303を作成する。続いて、ステップ504では、スプーラ302は、スプールファイルマネージャ304へ中間データ作成処理の進捗を通知し、続くステップ505でスプーラ302のページ数カウンタを1に初期化する。ここで、スプールファイルマネージャ304においては、中間データ作成処理が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル303より読み込み、記憶する。
【0081】
一方、ステップ502において、ジョブ開始要求ではなかったと判断した場合には、ステップ506に進む。
【0082】
ステップ506では、スプーラ302は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップ507に進み、改ページかどうかの判別を行う。もしもステップ507で改ページであると判断した場合には、ステップ508に進み、スプールファイルマネージャ304へ中間データ作成処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。このようにページ描画ファイルは、アプリケーションから出力される論理ページ単位に生成される。
【0083】
ステップ507において、受け付けた印刷要求が改ページではないと判断した場合には、ステップ509に進み、スプーラ302は、ページ描画ファイルへの中間コードの書き出しの準備を行う。
【0084】
次に、ステップ510では、印字要求をスプールファイル303へ格納するため、スプーラ302は、印字要求のDDI関数の中間コードへの変換処理を行う。ステップ511では、スプーラ302は、ステップ510において格納可能な形に変換された印刷要求(中間コード)をスプールファイル303のページ描画ファイルへ書き込む。その後、ステップ501に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップ501からステップ511までの処理を、アプリケーションよりジョブ終了要求(End Doc)を受け取るまで続ける。また、スプーラ302は、同時にプリンタドライバ203からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル303に格納する。一方、ステップ506にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップ512に進み、スプールファイルマネージャ304へ中間データ作成処理の進捗を通知し、処理を終える。
【0085】
図6は、スプールファイルマネージャ304における、スプールファイル303の生成プロセスと以降説明する印刷描画データ生成プロセスの間での制御の詳細をフローチャートで示したものである。
【0086】
ステップ601では、スプールファイルマネージャ304は、スプーラ302あるいはデスプーラ305からの中間データ作成処理の進捗通知を受け付ける。
【0087】
ステップ602では、スプールファイルマネージャ304は、もし進捗通知が前述のステップ504において通知されるスプーラ302からの印刷開始通知であるかどうか判定し、もしそうであればステップ603へ進み、印刷の加工設定をスプールファイル303から読み込み、ジョブの管理を開始する。一方、ステップ602において、スプーラ302からの印刷開始通知でなければステップ604へ進み、スプールファイルマネージャ304は、進捗通知が前述のステップ508において通知されるスプーラ302からの1論理ページの中間データ作成終了通知(改ページ)であるかどうか判定する。ここで1論理ページの中間データ作成終了通知であればステップ605へ進み、この論理ページに対する論理ページ情報を格納する。そして、続くステップ606では、この時点でスプールが終了したn論理ページに対して、1物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップ607へ進み、印刷する1物理ページに対して割り付けれられる論理数から物理ページ番号を決定する。
【0088】
物理ページの計算については、例えば、加工設定が1物理ページに4論理ページを配置するような設定(例えば、4面ハガキに対する4ページ印刷の設定)の場合、第1物理ページは第4論理ページがスプールされた時点で印刷可能となり、第1物理ページとなる。続いて、第2物理ページは第8論理ページがスプールされた時点で印刷可能となる。
【0089】
また、論理ページ数の総数が1物理ページに配置する論理ページ数の倍数でなくても、ステップ512におけるスプール終了通知によって1物理ページに配置する論理ページが決定可能である。
【0090】
そして、ステップ608では、図10に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がジョブ出力用設定ファイル(物理ページ情報を含むファイル)に保存され、物理ページ情報が1物理ページ分追加されたことがデスプーラ305に通知される。その後ステップ601に戻り、次の通知を待つ。本実施例においては、印刷処理の1ページ(Nページ印刷の場合は、論理ページがNページ分)、即ち1物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【0091】
一方、ステップ604において、進捗通知がスプーラ302からの1論理ページの印刷終了通知でなかった場合ステップ609へ進み、スプールファイルマネージャ304は、前述のステップ512において通知されるスプーラ302からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップ606へ進む。一方、ジョブ終了通知でない場合、ステップ610へ進み、スプールファイルマネージャ304は、受け付けた通知がデスプーラ305からの1物理ページの印刷終了通知であるかどうか判定する。ここで、1物理ページの印刷終了通知である場合はステップ611へ進み、加工設定の印刷処理が全て終了したかを判定する。加工設定の印刷処理がすべて終了した場合、ステップ612へ進み、デスプーラ305に印刷終了の通知を行う。
【0092】
一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述の606へ進む。本実施例におけるデスプーラ305は印刷処理を行う単位として1物理ページ数を想定している。また、ステップ608では、1物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、1物理ページ単位で次々と上書きする実装にして、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合には、ステップ608で1物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約することが可能である。
【0093】
ステップ610において、通知がデスプーラ305からの1物理ページの印刷終了通知でないと判断された場合、ステップ613へ進み、スプールファイルマネージャ304は、デスプーラ305からの印刷終了通知かどうかを判定する。通知がデスプーラ305からの印刷終了通知と判定された場合、ステップ614へ進み、スプールファイルマネージャ304は、スプールファイル303の該当するページ描画ファイルの削除を行い処理を終える。ただし、一方、デスプーラ305からの印刷終了通知でなかった場合はステップ615へ進み、その他通常処理を行い、次の通知を待つ。
【0094】
図7は、デスプーラ305における、第一種の描画関数を生成するプロセスの詳細をフローチャートで示したものである。
【0095】
デスプーラ305は、スプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報(ページ描画ファイルおよびジョブ設定ファイル)を読み出して第一種の描画関数を生成する。生成された第一種の描画関数におけるプリンタへの転送方法については図3で説明した通りである。
【0096】
第一種の描画関数の生成では、まず、ステップ701において、前述のスプールファイルマネージャ304からの通知を入力する。続くステップ702では、デスプーラ305は、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップ703へ進み、終了フラグを立て、ステップ705へ進む。一方、ステップ702においてジョブ終了通知でない場合は、ステップ704に進み、前述のステップ608における1物理ページの印刷開始要求が通知されたかどうか判定する。ステップ704において開始要求と判定されなかった場合は、ステップ710へ進み、その他エラー処理を行い、ステップ701へ戻り次の通知を待つ。
【0097】
一方、ステップ704において1物理ページの印刷開始要求と判定された場合は、ステップ705へ進み、デスプーラ305は、ステップ704で通知を受けた印刷処理可能な物理ページのIDを保存する。続くステップ706では、デスプーラ305は、ステップ705で保存した物理ページIDのすべてのページに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの処理が済んでいる場合は、ステップ707へ進み、前述のステップ703で終了フラグが立てられているのか判定する。終了フラグがたっている場合は、ジョブの印刷が終了したとみなし、デスプーラ305の処理終了の通知をスプールファイルマネージャ304に通知し、処理を終える。ステップ707で、終了フラグが立っていないと判定された場合は、ステップ701へ戻り次の通知を待つ。
【0098】
一方、ステップ706で、印刷可能な物理ページが残っていると判定された場合には、ステップ708へ進み、デスプーラ305は、保存された物理ページIDから未処理の物理ページIDを順に読み出し、読み出した物理ページIDに対応する物理ページの描画関数の生成に必要な情報を読み込み、印刷処理を行う。ここでいう印刷処理とは、スプールファイル303に格納された中間データ形式の印刷要求命令をデスプーラ305においてグラフィックエンジン202が認識可能な形式(GDI関数)に変換し、転送する処理に相当する。
【0099】
本実施例のような、複数論理ページを1物理ページにレイアウトするような加工設定(以下Nページ印刷)については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理が終えたならば、続くステップ709において1物理ページの第二種の描画関数の生成終了の通知をスプールファイルマネージャ304に対して行う。そして再びステップ706へ戻り、ステップ705で保存しておいた印刷可能な物理ページIDすべてについて印刷処理を行うまで繰り返す。
【0100】
以上が、ディスパッチャ301、スプーラ302、スプールファイルマネージャ304、デスプーラ305を用いた印刷処理の流れである。上記のように処理することにより、スプーラ302が中間コードを生成してスプールファイル303に格納するタイミングでアプリケーション201が印刷処理から開放されるので、プリンタドライバ203に直接出力するよりも短時間で済む。また、スプールファイル303にプリンタドライバの印刷設定を踏まえた中間ファイル(ページ描画ファイル、ジョブ設定ファイル)として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーションにより生成した印刷ジョブの結合や並び替えが可能となり、印刷設定の変更を行う場合にも、再度アプリケーションを立ち上げて印刷をすることなしにユーザに行わせることを可能とする。
【0101】
ここで、スプーラ302を用いた印刷処理において、デスプーラ305によりグラフィックエンジン202への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
【0102】
図10は、ステップ608において、スプールファイルマネージャ304が生成する印刷可能となった物理ページを構成する情報を保存しているジョブ出力用設定ファイルの例を示す。フィールド1001は、ジョブを識別するためのIDで、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド1002はジョブ設定情報である。ジョブ設定情報には、グラフィックエンジン202に対してジョブの印刷を開始するために必要な構造体、Nページ印刷の指定、ページ枠などの追加描画の指定、部数、ステイプルなどのフィニッシング指定など、1つのジョブに対して1つしか設定できない情報が含まれている。ジョブ設定情報1002には、ジョブに対する機能に応じて必要なだけ情報が保存される。フィールド1003はジョブの物理ページ数で、本フィールド以降、この数の分だけ物理ページ情報が保存されていることを示す。本実施例では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。これ以降、フィールド1004から最後までフィールド1003の数だけ物理ページ情報が格納される。物理ページ情報については図12で説明する。
【0103】
図11は、図10のフィールド1002に図示されたジョブ設定情報の一例である。フィールド1101は全物理ページ数である。フィールド1102は、全論理ページ数である。フィールド1101および1102は、印刷ジョブに対して、ページ数などを付加情報として追加する場合などに利用する。印刷処理が続いている際には、両フィールドは暫定的な値、もしくは、印刷処理(本実施例におけるデスプーラ305の描画関数の生成処理)が終了するまでスプールファイルマネージャ304は印刷可能な物理ページの情報の作成を延期する。フィールド1103は本印刷ジョブを何部印刷するかを指定する部数情報である。フィールド1104は、フィールド1103で複数部印刷する設定の場合、部単位で印刷するかどうかの指定である。フィールド1104はステイプル、パンチ、Z折などのフィニッシング情報で、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド1106は付加印刷情報で、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、ウォーターマーク印刷等、ジョブに対して付加する情報が保存される。機能が増えるに従って本ジョブ設定情報に含まれるフィールドの数も増加し、例えば、両面印刷が可能な場合は、両面印刷の指定を保存するフィールドが追加される。
【0104】
図12は、図10のフィールド1004に図示された物理ページ情報の一例を示す。最初のフィールド1201は物理ページ番号で、印刷順序の管理や、物理ページ番号を追加印刷する際に使用される値である。フィールド1202は物理ページ設定情報で、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド1203は本物理ページに割り付けられる論理ページ数で、1物理ページに4ページを割り付ける場合には4もしくは4ページ印刷を示すIDが保存される。フィールド1204以降はフィールド1203で指定された数だけ論理ページの情報が保存される。アプリケーション201から印刷されたページ数によっては、1203で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応する。
【0105】
図13は、1202の物理ページ設定情報の例である。フィールド1301は物理ページ上への論理ページの配置順で、Nページ印刷で、物理ページ上に論理ページを配置する順番(左上から横へ、左上から下へ等)の指定が保存されている。システムによっては、配置順ではなく、フィールド1204以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することで1301の設定を代用する場合もある。フィールド1302は両面印刷の表・裏の情報で、例えば綴じ代を表裏でそろえる際に使用される。フィールド1303はカラーページかモノクロページかの指定で、プリンタがモノクロモードとカラーモードを持つ場合、カラーページとモノクロページが混在する文書で、カラーページをカラーモードで、モノクロページをモノクロモードで印刷したい場合などに使用される値である。この情報を持つことにより、オートカラーモードとして、ページ単位にカラープリンタで処理を変更することが可能となる。つまり、カラーページは、中間転写体(中間転写ドラム、中間転写ベルト)もしくは転写体(転写ドラム、転写ベルト)がデバイスカラーの数分、YMCKなら4回転し、モノクロページは、ブラックだけ1回転することにより転写制御することを可能とする。フィールド1304は付加印刷情報で、物理ページに対して、ページ数や、日付などの付加情報を印刷する場合に使用される。物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
【0106】
図14は、1204で示された論理ページ情報の一例を示す。フィールド1401は論理ページのIDで、このIDを利用して、スプールファイル303から論理ページに対応するページ描画ファイルの中間コードを参照する。このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても、論理ページを構成する中間コード自身が入っていてもよい。フィールド1402は論理ページ番号で論理ページ番号を付加情報として印刷する場合や、論理ページIDの補助情報に使用される。フィールド1403のフォーマット情報には、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば、論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存する事も可能である。逆に、論理ページ単位で設定を切り替える事や論理ページ単位での属性情報が不要であるようなシステムでは、フィールド1403は不要である。
【0107】
ジョブ出力用設定ファイルは、上記のように構成されている。なお、ジョブ設定ファイルもほぼ同様であり、印刷体裁(片面、両面、製本印刷)、印刷レイアウト(Nup、ポスター印刷)、付加情報(ウォーターマーク、日付、ユーザ名の付加)、部数、用紙サイズ情報がジョブとして有しており、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
【0108】
更に、図3では、これまで説明した拡張システムに加えて、ジョブの設定変更機能を持つ設定変更エディタ307を配した例を示している。本実施例ではジョブの設定内容は、単体ジョブは、ジョブ設定ファイルに、また結合ジョブは、図10に示したジョブ出力用設定ファイル中に含まれており、中間コードを保存しているページ描画ファイル303とは独立しているため、ジョブ出力用設定ファイルを作り変えることでジョブの設定変更が可能である。設定変更エディタ307は単独で、あるいはスプールファイルマネージャ304と連携して、ジョブ出力用設定ファイルを作り変え、あるいは、一部を書き換えることでジョブの設定変更機能を実現している。
【0109】
図15は、設定変更エディタ307におけるジョブ設定変更処理プロセスの詳細をフローチャートで示したものである。
【0110】
まずステップ1501では、設定変更エディタは、ジョブ設定ファイルもしくはジョブ出力用設定ファイルを読み込む。ジョブ出力用設定ファイルはプレビューア305、デスプーラ303が読み込むものと同じファイルである。次に、ステップ1502へ進み、読み込んだ結果を、ユーザに表示する。ステップ1503で、図18に示したようなユーザインターフェイス上で、ユーザとの対話を行い、前述したメニューの指定等により設定内容を変更する。このステップは、対話形式でなく、ファイルなどに書きこまれた設定変更の内容に応じて変更するバッチ形式でもよい。次にステップ1504へ進み、ステップ1501で設定変更エディタは、最初に読み込んだ内容と、現在指定されている設定内容に変更があったかどうかの判定を行う。設定内容に変更が合った場合は、ステップ1505へ進み、新規のジョブ出力用設定ファイルを生成し、変更があったことをスプールファイルマネージャに通知して終了する。
【0111】
ステップ1505で、変更がないと判定された場合は、変更がなかったことをスプールファイルマネージャに通知して終了する。このように新規のジョブ出力用設定ファイルを生成するが、図18のユーザインターフェイス画面において、「OK」ボタンが選択されることにより、新規のジョブ出力用設定ファイルが有効となり、古いジョブ出力用設定ファイルは削除される。また、ジョブ出力用設定ファイルからの変更ではなく、単体ジョブのジョブ設定ファイルの場合は削除せずに保存しておく。また、図18の画面で「初期状態に戻す」ボタンが選択された場合は、新規のジョブ出力用設定ファイルを削除し、古いジョブ出力用設定ファイルが有効となり、表示に反映させる。本実施例では、設定変更エディタ307を別モジュールとして説明しているが、単にスプールファイルマネージャ304のユーザインターフェイスの一部であってもよい。設定変更エディタ307で実際に変更内容をジョブ出力用設定ファイルに書きこまずに、設定変更の内容のみをスプールファイルマネージャ304へと通知するだけで、実際のジョブ出力用設定ファイルの変更はスプールファイルマネージャ304側で行う実装形式でもよい。
【0112】
図3では、更に、複数印刷ジョブを結合し、一つの印刷ジョブとして印刷する拡張システムが図示されているが、結合ジョブをデスプール・プレビューするための拡張について説明する。
【0113】
通常、中間形式のスプールファイル303はジョブ単位で作成される。単独ジョブの場合は、処理対象ジョブファイル中の各論理ページの中間コードを順に読み出して処理を行うので、フィールド1401の論理ページIDは、各論理ページがファイルのどこに位置しているのかを示す相対あるいは絶対オフセットで実現可能である。結合ジョブの場合はフィールド1401のジョブIDから、スプールファイルと、そのジョブに属するページ情報を特定する必要がある。本実施例では、スプールファイルを識別するIDを論理ページIDに付加することで、スプールファイルを特定する方式とする。この場合、主な変更点はフィールド1401のみで済む。スプールファイルが識別できれば、ページ部分の読み込みは単独ジョブの処理と同じロジックで処理することが可能であるからである。また、スプールファイルが各論理ページ毎に別ファイルの形で保存されている場合は、論理ページのファイル名をそのままフィールド1401の論理ページIDとする実装形もある。
【0114】
図19は本発明を特徴付けるNページ印刷機能を実現する部分であるデスプーラ305およびスプールファイルマネージャ304の処理を説明するためのフローチャートを示した図である。これを用い、本発明の処理フローを説明する。
【0115】
前述したように、一連の印刷処理の中で、デスプーラ305は、スプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報(ページ描画ファイルおよびジョブ設定ファイル)を読み出して第二種の描画関数を生成する。ここで、デスプーラ305が印刷処理(GDIに対する描画関数を生成する処理)を開始する前に、スプールファイルマネージャ304における各処理が行われる。
【0116】
まず、スプールファイルマネージャ304は、スプーラ302からの通知(改ページ通知もしくはスプール終了通知)に基づいて印刷要求が可能である場合に、印刷体裁の取得処理(ステップ1901)を行う。これは、スプールファイルマネージャ304が、ジョブ設定ファイルより、現在のジョブ(アプリケーションから印刷要求のあったドキュメントに相当する一覧の描画データ)で所望されている印刷体裁を取得する処理である。ここでは、4ページのデータを1物理ページに並べる印刷体裁(4ページ印刷)が選択されているものとする。なお、この印刷体裁は、前述したようにプリンタドライバのプロパティUI(ユーザインタフェース)を介してユーザにより設定されている設定値である。
【0117】
そして、ステップ1902において、スプールファイルマネージャ304は、取得した印刷体裁の設定情報がNページ印刷の設定であるか否かの判定処理を行う。Nページ印刷であると判断された場合は、ステップ1904に処理を進め、Nページ印刷でないと判断された場合は、ステップ1903に処理を進める。先に示したように、4ページ印刷が選択されていると仮定しているため、ここではNページ印刷であると判定されることになる。
【0118】
ステップ1904では、スプールファイルマネージャ304は、物理用紙に配置する論理ページの配置領域を算出するN等分処理を行う。これは、図21(a)で示されるように、指定されている出力用紙を先に取得したNページ情報に従ってN等分する処理である。ここでは、4ページ印刷が指定してあるので、図21(a)のように4等分される。
【0119】
そしてステップ1905において、スプールファイルマネージャ304は、前記ステップでN等分された用紙の配置領域に対するオフセット処理を行う。これは、先にN等分された各領域に印刷マージンに相当する幅を各領域の四辺から減算し、オフセット処理を行い、各領域の有効印字領域を確定させる処理である。これにより、図21(b)で示されるようにオフセット処理後のN等分された用紙の配置領域が求められる。図21の(b)において、A〜Dは既にページ描画ファイルおよびジョブ設定ファイルより取得している値(印刷マージン)であり、4等分された各領域が同様のオフセット値になるように、つまり、A=A’、B=B’、C=C’、D=D’となるように配置領域が設定される。
【0120】
そしてステップ1906において、スプールファイルマネージャ304は、縮小率の算出処理を行う。これは、先に算出された各配置領域(本実施例では、有効印字領域で四辺を均等化した領域)内にページ描画ファイルから取得された各々のページが収まるように縮小率を算出する処理である。図21(c)で示すように、例えば、E×Fで示される配置領域に対して論理ページG×Hのページ情報を収める場合、E/G、F/Hの小さい方が縮小率として選択され、領域に収まるように配置されるわけである。その際、スプールファイルマネージャ304により、縮小された論理ページが配置領域のそれぞれの辺に対して中心にくるようにセンタリング配置処理が実行される。これにより、全ての領域が設定され、次のステップ1907において、スプールファイルマネージャ304はデスプーラ305に対して描画関数の生成処理を依頼し、デスプーラ305は、スプールファイルマネージャ304により決定された縮小率や配置領域に対して、スプールファイル303から読み出したスプールデータを加工処理し、グラフィックエンジン202が解釈可能な描画関数(GDI関数)を再生成し、デスプーラ305はグラフィックエンジン202に対して再生成した描画関数を出力する。
【0121】
グラフィックエンジン202はデスプーラ305から入力される第一種の描画関数(GDI関数)をプリンタドライバ203が解釈可能な第二種の描画関数(DDI関数)に変換し、ディスパッチャ301に出力する。ディスパッチャ301はグラフィックエンジン202から受け取った描画関数(DDI関数)をプリンタドライバ203に渡す。ここで、前述したようにディスパッチャ301は、描画関数を受けた場合に、グラフィックエンジン202に第一種の描画関数を渡したモジュールがアプリケーション201であるかデスプーラ305であるかを判断し、デスプーラ305であると判断された場合に、第二種の描画関数をプリンタドライバ203に渡すことになる。プリンタドライバ203は、ディスパッチャ301から受け取った第二種の描画関数であるDDI関数に基づいてページ単位にPDLで記述される印刷データを生成し、システムスプーラ204に出力する。システムスプーラ204は、印刷データをプリンタ1500に順次送出する。このように、スプーラ302により描画関数を一度スプールし、デスプーラ305で編集処理して再度グラフィックエンジン202経由でプリンタドライバ203は描画関数を受け取ることにより、Nページ印刷機能やスタンプ機能やページ制御(順序変更、削除など)などの機能をプリンタドライバ203内に組み込む必要がなくなるため、プリンタドライバモジュール203は一般化した共通プリンタドライバとして作成でき、ここの機能拡張はスプールファイルマネージャ304およびデスプーラ305により吸収でき、開発工程が短くて済むという効果も得られる。また、ディスパッチャ301、スプーラ302、スプールファイルマネージャ304、デスプーラ305は、プリンタベンダーにより1つの仮想プリンタドライバとして情報処理装置に組み込まれることになり、プリンタドライバがNページ機能を提供することにもなる。
【0122】
このように処理することにより、物理用紙をN等分した領域に対して中央に論理ページが配置されるNページ印刷機能を情報処理装置に組み込まれるソフトウェアで提供することが可能となる。
【0123】
[第二実施例]
本第一実施例では、物理用紙をN等分した領域に対して中央に論理ページが配置されるNページ印刷機能(以下、物理Nページ印刷と呼ぶ)をプリンタドライバで提供することについて説明した。本第二実施例では、Nページ印刷を行う場合に、物理用紙に対する印刷可能領域に対してNページ分の論理ページを縮小配置するNページ印刷機能(以下、印刷可能領域Nページ印刷と呼ぶ)と物理Nページ印刷のいずれの機能を用いるかを切り替える処理について説明する。
【0124】
この物理Nページ印刷と印刷可能領域Nページ印刷との切替処理について、図20を用いて説明する。
【0125】
前述したように、一連の印刷処理の中で、デスプーラ305は、スプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報(ページ描画ファイルおよびジョブ設定ファイル)を読み出して描画関数を生成する。
【0126】
実施例同様、ステップS2001では、スプールファイルマネージャ304は、印刷体裁の取得処理を行う。これは、ジョブ設定ファイルより、現在処理中の印刷ジョブで所望されている(設定されている)印刷体裁を取得する処理である。
【0127】
そして、ステップ2002において、スプールファイルマネージャ304は、物理Nページ印刷情報(以下、物理Nページ印刷条件とも呼ぶ)の取得処理を行う。本実施例における物理Nページ印刷条件とは、ステップ2001で取得された情報がNページ印刷である場合に、どのNページ印刷を物理Nページ印刷とするかの条件である。例えば、図22(a)のように各フラグを2〜16ページ印刷に割り当て、該当するNページ印刷は前述した物理Nページ印刷を用いて印刷し、該当しないNページ印刷は前述した印刷可能領域Nページ印刷を用いて印刷をするということである。ここでは、4ページ印刷であり、図22(b)のようにフラグが設定されているものとする。この物理Nページ印刷情報は、スプールファイルマネージャ304がプリンタドライバ203から取得するが、プリンタドライバ203は、デバイス(本実施例では、プリンタ1500)から直接取得するものである。これは、図9に示すプリンタドライバのプロパティUIにおいて、「デバイスの設定」シートを開くことにより、図示省略した「デバイス情報の取得」ボタンをユーザが押下する指示をすることをトリガーとして、デバイス情報取得モジュールが起動されて、外部デバイス(本実施例ではプリンタ1500に相当する。また、図示省略したプリントサーバであってもよい。)からデバイス情報を取得する。デバイス情報は、デバイスに装着されているオプションの構成や、本物理Nページ印刷情報を含んでいる。
【0128】
その後、ステップ2003において、スプールファイルマネージャ304は、ステップ2001で取得した情報に基づいて、印刷要求のあった印刷ジョブがNページ印刷であるか否かの判定を行う。Nページ印刷の指定がある場合はステップ2004に処理が進み、Nページ印刷でない通常の印刷である場合はステップ2005に処理が進む。なおここでは、先に示したように4ページ印刷が選択されていると仮定しているため、Nページ印刷であると判定されることになる。
【0129】
そしてステップ2004において、スプールファイルマネージャ304は、現在指定されているNページ印刷が、第一実施例で前述した物理Nページ印刷であるか、印刷可能領域Nページ印刷であるかの判定を行う。この判定処理により物理Nページ印刷であると判定された場合はステップ2006に処理を進め、また、物理Nページ印刷でないと判定された(印刷可能領域Nページ印刷であると判定された)場合はステップ2007に処理を進める。また、この判定処理は、ステップ2002で取得された物理Nページ印刷条件に基づいて、現在指定されているNページ印刷が、物理Nページ印刷であるか、通常のNページ印刷であるかを判定することにより実現する。ここでは、図22(b)のフラグが設定してあると仮定しているので、これは、4ページ印刷は物理Nページ印刷を行うという意味である。所望するNページ印刷は、4ページ印刷であるので、ステップ2006に処理を進め、前述した第一実施例と同様のフローにより、4ページの物理Nページ印刷が行われることとなる。
【0130】
すなわち、ステップ2006では、スプールファイルマネージャ304は、物理用紙に配置する論理ページの配置領域を算出するN等分処理を行う。これは、図21(a)で示されるように、指定されている出力用紙を先に取得したNページ情報に従ってN等分する処理である。ここでは、4ページ印刷が指定してあるので、図21(a)のように4等分される。
【0131】
そしてステップ2008において、スプールファイルマネージャ304は、前記ステップ2006でN等分された用紙の配置領域に対するオフセット処理を行う。これは、先にN等分された各領域に印刷マージンに相当する幅を各領域の四辺から減算し、オフセット処理を行い、各領域の有効印字領域を確定させる処理である。
【0132】
そしてステップ2009において、スプールファイルマネージャ304は、縮小率の算出処理を行う。これは、先に算出された各配置領域(本実施例では、有効印字領域で四辺を均等化した領域)内にページ描画ファイルから取得された各々のページが収まるように縮小率を算出する処理である。これにより、全ての領域が設定され、次のステップ2010において、スプールファイルマネージャ304はデスプーラ305に対して描画関数の生成処理を依頼し、デスプーラ305は、スプールファイルマネージャ304により決定された縮小率や配置領域に対して、スプールファイル303から読み出したスプールデータを加工処理し、グラフィックエンジン202が解釈可能な描画関数(GDI関数)を再生成し、デスプーラ305はグラフィックエンジン202に対して再生成した描画関数を出力する。
【0133】
また、ステップ2004の判定処理で物理Nページ印刷でないと判定された場合は、ステップ2007において、スプールファイルマネージャ304は、通常のNページ印刷である印刷可能領域Nページ印刷処理を行うよう設定し、デスプーラ305に描画関数の生成依頼を行うことになる。
【0134】
このように処理することにより、物理用紙をN等分した領域のそれぞれに対して中央に論理ページが配置される物理Nページ印刷機能と、物理用紙に対する印刷可能領域をN等分した領域に対してNページ分の論理ページを縮小配置する印刷可能領域Nページ印刷機能とで、いずれの機能を用いるかを切り替えて印刷処理するモジュールを、情報処理装置に組み込まれるソフトウェアで提供することが可能となる。
【0135】
なお、本第二実施例では、ステップ2002で取得される物理Nページ印刷条件を、あるNページ印刷にのみ適用したが、図22(a)それぞれのNページ印刷に対してフラグを用意しているので、例えば、図22(c)のフラグのように設定することにより、6ページ印刷と4ページ印刷に対して、物理Nページ印刷を行い、残りのNページ印刷に対しては、印刷可能領域Nページ印刷を設定することも可能である。
【0136】
また、ステップ2004の判定処理は、本第二実施例では、ステップ2002で取得される予め設定されている物理Nページ印刷条件に基づいて判定したが、この物理Nページ印刷条件は、「どのNページ印刷を物理Nページ印刷とする」ことを示す条件に限る必要はない。例えば、図8に示されるプリンタドライバの印刷設定のプロパティUIにおいて、出力用紙サイズで「4面ハガキ」という出力用紙を用意し、この用紙が選択された場合に物理Nページ印刷機能で印刷レイアウトを4ページ印刷に設定することも可能である。この場合、ステップ2004において、出力用紙サイズを物理Nページ印刷条件として、出力用紙サイズが「4面ハガキ」になっているかを判定し、「4面ハガキ」になっている場合は物理Nページ印刷を行い、それ以外の出力用紙である場合は、印刷可能領域Nページ印刷を行うよう制御してもよい。
【0137】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
【0138】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【0139】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。本発明の印刷制御プログラムは、スプーラ302、スプールファイルマネージャ304、デスプーラ305およびプリンタドライバ302の各モジュールを含んでおり、各モジュールが本発明の特徴構成になる各工程(前述したフローチャートにおける工程)を実現することになる。
【0140】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、VDVなどを用いることができる。
【0141】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0142】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0143】
【発明の効果】
以上説明したように、本発明によれば、物理用紙を基準にしたNページ印刷機能を情報処理装置または情報処理装置に組み込まれる印刷制御プログラムの機能として提供することが可能となる。
【0144】
また、物理用紙を基準にしたNページ印刷機能と印刷可能領域をN等分した領域を基準としてNページ印刷機能とを併用して、適宜切り替えることが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す印刷制御装置の構成を説明するブロック図である。
【図2】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図3】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦中間コードスプールするプリントシステムの構成を示すブロック図である。
【図4】本発明におけるプリンタについて説明した図である。
【図5】スプーラ302における処理を示したフローチャートである。
【図6】スプールファイルマネージャ304における印刷制御について示したフローチャートである。
【図7】デスプーラ305における処理を示したフローチャートである。
【図8】印刷設定画面の一例である。
【図9】印刷スプール設定画面の一例である。
【図10】ジョブ出力用設定ファイルの一例である。
【図11】ジョブ出力用設定ファイルにおけるジョブ設定情報の一例である。
【図12】ジョブ出力用設定ファイルにおける物理ページ情報の一例である。
【図13】物理ページ情報における物理ページ設定情報の一例である。
【図14】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図15】設定変更エディタ307における設定変更処理について示したフローチャートである。
【図16】スプールファイルマネージャ304でスプールされている印刷ジョブ一覧を表示する画面の一例である。
【図17】プレビューア306の画面の一例である。
【図18】設定変更エディタ307の画面の一例である。
【図19】本発明を特徴付ける処理フローの一例である。
【図20】本発明を特徴付ける処理フローの一例である。
【図21】本発明の実施例を説明した図である。
【図22】本発明の実施例を説明した図である。
【符号の説明】
1 CPU
2 RAM
3 ROM
4 システムバス
12 CPU
13 ROM
19 RAM
3000 ホストコンピュータ
1500 プリンタ
Claims (12)
- アプリケーションから入力される複数ページの描画データを用いて、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備える情報処理装置であって、
Nページ(N>1、Nは整数)の描画データを1枚の印刷用紙に印刷するためのNページ印刷の指定を入力する入力手段と、
物理用紙をN等分した領域のそれぞれに対して中央に各ページの描画データを縮小配置する物理Nページ印刷配置手段と、
物理用紙に対する印刷可能領域をN等分した領域に対して各ページの描画データを縮小配置する印刷可能領域Nページ印刷配置手段と、
前記入力手段によりNページ印刷の指定が入力される場合に、前記物理Nページ印刷配置手段と前記印刷可能領域Nページ印刷配置手段とのいずれを用いて配置処理するかを判定する判定手段と、
前記判定手段により判定された前記物理Nページ印刷配置手段もしくは前記印刷可能領域Nページ印刷配置手段を用いて縮小配置された印刷データを生成する生成手段と、
を有することを特徴とする情報処理装置。 - 物理Nページ印刷条件を取得する条件取得手段を更に有し、
前記判定手段は、前記条件取得手段により取得される物理Nページ印刷条件に基づいて、前記物理Nページ印刷配置手段と前記印刷可能領域Nページ印刷配置手段とのいずれを用いて配置処理するかを判定することを特徴とする請求項1記載の情報処理装置。 - 前記物理Nページ印刷条件は、複数のNページ印刷の中でいずれのNページ印刷を物理Nページ印刷をするかを示す情報であることを特徴とする請求項2記載の情報処理装置。
- 前記物理Nページ印刷条件は、印刷された用紙をN枚に切り取ることを前提とする所定の出力用紙情報であり、前記判定手段は、当該所定の出力用紙情報が指定されている場合に物理Nページ印刷配置手段を用いることを決定することを特徴とする請求項2記載の情報処理装置。
- アプリケーションから入力される複数ページの描画データを用いて、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備える情報処理装置における印刷制御方法であって、
Nページ(N>1、Nは整数)の描画データを1枚の印刷用紙に印刷するためのNページ印刷の指定を入力する入力工程と、
物理用紙をN等分した領域のそれぞれに対して中央に各ページの描画データを縮小配置する物理Nページ印刷配置工程と、
物理用紙に対する印刷可能領域をN等分した領域に対して各ページの描画データを縮小配置する印刷可能領域Nページ印刷配置工程と、
前記入力工程でNページ印刷の指定が入力される場合に、前記物理Nページ印刷配置工程と前記印刷可能領域Nページ印刷配置工程とのいずれを用いて配置処理するかを判定する判定工程と、
前記判定工程で判定された前記物理Nページ印刷配置工程もしくは前記印刷可能領域Nページ印刷配置工程を用いて縮小配置された印刷データを生成する生成工程と、
を含むことを特徴とする印刷制御方法。 - 物理Nページ印刷条件を取得する条件取得工程を更に含み、
前記判定工程は、前記条件取得工程で取得される物理Nページ印刷条件に基づいて、前記物理Nページ印刷配置工程と前記印刷可能領域Nページ印刷配置工程とのいずれを用いて配置処理するかを判定することを特徴とする請求項5記載の印刷制御方法。 - 前記物理Nページ印刷条件は、複数のNページ印刷の中でいずれのNページ印刷を物理Nページ印刷をするかを示す情報であることを特徴とする請求項6記載の印刷制御方法。
- 前記物理Nページ印刷条件は、印刷された用紙をN枚に切り取ること を前提とする所定の出力用紙情報であり、前記判定工程は、当該所定の出力用紙情報が指定されている場合に物理Nページ印刷配置工程を用いることを決定することを特徴とする請求項6記載の印刷制御方法。
- アプリケーションから入力される複数ページの描画データを用いて、印刷装置で印刷すべき印刷データを生成するための情報処理装置で読み取り実行される印刷制御プログラムを格納した記憶媒体であって、
Nページ(N>1、Nは整数)の描画データを1枚の印刷用紙に印刷するためのNページ印刷の指定を入力する入力工程と、
物理用紙をN等分した領域のそれぞれに対して中央に各ページの描画データを縮小配置する物理Nページ印刷配置工程と、
物理用紙に対する印刷可能領域をN等分した領域に対して各ページの描画データを縮小配置する印刷可能領域Nページ印刷配置工程と、
前記入力工程でNページ印刷の指定が入力される場合に、前記物理Nページ印刷配置工程と前記印刷可能領域Nページ印刷配置工程とのいずれを用いて配置処理するかを判定する判定工程と、
前記判定工程で判定された前記物理Nページ印刷配置工程もしくは前記印刷可能領域Nページ印刷配置工程を用いて縮小配置された印刷データを生成する生成工程と、
を含むことを特徴とするコンピュータ読み取り可能な印刷制御プログラムを格納した記憶媒体。 - 前記印刷制御プログラムは、物理Nページ印刷条件を取得する条件取得工程を更に含み、
前記判定工程は、前記条件取得工程で取得される物理Nページ印刷条件に基づいて、前記物理Nページ印刷配置工程と前記印刷可能領域Nページ印刷配置工程とのいずれを用いて配置処理するかを判定することを特徴とする請求項9記載の記憶媒体。 - 前記物理Nページ印刷条件は、複数のNページ印刷の中でいずれのNページ印刷を物理Nページ印刷をするかを示す情報であることを特徴とする請求項10記載の記憶媒体。
- 前記物理Nページ印刷条件は、印刷された用紙をN枚に切り取ることを前提とする所定の出力用紙情報であり、前記判定工程は、当該所定の出力用紙情報が指定されている場合に物理Nページ印刷配置工程を用いることを決定することを特徴とする請求項10記載の記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000371544A JP3733288B2 (ja) | 2000-12-06 | 2000-12-06 | 情報処理装置および印刷制御方法および記憶媒体 |
US09/994,723 US7304764B2 (en) | 2000-12-06 | 2001-11-28 | Information processing apparatus, printing control method, and storage medium product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000371544A JP3733288B2 (ja) | 2000-12-06 | 2000-12-06 | 情報処理装置および印刷制御方法および記憶媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002175165A JP2002175165A (ja) | 2002-06-21 |
JP2002175165A5 JP2002175165A5 (ja) | 2005-10-27 |
JP3733288B2 true JP3733288B2 (ja) | 2006-01-11 |
Family
ID=18841250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000371544A Expired - Fee Related JP3733288B2 (ja) | 2000-12-06 | 2000-12-06 | 情報処理装置および印刷制御方法および記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7304764B2 (ja) |
JP (1) | JP3733288B2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3937666B2 (ja) * | 1999-11-02 | 2007-06-27 | キヤノン株式会社 | 印刷制御方法および装置 |
JP4027102B2 (ja) * | 2002-01-31 | 2007-12-26 | キヤノン株式会社 | 情報処理装置、情報処理方法、及び制御プログラム |
JP4175625B2 (ja) * | 2003-03-25 | 2008-11-05 | 大日本スクリーン製造株式会社 | 印刷プレビューのための装置および方法 |
AU2003902362A0 (en) * | 2003-05-14 | 2003-05-29 | Outback Software Pty Limited | Arranging components on a sheet |
JP4490188B2 (ja) * | 2003-07-31 | 2010-06-23 | 株式会社リコー | 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体 |
JP2005165466A (ja) * | 2003-11-28 | 2005-06-23 | Canon Inc | 印刷制御装置、印刷制御方法およびコンピュータプログラム |
JP4332461B2 (ja) * | 2004-04-16 | 2009-09-16 | キヤノン株式会社 | 画像処理装置および方法 |
JP2006031614A (ja) * | 2004-07-21 | 2006-02-02 | Brother Ind Ltd | 画像形成システム |
US7636921B2 (en) * | 2004-09-01 | 2009-12-22 | Ati Technologies Inc. | Software and methods for previewing parameter changes for a graphics display driver |
JP3961527B2 (ja) * | 2004-11-08 | 2007-08-22 | 京セラミタ株式会社 | 画像形成装置 |
US7880913B2 (en) * | 2005-12-13 | 2011-02-01 | Infoprint Solutions Company, Llc | Methods and systems for segmenting logical pages into work units for processing on multiple compute systems |
US20080079286A1 (en) * | 2006-09-29 | 2008-04-03 | Sharp Laboratories Of America, Inc. | Systems and methods for remotely configuring a remote interface to an imaging device |
JP4829768B2 (ja) * | 2006-12-19 | 2011-12-07 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、画像形成装置を管理する管理装置、及び画像形成装置を管理する管理装置の制御方法 |
US8456690B2 (en) * | 2006-12-21 | 2013-06-04 | Xerox Corporation | Imposition enhancements for automatic document printing |
JP2009260903A (ja) * | 2008-03-18 | 2009-11-05 | Ricoh Co Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
KR101296681B1 (ko) * | 2008-09-24 | 2013-08-16 | 삼성전자주식회사 | 영상 처리 방법 및 이를 이용한 화상형성장치 |
JP5448517B2 (ja) * | 2009-03-26 | 2014-03-19 | キヤノン株式会社 | 情報処理方法、情報処理装置、およびプログラム |
JP6545246B2 (ja) * | 2013-06-26 | 2019-07-17 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、およびプログラム |
JP6270455B2 (ja) * | 2013-06-26 | 2018-01-31 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、およびプログラム |
JP5655909B2 (ja) * | 2013-08-07 | 2015-01-21 | 株式会社リコー | 方法および情報処理装置 |
US9207891B1 (en) * | 2014-09-30 | 2015-12-08 | Ricoh Company, Ltd. | Hidden information at flush pattern locations for print jobs |
JP6516439B2 (ja) * | 2014-10-30 | 2019-05-22 | キヤノン株式会社 | 印刷制御装置、印刷制御方法及びプログラム |
JP7025241B2 (ja) | 2018-02-22 | 2022-02-24 | 株式会社Screenホールディングス | 印刷データ生成装置、印刷データ生成方法、および印刷データ生成プログラム |
JP7025240B2 (ja) | 2018-02-22 | 2022-02-24 | 株式会社Screenホールディングス | 印刷データ生成装置、印刷データ生成方法、および印刷データ生成プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495561A (en) * | 1993-06-21 | 1996-02-27 | Taligent, Inc. | Operating system with object-oriented printing interface |
JP3630943B2 (ja) | 1997-02-07 | 2005-03-23 | キヤノン株式会社 | 情報処理装置および印刷制御方法および印刷制御システムおよび印刷制御プログラムを格納した記憶媒体 |
JPH11119955A (ja) * | 1997-10-17 | 1999-04-30 | Minolta Co Ltd | 印刷処理装置 |
-
2000
- 2000-12-06 JP JP2000371544A patent/JP3733288B2/ja not_active Expired - Fee Related
-
2001
- 2001-11-28 US US09/994,723 patent/US7304764B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002175165A (ja) | 2002-06-21 |
US20020067508A1 (en) | 2002-06-06 |
US7304764B2 (en) | 2007-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4298146B2 (ja) | 印刷データを生成する情報処理装置及び方法 | |
JP3619087B2 (ja) | 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
JP4834256B2 (ja) | 情報処理装置および印刷データ生成方法および印刷制御プログラムおよび記憶媒体 | |
JP3634695B2 (ja) | 印刷制御方法および装置 | |
JP3733288B2 (ja) | 情報処理装置および印刷制御方法および記憶媒体 | |
JP3689662B2 (ja) | 情報処理装置及びその表示方法 | |
JP3679660B2 (ja) | 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体 | |
JP3937666B2 (ja) | 印刷制御方法および装置 | |
JP4328426B2 (ja) | 印刷制御方法および装置 | |
US20140168706A1 (en) | Print control method and apparatus | |
US7911640B2 (en) | Information processing apparatus, printing data generation method, and printing control program | |
JP3880307B2 (ja) | 情報処理装置および方法 | |
JP4777475B2 (ja) | 情報処理装置、制御方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
JP3631068B2 (ja) | 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
US7362465B2 (en) | Information processing apparatus and control method therefor | |
JP3673684B2 (ja) | 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
JP2001130115A (ja) | 印刷制御方法および装置 | |
JP2004157610A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050905 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051017 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |