JP3854876B2 - 情報処理装置及びその印刷制御方法並びに記憶媒体 - Google Patents

情報処理装置及びその印刷制御方法並びに記憶媒体 Download PDF

Info

Publication number
JP3854876B2
JP3854876B2 JP2002039038A JP2002039038A JP3854876B2 JP 3854876 B2 JP3854876 B2 JP 3854876B2 JP 2002039038 A JP2002039038 A JP 2002039038A JP 2002039038 A JP2002039038 A JP 2002039038A JP 3854876 B2 JP3854876 B2 JP 3854876B2
Authority
JP
Japan
Prior art keywords
page
paper
data
printing
print
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
Application number
JP2002039038A
Other languages
English (en)
Other versions
JP2002333971A (ja
Inventor
安生 森
智 西川
孝治 中桐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002039038A priority Critical patent/JP3854876B2/ja
Priority to US10/090,837 priority patent/US7525682B2/en
Publication of JP2002333971A publication Critical patent/JP2002333971A/ja
Application granted granted Critical
Publication of JP3854876B2 publication Critical patent/JP3854876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition
    • G06F3/1252Page layout or assigning input pages onto output media, e.g. imposition for sheet based media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs

Description

【0001】
【発明の属する技術分野】
本発明は、プリンタが印刷可能な印刷データを生成する情報処理装置及びその印刷制御方法並びに記憶媒体に関するものである。
【0002】
【従来の技術】
従来、はがきに印刷を行う場合、一枚ずつ印刷する方法が一般的である。この場合、多くのワードプロセッサや、いわゆる宛名書きソフトウェアが官製はがきに合わせたレイアウトをサポートしており、郵便番号などを予め印刷されている枠に対してぴったりと配置することが可能である。
【0003】
また、4枚のはがきを2×2の形で並べた状態を1枚の用紙とする4面はがき(4連はがきとも呼ばれる)というものがある。
【0004】
このような4面はがきは、従来の紙サイズが小さすぎるという理由ではがきを使用できなかったプリンタでも使用可能であり、プリントスピードや枚数で課金されるプリンタで4分の1の課金量で済む、という経済的な理由からサポートが望まれている。
【0005】
【発明が解決しようとする課題】
しかしながら、この4面はがきで、4つのはがきの枠に対して全てぴったりと配置できるようなレイアウト方式を提供するには、表面(宛名)と裏面(本文)が対応するように配置順を制御する必要があり、宛名と本文が一致せず、別人用のデータを使用してしまうという問題がある。
【0006】
また、4つの面を使い切らなかった場合、残りの面が無駄になるという問題がある。特に、官製4面はがきの場合、紙が無駄になるだけでなく切手代が無駄になってしまう。
【0007】
また、4面はがきの場合、レイアウトは固定であり、例えば綴じ代や拡縮などの設定が残っていた場合、印刷ミスに直結するという問題がある。
【0008】
更に、4面はがきは特別な用紙であり、セキュリティや課金の管理を行う必要がある。
【0009】
本発明は、上記課題を解決するためになされたもので、用紙の面を複数の領域に分割し、分割された各領域に対して表面と裏面とを対応させて印刷データを配置可能な情報処理装置及びその印刷制御方法並びに記憶媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明は、用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する情報処理装置であって、印刷の設定を行う印刷設定手段と、アプリケーションから表面と裏面とで1組となる複数組のデータを入力する入力手段と、面付け処理すべき面が表面か裏面かを判定する判定手段と、前記用紙を前記複数の領域毎に分割した際に前記1組中の表面と裏面とが対応するように、前記判定手段により判定された面付け処理すべき面のページ配置順を設定する配置順設定手段と、設定されたページ配置順に基づき、表面に相当するページのデータをまとめて同一面に配置し、裏面に相当するページのデータをまとめて同一面に配置することで面付け処理を行う面付け処理手段とを有し、前記配置順設定手段は、表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順を決定することを特徴とする。
【0011】
また、上記目的を達成するために、本発明は、用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する情報処理装置の印刷制御方法であって、印刷の設定を行う印刷設定工程と、アプリケーションから表面と裏面とで1組となる複数組のデータを入力する入力工程と、面付け処理すべき面が表面か裏面かを判定する判定工程と、前記用紙を前記複数の領域毎に分割した際に前記1組中の表面と裏面とが対応するように、前記判定工程で判定された面付け処理すべき面のページ配置順を設定する配置順設定工程と、設定されたページ配置順に基づき、表面に相当するページのデータをまとめて同一面に配置し、裏面に相当するページのデータをまとめて同一面に配置することで面付け処理を行う面付け処理工程とを有し、前記配置順設定工程では、表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順を決定することを特徴とする。
【0012】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【0013】
まず、本実施形態を説明する前に、本発明を適用可能なプリンタとプリンタに接続されたパーソナルコンピュータ等の情報処理装置とからなるシステム、特に情報処理装置上で、プリンタに送信する印刷データを生成する前に、一旦、最終的にプリンタに送付する印刷データとは異なる形式のデータ形式(いわゆる中間コード)での一時保存を行うスプール手段としてのスプーラと、この中間コード形式で一時保存されたデータから改めて最終的にプリンタに送付する印刷データを生成するデスプール手段としてのデスプーラと、プリンタ制御コマンドを生成する手段としてのプリンタドライバとを備える印刷システムの構成について説明する。
【0014】
図1は、本実施形態におけるプリンタ制御システムの構成を示すブロック図である。図示するように、プリンタ制御システムは、ホストコンピュータ3000とプリンタ1500とで構成される。
【0015】
尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
【0016】
図1に示すホストコンピュータ3000は、ROM3内のプログラム用ROMや外部メモリ(HD,FD)11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。また、このROM3内のプログラム用ROMや外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステム(以下「OS」)等が記憶され、ROM3内のフォント用ROMや外部メモリ11には、文書処理の際に使用するフォントデータ等が記憶され、ROM3内のデータ用ROMや外部メモリ11には、文書処理等を行う際に使用する各種データが記憶されている。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
【0017】
また、ホストコンピュータ3000において、5はキーボードコントローラ(KBC)であり、キーボード9や不図示のポインティング・デバイスからの入力を制御する。6はCRTコントローラ(CRTC)であり、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)であり、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下「プリンタドライバ」)等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11へのアクセスを制御する。8はプリンタコントローラ(PRTC)であり、双方向性インターフェース(インターフェース)21を介して接続されたプリンタ1500との通信制御処理を実行する。
【0018】
尚、CPU1は、例えばRAM2上に設定されている表示情報領域へのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。これにより、ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行えるものである。
【0019】
一方、プリンタ1500において、12はプリンタCPUであり、ROM13内のプログラム用ROMに記憶された制御プログラム等や外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13内のプログラムROMには、CPU12の制御プログラム等が記憶され、ROM13内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶され、ROM13内のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【0020】
また、CPU12は、入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ1500内の情報等をホストコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【0021】
尚、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。上述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル1501は操作のためのスイッチ及びLED表示器等で構成されている。
【0022】
また、上述の外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしても良い。
【0023】
次に、プリンタ等の印刷装置が直接接続されているか、或いはネットワークを介して接続されているホストコンピュータにおいて実行される典型的な印刷処理について説明する。
【0024】
図2は、ホストコンピュータ3000において実行される印刷処理を示す図である。図中のアプリケーション201、グラフィックエンジン202、プリンタドライバ203、及びシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在し、実行に際しOSやそのモジュールを利用するモジュールによってRAM2にロードされ、実行されるプログラムモジュールである。またアプリケーション201及びプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM或いは不図示のネットワークを介して外部ディスク11のHDに追加することも可能である。
【0025】
まず、外部メモリ11に保存されているアプリケーション201がRAM2にロードされて実行される。このアプリケーション201からプリンタ1500に対して印刷を行う旨、キーボード9や不図示のマウスにより指示されると、同様にRAM2にロードされて実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
【0026】
ここで、グラフィックエンジン202は印刷装置毎に用意されているプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取るGDI(Graphic Device Interface)関数に基づきDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。
【0027】
これにより、プリンタドライバ203はグラフィックエンジン202から受け取ったDDI関数に基づきプリンタ1500が認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。そして、変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204に渡され、インタフェース21経由でプリンタ1500へ印刷データとして出力される。
【0028】
次に、本実施形態における印刷システムについて説明する。本実施形態では、図2に示すプリンタとホストコンピュータからなる印刷システムに加えて、更に図3に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有するものである。
【0029】
図3は、図2に示すシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル303を生成する構成をとるものである。
【0030】
図2に示すシステムでは、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドへ変換し終わった時点である。
【0031】
これに対し、図3に示すシステムでは、スプーラ302がすべての印刷命令を中間コードのデータに変換し、スプールファイル303に出力した時点である。つまり、図3に示すシステムによれば、アプリケーション201が短時間で印刷処理から開放される。また、図3に示すシステムにおいては、スプールファイル303の内容に対して加工することもできる。従って、アプリケーション201からの印刷データに対して拡大縮小や複数ページを1ページに縮小して印刷する等、アプリケーションが提供していない機能を実現することができる。
【0032】
このように、図2に示すシステムに対し、図3に示すシステムは、中間コードのデータでスプールするようにシステムの拡張がなされている。尚、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM2上に或いは外部メモリ11上に保管する。
【0033】
次に、図3に示すシステムの印刷処理について詳細に説明する。図示するように、この拡張された処理方式では、グラフィックエンジン202からの印刷命令であるDDI関数をディスパッチャ301が受け取る。ここで、ディスパッチャ301はグラフィックエンジン202から受け取った印刷命令(DDI関数)がアプリケーション201からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなく、そのスプーラ302へ印刷命令(DDI関数)を送付する。
【0034】
スプーラ302では受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル303に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定(製本印刷、Nup、両面、ステイプル、カラー/モノクロ等)をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル303に保存する。この時ジョブ単位に格納されている設定ファイルをジョブ設定ファイル(簡略してSDF:Spool Description File)と呼ぶ。このジョブ設定ファイルについては更に後述する。
【0035】
尚、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成しても構わない。更にスプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、そのスプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【0036】
ここで、スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した場合には、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、そのデスプーラ305に対し、スプールファイル303に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。これにより、デスプーラ305は、スプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、再度グラフィックエンジン202経由でGDI関数を出力する。
【0037】
一方、グラフィックエンジン202から受け取った印刷命令(DDI関数)がデスプーラ305からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。これにより、プリンタドライバ203はグラフィックエンジン202から取得したDDI関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
【0038】
更に、図3では、これまで説明した拡張システムに加え、プレビューア306及び設定変更エディタ307を配し、プレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。
【0039】
ここで、印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図9に示すプリンタドライバのプロパティ画面において「出力先の指定」を行う手段であるプルダウンメニューにより「ストア」を指定する必要がある。尚、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
【0040】
このように、プリンタドライバのプロパティで設定されている内容は設定ファイルとしてOSが提供する構造体(例えば、WindowsOSではDEVMODEと呼ばれる)に格納される。その構造体には、例えばスプールファイル303に含まれる加工設定中にスプールファイルマネージャ304にストアを行うかどうかの設定が含まれており、スプールファイルマネージャ304がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、上述したようにスプールファイル303にページ描画ファイルとジョブ設定ファイルとが生成されて格納される。そして、図16に示すようにスプールファイルマネージャのウインドウ画面がポップアップされ、スプールファイル303にスプールされたジョブがリスト表示される。
【0041】
図16は、4つのジョブがスプールされている例を示しており、メニューバー1601或いは、そのすぐ下のメニューアイコン1602を押下することにより、ジョブの操作を行うことができる。メニューバー1601とメニューアイコン1602の操作の数は同じである。この操作の種類としては、ジョブを選択した状態で「印刷」、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」、中間コードのスプールファイルを削除する「削除」、中間コードのスプールファイルのコピーを生成する「複製」、複数の中間コードのスプールファイルのジョブを結合して1つのジョブにする「結合」、結合ジョブを元の複数のジョブに分割する「分割」、単体ジョブもしくは結合ジョブの印刷設定(レイアウト設定やフィニッシング設定等)を変更する「ジョブ編集」、所望のジョブの印刷順序を最初にする「先頭に移動」、所望のジョブの印刷順序を1つ早くする「1つ上に移動」、所望のジョブの印刷順序を1つ遅くする「1つ下に移動」、所望のジョブの印刷順序を最後にする「最後に移動」の以上、11個の操作がある。
【0042】
図16に示すスプールファイルマネージャのウインドウ画面上で、単体ジョブもしくは結合ジョブのプレビューが指定された場合、外部メモリ11に格納されているプレビューア306をRAM2にロードし、プレビューア306に対して、スプールファイル303に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【0043】
プレビューア306はスプールファイル303に含まれる中間コードのページ描画ファイル(PDF)を順次読み出し、スプールファイル303に格納されているジョブ設定ファイル(SDF)に含まれる加工設定情報の内容に従って加工し、グラフィックエンジン202に対してGDI関数を出力する。そして、グラフィックエンジン202が自身のクライアント領域に描画データを出力することにより、画面上の出力が可能となる。
【0044】
また、グラフィックエンジン202は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア306はデスプーラ305と同様に、スプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、グラフィックエンジン202を利用して出力する方法で実現可能となる。
【0045】
このように、プリンタドライバ203で設定されている加工設定をジョブ設定ファイルとしてスプールファイル303に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力することにより、実際の描画データがどのように印刷されるか、更には、Nup(Nページの論理ページを1ページの物理ページに縮小配置して印刷する処理)が指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに最も近い印刷プレビューをユーザに提供することができる。
【0046】
尚、従来の文書作成等のアプリケーションソフトウェアが提供するプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバ203での印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。
【0047】
上述のようにプレビュー処理を行うことにより、図17に示すようにスプールファイル303に含まれる印刷の加工設定の大プレビューがプレビューア306によって画面上に表示され、その後、ユーザの非表示指示により、プレビューア306がクローズされ、図16に示すスプールファイルマネージャのウインドウ画面に制御が移行する。
【0048】
ここで、ユーザがプレビューア306によって表示された内容に従って印刷を行うならば、スプールファイルマネージャ304のウインドウ画面上で「印刷」もしくは「セーブして印刷」を指示することにより印刷要求を発行する。これにより、デスプーラ305がジョブ設定ファイルに基づいてページ描画ファイルを加工してGDI関数を生成し、印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301を介してプリンタドライバ203に印刷命令が送られて印刷が実行される。
【0049】
次に、設定変更エディタ307を用いた設定変更について説明する。この実現方法としては、プレビューと同様、図9において「ストア」指定されたジョブに関して設定可能である。同様の処理によりスプールファイルマネージャ304のウインドウ画面がポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャ304のウインドウ画面上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ11に格納されている設定変更エディタ307をRAM2にロードし、設定変更エディタ307に対して現在又はデフォルトの加工設定の表示を行うように指示する。そして、図18に示すようなジョブ設定画面が表示される。
【0050】
この設定変更エディタ307は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルをスプールファイル303から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいて図18に示すジョブ設定画面のデフォルト値を変更する。図18に示す例では、「ジョブ編集」が指定されたジョブのジョブ設定ファイルには、部数:1部、印刷方法:片面、ステイプル:なし、レイアウト:1ページ/枚等が指定されている。
【0051】
この設定変更エディタ307もスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン202を用いて自身のクライアント領域に出力することにより、図18に示す画面上に小プレビュー出力が可能となる。
【0052】
またここで、スプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインターフェースに持っていても、プリンタドライバ203自身のユーザインターフェースを呼び出しても構わない。
【0053】
図18に示すように、部数、印刷方法(片面、両目、製本印刷)、ステイプル(サドルフィニッシャー等)、ページレイアウト、配置順等の指定ができ、また「詳細設定」を押下することにより、プリンタドライバで指定できる項目の大半を設定しなおすことが可能となる。但し、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
【0054】
ここで変更された変更項目は、設定変更エディタ307上の認証要求に従って変更が認証され、制御がスプールファイルマネージャ304に移行する。また、変更が認証されたものは印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は、図10以降で後述する。
【0055】
そして、ユーザがプレビューア306で同様に確認し、設定変更内容に従って印刷を行うならば、スプールファイルマネージャ304上で印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301を介してプリンタドライバ203に印刷命令が送られて印刷が実行される。
【0056】
また、図16に示すスプールファイルマネージャ304のウインドウ画面では、複数の印刷ジョブを結合し、一つの印刷ジョブとして印刷するように指定することが可能である。これも、プレビュー、設定変更と同様に、図9に示したプリンタドライバのプロパティにおいて出力先を「ストア」指定されたジョブが前提となる。
【0057】
次に、ユーザが印刷ジョブの結合を行う場合、まず、アプリケーション201からプリンタドライバ203を呼び出し、図9に示すようなユーザインターフェース上からストアを選択する。上述した場合と同様、この選択により、スプールファイル303にストアされ、図16に示すようにスプールファイルマネージャ304のウインドウ画面がポップアップされる。そして、スプールされたジョブがスプールファイルマネージャ304のウインドウ画面上にリスト表示される。また、アプリケーション201から同様の操作をすることにより、スプールファイルマネージャ304上に複数ジョブのリスト表示がされることになる。
【0058】
ここで、複数ジョブを選択し、「結合」が指定された場合、外部メモリ11に格納されている設定変更エディタ307をRAM2にロードし、設定変更エディタ307に対してリスト上の先頭ジョブ又はデフォルトの加工設定の表示を行うように指示する。そして、図18に示すような結合設定画面が表示される。尚、設定変更エディタ307のジョブ設定画面を結合設定画面として用いているが、別モジュールのものを用いても構わない。
【0059】
この設定変更エディタ307は、スプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定情報に含まれる加工設定の内容に従って加工し、結合ジョブとして指定されたすべてのジョブに対してグラフィックエンジン202を用いて自身のクライアント領域に出力することにより、画面上の出力を行う。その際、図18に示すプレビュー領域に選択された全てのジョブの小プレビューが可能となる。また、結合ジョブを生成する際に、それぞれの単体ジョブのジョブ設定ファイルを拡張したジョブ出力用設定ファイルを生成する。このジョブ出力用設定ファイルは、ジョブ編集を行う際にも生成されるものであり、1つのジョブに対して1つできるものであり、結合ジョブの場合もまた1つ生成される。
【0060】
ここでは、それぞれのジョブに対して結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインターフェースに持っていても、プリンタドライバ203自身のユーザインターフェースを呼び出しても構わない。
【0061】
ここで結合されたジョブ及び変更された変更項目は、前述したように設定変更エディタ307上の認証要求に従って変更が認証され、制御がスプールファイルマネージャ304に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウインドウ上で一つの結合ジョブとして表示される。
【0062】
そして、ユーザがプレビューア306で同様に確認し、設定変更内容に従って印刷を行うならば、スプールファイルマネージャ304上で印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301を介してプリンタドライバ203に印刷命令が送られて印刷が実行される。
【0063】
次に、プリンタドライバ203からシステムスプーラ204を介して入力したプリンタ制御コマンドに基づき印刷を行う本実施形態におけるプリンタ1500の構造について説明する。
【0064】
図4は、本実施形態におけるプリンタの構造を示す断面図である。ここでは、プリンタ1500の一例として、両面印刷機能を有するカラーレーザプリンタについて説明する。
【0065】
図4に示すように、このプリンタはホストコンピュータ3000より入力した印刷データに基づいて得られる各色毎の画像データに応じて変調されたレーザ光をポリゴンミラー431によって感光ドラム415上を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得て、これを中間転写体409へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材402へ転写し、転写材402上にカラー可視画像を定着させる。
【0066】
以上の制御を行う画像形成部は、感光ドラム415を有するドラムユニット413、接触帯電ローラ417を有する一次帯電部、クリーニング部、現像部、中間転写体409、用紙カセット401や各種ローラ403、404、405、407等を含む給紙部、転写ローラ410を含む転写部及び定着部425によって構成されている。
【0067】
ドラムユニット413は、感光ドラム(感光体)415と感光ドラム415のホルダを兼ねたクリーニング機構を有するクリーナ容器414とを一体に構成したものである。このドラムユニット413はプリンタ本体に対して着脱自在に支持され、感光ドラム415の寿命に合わせて容易にユニット交換可能に構成されている。また、感光ドラム415はアルミシリンダの外周に有機光導電体層を塗布して構成され、クリーナ容器414に回転可能に支持されている。感光ドラム415は、図示しない駆動モータの駆動力が伝達されて回転するものであり、駆動モータは感光ドラム415を画像形成動作に応じて反時計回り方向に回転させる。この感光ドラム415の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。
【0068】
スキャナ部430では、変調されたレーザ光をモータ431aにより画像信号の水平同期信号に同期して回転するポリゴンミラー431により反射し、レンズ432、反射鏡433を介して感光ドラム415を照射する。
【0069】
現像部は、上記静電潜像を可視画像化するために、イエロー(Y)、マゼンタ(M)、シアン(C)の現像を行う3個のカラー現像器420Y、420M、420Cと、ブラック(B)の現像を行う1個のブラック現像器421Bとを備えた構成を有する。カラー現像器420Y、420M、420C及びブラック現像器421Bには、スリープ420YS、420MS、420CS及び421BSと、これらスリープ420YS、420MS、420CS、421BSそれぞれの外周に圧接する塗布ブレード420YB、420MB、420CB及び421BBとがそれぞれ設けられている。また3個のカラー現像器420Y、420M、420Cには、塗布ローラ420YR、420MR、420CRが設けられている。
【0070】
また、ブラック現像器421Bはプリンタ本体に対して着脱可能に取り付けら、カラー現像器420Y、420M、420Cは回転軸422を中心に回転する現像ロータリー423にそれぞれ着脱可能に取り付けられている。
【0071】
ブラック現像器421Bのスリープ421BSは感光ドラム415に対して、例えば300μm程度の微小間隔を持って配置されている。ブラック現像器421Bは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリープ421BSの外周に塗布ブレード421BBによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリープ421BSに現像バイアスを印加することにより、静電潜像に応じて感光ドラム415に対して現像を行って感光ドラム415にブラックトナーによる可視画像を形成する。
【0072】
3個のカラー現像器420Y、420M、420Cは、画像形成に際して現像ロータリー423の回転に伴って回転し、所定のスリープ420YS、420MS、420CSが感光ドラム415に対して300μm程度の微小間隔を持って対向することになる。これにより所定のカラー現像器420Y、420M、420Cが感光ドラム415に対向する現像位置に停止し、感光ドラム415に可視画像が作成される。
【0073】
カラー画像形成時には、中間転写体409の1回転毎に現像ロータリー423が回転し、イエロー現像器420Y、マゼンダ現像器420M、シアン現像器420C、次いでブラック現像器421Bの順で現像工程がなされ、中間転写体409が4回転してイエロー、マゼンタ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体409上に形成する。
【0074】
中間転写体409は、感光ドラム415に接触して感光ドラム415の回転に伴って回転するように構成されており、カラー画像形成時に時計回り方向に回転し、感光ドラム415から4回の可視画像の多重転写を受ける。また、中間転写体409は画像形成時に、後述する転写ローラ410が接触して転写材402を挟持搬送することにより転写材402に中間転写体409上のカラー可視画像を同時に多重転写する。中間転写体409の外周部には、中間転写体409の回転方向に関する位置を検知するためのTOPセンサ409a及びRSセンサ409bと、中間転写体409に転写されたトナー像の濃度を検知するための濃度センサ409cとが配置されている。
【0075】
転写ローラ410は、感光ドラム415に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。この転写ローラ410は、図4に実線で示すように、中間転写体409上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、中間転写体409上に4色のカラー可視画像が形成された後は、このカラー可視画像を転写材402に転写するタイミングに合わせてカム部材(不図示)によって転写ローラ410を図示点線で示す上方に位置させる。これにより、転写ローラ410は転写材402を介して中間転写体409に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体409上のカラー可視画像が転写材402に転写される。
【0076】
定着部425は、転写材402を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材402を加熱する定着ローラ426と転写材402を定着ローラ426に圧接させるための加圧ローラ427とを備えている。定着ローラ426と加圧ローラ427とは中空状に形成され、内部にそれぞれヒータ428、429が内蔵されている。即ち、カラー可視画像を保持した転写材402は定着ローラ426と加圧ローラ427とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【0077】
可視画像定着後の転写材402は、その後、排紙ローラ434、435、436によって排紙部437へ排出して画像形成動作を終了する。
【0078】
クリーニング手段は、感光ドラム415上及び中間転写体409上に残ったトナーをクリーニングするものであり、感光ドラム415上に形成されたトナーによる可視画像を中間転写体409に転写した後の廃トナーや中間転写体409上に作成された4色のカラー可視画像を転写材402に転写した後の廃トナーがクリーナ容器414に蓄えられる。
【0079】
印刷される転写材(記録用紙)402は、給紙トレイ401から給紙ローラ403により取り出され、中間転写体409と転写ローラ410との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部425を通過してトナー像が定着される。片面印刷の場合には、案内438が上方の排紙部437に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【0080】
両面ユニットに導かれた記録用紙は、搬送ローラ440によりトレイ401の下部(二点鎖線で示す搬送経路)に一旦送り込まれた後逆方向に搬送され、両面トレイ439に送られる。両面トレイ439上では、用紙は給紙トレイ401に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【0081】
ここで、上述したスプーラ302がアプリケーション201からグラフィックエンジン202及びディスパッチャ301を介して印刷要求を入力し、その印刷要求を解析し、ページ単位に中間コードに変換してスプールファイルを生成するスプーラ302における生成プロセスについて説明する。
【0082】
図5は、スプーラ302における生成プロセスを示すフローチャートである。まず、ステップS501において、スプーラ302は、アプリケーション201からグラフィックエンジン202及びディスパッチャ301を介して印刷要求を受け付ける。アプリケーション201においては、図8に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバ203を介してスプーラ302に渡される。また、図8に示す設定入力ダイアログにおいては、801に示すような1物理ページにレイアウトする論理ページのページ数を決定するための設定項目等を含んでいる。
【0083】
次に、ステップS502において、スプーラ302は、受け付けた印刷要求がジョブ開始要求か判定し、ジョブ開始要求であると判断した場合にはステップS503へ進み、スプーラ302は中間データを一時的に保存するためのスプールファイル303を作成する。次に、ステップS504において、スプーラ302はスプールファイルマネージャ304へ印刷処理の進捗を通知し、続くステップS505において、スプーラ302のページ数カウンタを“1”に初期化する。ここで、スプールファイルマネージャ304は、印刷が開始されたジョブに対するジョブ設定情報や加工設定などをスプールファイル303より読み込み、記憶する。
【0084】
一方、ステップS502において、ジョブ開始要求でないと判断した場合にはステップS506へ進み、スプーラ302は受け付けた要求がジョブ終了要求か否かの判別を行う。ここで、ジョブ終了要求でないと判断した場合にはステップS507へ進み、改ページか否かの判別を行う。また、このステップS507で改ページであると判断した場合にはステップS508へ進み、スプールファイルマネージャ304へ印刷処理の進捗を通知し、ページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。
【0085】
上述のステップS507において、受け付けた印刷要求が改ページではないと判断した場合にはステップS509へ進み、スプーラ302は、ページ描画ファイルへの中間コードの書き出しの準備を行う。そして、ステップS510では、印字要求をスプールファイル303へ格納するために、スプーラ302は、印字要求のDDI関数の中間コードへの変換処理を行う。次に、ステップS511において、スプーラ302は、ステップS510で格納可能な形に変換された印刷要求(中間コード)をスプールファイル303のページ描画ファイルへ書き込む。その後、ステップS501に戻り、再びアプリケーション201から印刷要求を受け付ける。
【0086】
このような一連のステップS501からステップS511の処理を、アプリケーション201よりジョブ終了要求(End Doc)を受け取るまで続ける。そして、スプーラ302は、同時にプリンタドライバ203からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル303に格納する。一方、ステップS506において、アプリケーション201からの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了したのでステップS512へ進み、スプールファイルマネージャ304へ印刷処理の進捗を通知し、処理を終了する。
【0087】
次に、スプールファイルマネージャ304がスプーラ302或いはデスプーラ305から進捗通知を受け付け、スプーラ302による生成プロセスと後述するデスプーラ305による印刷データ生成プロセスとを制御するプロセスについて説明する。
【0088】
図6は、スプールファイルマネージャ304による制御を示すフローチャートである。まず、ステップS601において、スプールファイルマネージャ304は、スプーラ302或いはデスプーラ305から印刷処理の進捗通知を受け付ける。次に、ステップS602において、スプールファイルマネージャ304は、その進捗通知が図5に示すステップS504で通知されたスプーラ302からの印刷開始通知であるか否かを判定する。ここで、スプーラ302からの印刷開始通知であればステップS603へ進み、印刷の加工設定をスプールファイル303から読み込み、ジョブの管理を開始する。
【0089】
一方、ステップS602において、スプーラ302からの印刷開始通知でなければステップS604へ進み、スプールファイルマネージャ304は、進捗通知が図5に示すステップS508で通知されたスプーラ302からの1論理ページの印刷終了(改ページ)通知であるか否かを判定する。1論理ページの印刷終了通知であればステップS605へ進み、この論理ページに対する論理ページ情報を格納する。そして、ステップS606では、この時点で、スプールが終了したn論理ページに対して1物理ページの印刷が開始できるか否かを判定する。ここで、印刷可能であればステップS607へ進み、印刷する1物理ページに対して割り付けられた論理数から物理ページ番号を決定する。
【0090】
この物理ページの計算については、例えば加工設定が図8に示すような1物理ページに4論理ページを配置するような設定の場合、第1物理ページは第4論理ページがスプールされた時点で印刷可能となり、第1物理ページとなる。同様に、第2物理ページは第8論理ページがスプールされた時点で印刷可能となる。
【0091】
尚、論理ページ数の総数が1物理ページに配置する論理ページ数の倍数でなくても、図5に示すステップS512でのスプール終了通知によって1物理ページに配置する論理ページを決定可能である。
【0092】
そして、ステップS608において、図10に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報をジョブ出力用設定ファイル(物理ページ情報を含むファイル)に保存し、物理ページ情報が1物理ページ分、追加されたことをデスプーラ305に通知する。その後、ステップS601に戻り、次の通知を待つ。尚、このジョブ出力用設定ファイルについては、図10を参照して更に後述する。
【0093】
このように、本実施形態においては、印刷データ1ページ、即ち1物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【0094】
一方、上述のステップS604において、進捗通知がスプーラ302からの1論理ページの印刷終了通知でなければステップS609へ進み、スプールファイルマネージャ304は、図5に示すステップS512で通知されたスプーラ302からのジョブ終了通知であるか否かを判定する。ここで、ジョブ終了通知であれば上述のステップS606へ進む。また、ジョブ終了通知でなければステップS610へ進み、スプールファイルマネージャ304は、受け付けた通知がデスプーラ305からの1物理ページの印刷終了通知であるか否かを判定する。ここで、1物理ページの印刷終了通知であればステップS612へ進み、加工設定の印刷が全て終了したか否かを判定する。印刷が終了したならばステップS612へ進み、デスプーラ305に印刷終了の通知を行う。また、ステップS611において、加工設定に対する印刷がまだ終了していないと判断した場合は上述したステップS606へ進む。
【0095】
尚、本実施形態におけるデスプーラ305は印刷処理を行う単位として1物理ページ数を想定している。また、上述のステップS608では、1物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存して再利用可能な形式にしているが、再利用が不要な場合には、共有メモリ等高速な媒体を使用し、1物理ページ単位で次々と上書きするように構成し、速度とリソースを節約するようにしても良い。また、デスプール305の進捗よりもスプール302の進捗の方が早い場合や全ページのスプール終了後からデスプール305が開始されるような場合には、ステップS608で1物理ページ毎にページ印刷可能を通知せずに、デスプール305側の進捗に応じて、複数物理ページ或いは全物理ページが印刷可能になったという通知内容にして通知回数を節約することも可能である。
【0096】
一方、ステップS610において、その通知がデスプーラ305からの1物理ページの印刷終了通知でないと判断された場合はステップS613へ進み、スプールファイルマネージャ304は、デスプーラ305からの印刷終了通知か否かを判定する。ここで、通知がデスプーラ305からの印刷終了通知と判定された場合はステップS614へ進み、スプールファイルマネージャ304は、スプールファイル303の該当するページ描画ファイルの削除を行い、この処理を終了する。また、ステップS613において、デスプーラ305からの印刷終了通知でなければステップS615へ進み、その他の通常処理(例えばエラー処理)を行い、次の通知を待つ。
【0097】
次に、デスプーラ305がスプールファイルマネージャ304からの印刷要求に応じてスプールファイル303から必要な情報(ページ描画ファイル、ジョブ設定ファイル等)を読み出して印刷データを生成する印刷データ生成プロセスについて説明する。尚、生成された印刷データをプリンタ1500へ転送する方法については図3を参照して説明した通りである。
【0098】
図7は、デスプーラ305での印刷データ生成プロセスを示すフローチャートである。まず、ステップS701において、上述のスプールファイルマネージャ304からの通知を入力する。続くステップS702では、デスプーラ305は、入力された通知がジョブの終了通知か否かを判定し、ジョブの終了通知であるならばステップS703へ進み、終了フラグをセットする。そして、ステップS705へ進む。
【0099】
一方、ステップS702において、ジョブの終了通知でない場合はステップS704へ進み、図6に示すステップS608で通知された1物理ページの印刷開始要求か否かを判定する。ここで、印刷開始要求でなければステップS710へ進み、その他の処理(エラー処理)を行い、ステップS701へ戻り、次の通知を待つ。また、ステップS704において、1物理ページの印刷開始要求と判定した場合はステップS705へ進み、デスプーラ305は、ステップS704で通知を受けた印刷処理可能な物理ページのIDを保存する。そして、ステップS706において、デスプーラ305は、ステップS705で保存した物理ページIDの全てのページに関して印刷処理を終了したか否かを判定する。ここで、全物理ページの印刷処理を終了している場合はステップS707へ進み、上述したステップS703で終了フラグがセットされたか否かを判定する。ここで、終了フラグがセットされていれば、ジョブが終了したとみなし、デスプーラ305の処理終了の通知をスプールファイルマネージャ304に通知し、この処理を終了する。また、ステップS707において、終了フラグがセットされていなければステップS701へ戻り、次の通知を待つ。
【0100】
一方、上述のステップS706において、印刷可能な物理ページが残っていると判定された場合にはステップS708へ進み、デスプーラ305は、保存した物理ページIDから未処理の物理ページIDを順に読み出す。そして、読み出した物理ページIDに対応する物理ページの印刷データ生成に必要な情報を読み込み、印刷処理を行う。この印刷処理はスプールファイル303に格納された印刷要求命令をデスプーラ305においてグラフィックエンジン202が認識可能な形式(GDI関数)に変換し、転送する処理である。
【0101】
本実施形態のような、複数論理ページを1物理ページにレイアウトするような加工設定(以下、「Nページ印刷」)については、このステップS708で縮小配置を考慮しながら変換する。次に、必要な印刷処理が終了すると、ステップS709において、1物理ページの印刷データ生成終了の通知をスプールファイルマネージャ304に対して行う。そして、再びステップS706へ戻り、上述のステップS705で保存しておいた印刷可能な物理ページID全てについて印刷処理を行うまで繰り返す。
【0102】
以上、ディスパッチャ301、スプーラ302、スプールファイルマネージャ304、デスプーラ305によって印刷処理を行うことにより、スプーラ302が中間コードを生成してスプールファイル303に格納するタイミングでアプリケーション201が印刷処理から開放され、プリンタドライバ203に直接出力する従来の印刷処理よりも処理時間を短縮することができる。
【0103】
また、スプールファイル303にプリンタドライバの印刷設定を踏まえた中間ファイル(ページ描画ファイル、ジョブ設定ファイル)として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーション201により生成した印刷ジョブの結合や並び替えが可能となり、印刷設定の変更を行う場合も、再度アプリケーション201を立ち上げて印刷をすることなく、ユーザに行わせることを可能とする。
【0104】
ここで、スプーラ302を用いた印刷処理において、デスプーラ305によりグラフィックエンジン202への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。このジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、また結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。
【0105】
以下、本実施形態におけるジョブ出力用設定ファイルについて説明する。
【0106】
図10は、本実施形態におけるジョブ出力用設定ファイルの例を示す図である。このジョブ出力用設定ファイルは、図6のステップS608で、スプールファイルマネージャ304が生成する印刷可能となった物理ページを構成する情報を保存している。図10において、フィールド1001にはジョブを識別するためのIDが保存され、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド1002にはジョブ設定情報が保存される。このジョブ設定情報には、グラフィックエンジン202に対してジョブの印刷を開始するために必要な構造体、Nページ印刷の指定、ページ枠等の追加描画の指定、部数、ステイプルなどのフィニッシング指定といった1つのジョブに対して1つしか設定できない情報が含まれる。また、このジョブ設定情報には、ジョブに対する機能に応じて必要なだけ情報が保存される。
【0107】
フィールド1003にはジョブの物理ページ数が保存され、このフィールド以降、この数の分だけ物理ページ情報が保存されていることを示している。本実施形態では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。このフィールド以降、フィールド1004から最後までフィールド1003に保存されている数だけ物理ページ情報が格納される。この物理ページ情報については、図12を参照して更に後述する。
【0108】
図11は、図10に示すフィールド1002のジョブ設定情報の一例を示す図である。図11において、フィールド1101には全物理ページ数が保存され、フィールド1102には全論理ページ数が保存される。このフィールド1101及び1102の情報は、印刷データに追加して、ページ数などを付加情報として印刷する場合などに利用可能である。印刷が続いている際には、両フィールドは暫定的な値、もしくは、印刷が終了するまでスプールファイルマネージャ304は印刷可能な物理ページの情報の作成を延期する。フィールド1103には印刷ジョブで何部印刷するかを指定する部数情報が保存される。フィールド1104にはフィールド1103で複数部印刷する設定の場合、部単位で印刷するか否かの指定が保存される。フィールド1105にはステイプル、パンチ、Z折などのフィニッシング情報が保存され、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド1106には、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、電子透かし印刷等ジョブに対して付加する情報が保存される。尚、機能が増えるに従って、このジョブ設定情報に含まれるフィールドの数も増加し、例えば両面印刷が可能な場合には、両面印刷の指定を保存するフィールドが追加される。
【0109】
図12は、図10に示すフィールド1004の物理ページ情報の一例を示す図である。図12において、最初のフィールド1201には物理ページ番号が保存され、印刷順序の管理や物理ページ番号を追加印刷する際に使用される値が保存される。フィールド1202には物理ページ設定情報が保存され、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド1203には物理ページに割り付けられる論理ページ数が保存され、1物理ページに4ページを割り付ける場合には4もしくは4ページ印刷を示すIDが保存される。フィールド1204以降は、フィールド1203で指定された数だけ論理ページの情報が保存される。
【0110】
尚、アプリケーション201から印刷されるページ数によっては、フィールド1203で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応するものとする。
【0111】
図13は、図12に示すフィールド1202の物理ページ設定情報の例を示す図である。図13において、フィールド1301には物理ページ上への論理ページの配置順が保存され、Nページ印刷で、物理ページ上に論理ページを配置する順番(左上から横へ、左上から下へ等)の指定が保存される。システムによっては、配置順ではなく、フィールド1204以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することでフィールド1301の設定を代用しても良い。フィールド1302には両面印刷の表面・裏面の情報が保存され、例えば綴じ代を表面と裏面で揃える際に使用される。フィールド1303にはカラーページかモノクロページかの指定が保存され、プリンタがモノクロモードとカラーモードを持つ場合、カラーページとモノクロページが混在する文書で、カラーページをカラーモードで、モノクロページをモノクロモードで印刷したい場合などに使用されるものである。この情報を持つことにより、オートカラーモードとしてページ単位にカラープリンタで処理を変更することが可能となる。つまり、カラーページは、中間転写体(中間転写ドラム、中間転写ベルト)、又は転写体(転写ドラム、転写ベルト)がデバイスカラーの数分、YMCKなら4回転し、モノクロページはブラックだけ1回転することにより転写制御することを可能とする。フィールド1304には付加印刷情報が保存され、物理ページに対してページ数や日付などの付加情報を印刷する場合に使用される。この物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
【0112】
図14は、図12に示すフィールド1204の論理ページ情報の一例を示す図である。図14において、フィールド1401には論理ページのIDが保存され、このIDを利用してスプールファイル303から論理ページに対応するページ描画ファイルの中間コードを参照する。また、このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても論理ページを構成する中間コード自身が入っていても良い。フィールド1402には論理ページ番号が保存され、論理ページ番号を付加情報として印刷する場合や論理ページIDの補助情報に使用される。フィールド1403にはフォーマット情報が保存され、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存することも可能である。逆に、論理ページ単位で設定を変更することや論理ページ単位での属性情報が不要であるようなシステムでは,フィールド1403は不要である。
【0113】
以上説明したように、ジョブ出力用設定ファイルは構成されているが、ジョブ設定ファイルもほぼ同様に構成され、印刷体裁(片面、両面、製本印刷)、印刷レイアウト(Nup、ポスター印刷)、付加情報(電子透かし、日付、ユーザ名の付加)、部数、用紙サイズ情報をジョブとして有しており、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
【0114】
以下、これまで説明した拡張システムに加えて、図3に示す設定変更エディタ307によるジョブの設定変更機能を実現するプロセスについて説明する。尚、本実施形態では、ジョブの設定内容は、単体ジョブの場合はジョブ設定ファイルに、結合ジョブの場合は図10に示したジョブ出力用設定ファイル中に含まれており、中間コードを保存しているスプールファイル303とは独立しているために、ジョブ出力用設定ファイルを作り変えることによりジョブの設定変更が可能である。設定変更エディタ307は単独で、或いはスプールファイルマネージャ304と連携してジョブ出力用設定ファイルを作り変え、或いは一部を書き換えることによりジョブの設定変更機能を実現している。
【0115】
図15は、設定変更エディタ307でのジョブ設定変更プロセスを示すフローチャートである。まず、ステップS1501において、設定変更エディタ307は、ジョブ設定ファイルもしくはジョブ出力用設定ファイルを読み込む。ジョブ出力用設定ファイルはプレビューア305、デスプーラ303が読み込むものと同じファイルである。次に、ステップS1502において、読み込んだファイルの内容をユーザに表示し、続くステップS1503では、図18に示したようなユーザインターフェース上で、ユーザとの対話を行い、前述したメニューの指定等により設定内容を変更する。このステップは、対話形式でなく、ファイルなどに書きこまれた設定変更の内容に応じて変更するバッチ形式でも良い。
【0116】
次に、ステップS1504において、設定変更エディタ307は、ステップS1501で最初に読み込んだ設定内容と現在の設定内容とを比較し、設定内容に変更があったか否かを判定する。ここで、設定内容に変更があった場合はステップS1505へ進み、新規のジョブ出力用設定ファイルを生成し、変更があったことをスプールファイルマネージャ304に通知して終了する。また、ステップS1504において、設定内容に変更がないと判定された場合は、変更がなかったことをスプールファイルマネージャ304に通知して終了する。
【0117】
このように新規のジョブ出力用設定ファイルが生成され、図18に示すユーザインターフェース画面において、ユーザが「OK」ボタンを選択することにより、新規のジョブ出力用設定ファイルを有効とし、古いジョブ出力用設定ファイルを削除する。また、ジョブ出力用設定ファイルからの変更ではなく、単体ジョブのジョブ設定ファイルの場合には削除せずに保存しておく。また、図18に示すユーザインタフェース画面において、ユーザが「初期状態に戻す」ボタンを選択した場合には新規のジョブ出力用設定ファイルを削除し、古いジョブ出力用設定ファイルを有効とし、表示に反映させる。
【0118】
尚、本実施形態では、設定変更エディタ307を別モジュールとして説明したが、単にスプールファイルマネージャ304のユーザインターフェースの一部であっても良い。また、設定変更エディタ307で実際に変更内容をジョブ出力用設定ファイルに書き込まず、設定変更の内容のみをスプールファイルマネージャ304へと通知するだけで、実際のジョブ出力用設定ファイルの変更をスプールファイルマネージャ304側で行うように構成しても良い。
【0119】
次に、従来の複数印刷ジョブを結合し、一つの印刷ジョブとして印刷する拡張システムに加えて、結合ジョブをデスプールプレビューするための拡張について説明する。
【0120】
通常、中間コード形式のスプールファイル303はジョブ単位で作成される。単独ジョブの場合は、処理対象ジョブファイル中の各論理ページの中間コードを順に読み出して処理を行うので、フィールド1401の論理ページIDは各論理ページがファイルのどこに位置しているのかを示す相対或いは絶対オフセットで実現可能である。結合ジョブの場合は、フィールド1401のジョブIDから、スプールファイル303と、そのジョブに属するページ情報とを特定する必要がある。本実施形態では、スプールファイル303を識別するIDを論理ページIDに付加することでスプールファイル303を特定する方式とする。この場合、主な変更点はフィールド1401のみで済む。ここで、スプールファイル303が識別できれば、ページ部分の読み込みは単独ジョブの処理と同一のロジックで処理することが可能であるからである。また、スプールファイル303が各論理ページ毎に別ファイルの形で保存されている場合は、論理ページのファイル名をそのままフィールド1401の論理ページIDとして構成しても良い。
【0121】
次に、4枚のはがきを2×2の形で並べた状態を1枚の用紙とする4面はがきのように、印刷用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する処理について説明する。
【0122】
図19は、本実施形態における4面はがきの表面と裏面の配置を示す図である。図示するように、4面はがきは4枚のはがきを2×2で配置した形式のものであり、表面の左上をAさん、右上をBさん、左下をCさん、右下をDさんの宛名をそれぞれ印刷した場合、裏面の本文面は左上がBさん、右上がAさん、左下がDさん、右下がCさんとなるように配置する必要がある。つまり、表裏で左右が逆になるように配置しなければならない。
【0123】
従って、アプリケーション201が、宛名面1、本文面1、宛名面2、本文面2…の順に印刷する際に、4面はがきを使う場合、最初の4人分のデータを宛名面へ印刷し、その次に裏面のデータを4人分印刷する。その際に、表面と裏面では、配置が左右逆となるように配置順序を変更する必要がある。また、表面だけ、裏面だけをそれぞれ片面印刷する場合でも、表面と裏面の組が合うように配置順を変える必要がある。
【0124】
図20は、表面と裏面で配置順を変更する処理を示すフローチャートである。この処理は、図7に示したステップS708の印刷処理における面付け処理部分に相当する。つまり、印刷に必要なページ数分のデータが揃っているのかなどの処理は済んでいることが前提となっている。
【0125】
まず、ステップS2001において、上述したジョブ出力用設定ファイルから面付け情報を取得する。尚、4面はがきの場合、2×2の配置及び入力データを変倍しないといった設定がなされているものとする。次に、ステップS2002において、面付け処理すべき面が表面であるのか、裏面であるのかを判定する。尚、この表面か裏面かの判定処理については、図29を参照して更に後述する。ここで、表面であると判定した場合にはステップS2003へ進み、表面向けの配置順を設定する。逆に、ステップS2002において、裏面であると判定した場合にはステップS2004へ進み、裏面向けの配置順を設定する。具体的には、表面と裏面とで配置順を左右が逆となるような配置順に制御するものである。例えば、表面が、左上からまず右へ配置し、右端まできたら一つ下の段の左端へ折り返し、また右端まで最下行まで繰り返す設定であれば、裏面は右上からまず左へ配置し、左端まできたら右端へ折り返し、また左端まで最下行まで繰り返すような配置順の設定とする。そして、ステップS2005において、上述の表面か裏面かに応じてステップS2003又はS2004で設定された面付け順序に従って面付け処理を行い、この処理を終了する。
【0126】
尚、上述の配置順はシステムで固定としても良いし、ユーザが片面の配置順を指定する方法であっても構わない。また、この処理方法は、両面印刷であっても、片面印刷であってもどちらに対しても適用可能である。
【0127】
しかしながら、両面印刷の場合、表面と裏面を同時に処理するため、ユーザが何も指定しなくても自動的に表面と裏面の処理をすることが可能であるが、片面印刷の場合は、現在の印刷が表面か裏面かをユーザがシステムに対して指定する必要がある。これは、簡単なチェックボックスなどのGUIコントロールで指定する方法等で良い。例えば、図8に示す801のレイアウトで4面はがきを指定し、配置順で表面又は裏面を指定するようなGUIで十分である。
【0128】
ここで、新規に、4面はがきを選択指示する具体的なGUIの例と、メディアタイプで「4面はがき」を選択すると、「配置順」や他の印刷設定が指定不可能になる様子について説明する。
【0129】
図26は4面はがきを設定するプリンタドライバの印刷設定を行うプロパティダイアログGUI(グラフィックユーザインタフェース)の一例である。この例では、2601に示す通り出力用紙に4面はがきと指定することで4面はがきへの出力を指定することが可能である。また、この例では、原稿がはがきであるので、1枚の用紙に4つのページを割り付けて印刷することになる。よって、出力用紙設定に連動して、GUIを制御するUIドライバは、2602に示すように「4ページ/枚」のページレイアウトに自動的に変更する。
【0130】
更に、出力用紙として4面はがきが選択されている場合、ページレイアウトは「4ページ/枚」と固定となるため、2602に示すページレイアウトのプルダウンメニュー(コンボボックスとも呼ばれる)を操作者が選択指示できないようにグレーアウト表示とする。また、ページの配置順は操作者に対して選択指示を許可することも可能であるため、配置順のプルダウンメニューをUIドライバにより選択可能に表示させる。配置順は、「左上から右向き」「左上から下向き」「右上から下向き」「右上から左向き」の何れか1つが選択可能である。また、プロパティダイアログ画面の「仕上げシート」では、「両面印刷」又は「片面印刷」の選択指示を操作者に許可すべく、UIドライバにより表示制御されるが、他の設定、フィニッシング設定などは操作者に選択を不可能にすべく表示制御されている。更に、「給紙シート」は、「給紙方法の指定」及び「給紙部の指定」の何れも操作者に選択を不可能にすべく、UIドライバによりグレーアウト表示される。
【0131】
図27は、4面はがきを指定するGUIの他の具体例である。これはプリンタドライバ203の印刷設定のダイアログ画面であっても良く、アプリケーション201のメニューから印刷設定を行う際のダイアログ画面であっても良い。
【0132】
このシステムでは、出力用紙は「はがき」であり、はがきの種類として「はがき」か、「4面はがき」を選択するという方式である。図27に示す出力用紙の設定2701ではがきを選択すると、図28に示すはがき種別を選択するGUIのラジオボタン2801が有効化され、通常のはがきか、複数の面を同時に印刷する用紙かを選択することが可能となる。本実施形態で示すシステムでは、1枚の用紙に4面分印刷できる用紙を想定しているため、この例では「はがき」と「4面はがき」の2択となっているが、2面、6面、8面などへも拡張可能であることは言うまでもない。また、この例では別のタブに分類されているが、同一のタブにおくことも可能である。
【0133】
次に、上述した図20に示すステップS2002における表面か裏面かの判定処理の詳細について説明する。例えば、プリンタドライバとアプリケーションとが拡張APIを介して通信し、宛名ページすべての後に裏面ページがすべて出力される形式なのか、宛名ページの1ページ、裏面の1ページ、…、宛名ページのNページ、裏面のNページが出力される形式なのかを判断するものである。或いは、プリンタドライバがアプリケーションに対して、表面4論理ページの後に、裏面4論理ページを出力するよう指示するものである。
【0134】
図29は、デスプーラ305による表面か裏面かの判定の元となる処理を示すフローチャートである。この例では、ページは、表面のデータが1物理ページ上への配置数だけ並び、その次に、裏面のデータが1物理ページ上への配置数だけ並ぶという組が繰り返されるものとする。
【0135】
まず、ステップS2901において、デスプーラ305は、カウンタiを1に初期化する。次に、ステップS2902において、デスプーラ305は、ページデータの並びから、1ページ取り出し、カウンタiと関連付けておく。そして、ステップS2903において、デスプーラ305は、ステップS2902でページが取り出せたか、或いは処理すべきページが全て終了しており、ページを取り出すことができなかったかを判定する。ここで、処理すべきページが存在しない場合はステップS2904へ進み、ページが存在した場合はステップS2907へ進む。
【0136】
ステップS2904では、デスプーラ305は、カウンタiが奇数か偶数かを判定する。ここで、奇数の場合は表面と裏面の数が揃っていないため、エラーとする。また、カウンタiが偶数の場合はステップS2905へ進み、ステップS2902で関連付けたカウンタ値に応じて、表面か裏面かを判断する。この処理は、N=4の4面面付けの場合、表面と裏面とを合わせて8ページ分必要なはずであるが、6ページや4ページ分といった端数となっている場合の処理である。6ページの場合、i=6となっており、1〜i/2、つまり、1〜3ページまでが表面、i/2+1〜i、つまり、4〜6ページを裏と判断する。この段階で、用紙1枚に相当するデータに対して表、裏の振り分けが終わったので、図20に示す処理に進み、表面、裏面をそれぞれ面付け処理する。
【0137】
また、上述のステップS2903で処理すべきページがあった場合はステップS2907へ進み、カウンタiと面付け数との比較を行う。N=4の場合、表面と裏面とを合わせたページ数である8(=2*N)ページ分の処理が終わったかを判定する。2Nページ分処理を終了した場合にはステップS2908へ進み、1〜Nまでを表面、N+1〜2Nを裏面と振り分ける。ここで、1用紙分の表面と裏面に相当するページ分のデータ振り分けが終わったので、ステップS2909へ進み、ステップS2905と同様に面付け処理を行う。そして、次の用紙の処理を行うために、ステップS2901に戻り、上述の処理を繰り返す。
【0138】
また、ステップS2907において、まだ2N、つまり、8ページ分の処理が終わっていない場合、用紙一枚分のページ割り振りが終わっていないので、ステップS2910へ進み、カウンタiをインクリメントし、ステップS2902に戻り、次のページの処理を行う。
【0139】
図30は、元になるページデータの処理順序が第1の表面、第1の裏面、第2の表面、第2の裏面…となっている場合の表面と裏面とを振り分ける処理を示すフローチャートである。まず、ステップS3001において、カウンタiを初期化する。次に、ステップS3002において、次の判定対象となるページデータを取り出し、更にカウンタiが偶数か奇数かを判断する。ここで、奇数の場合はステップS3003へ進み、そのページを表面と判定する。また、偶数の場合はステップS3004へ進み、そのページを裏面と判定する。そして、何れの場合にもステップS3005へ進み、カウンタiをインクリメントする。
【0140】
次に、ステップS3006へ進み、カウンタiと表面及び裏面分のページ数である2Nページ分の処理が終わったかを判断する。ここで、用紙一枚分の処理が終わっていたらステップS3010へ進み、図20に示した面付け処理を行う。また、ステップS3006において、まだ一枚分の処理が終わっていないと判断した場合はステップS3007へ進み、処理対象のページが残っているかを判定する。ここで、次のページがある場合、次の処理対象ページの処理を行うためにステップS3002に戻り、上述した処理を繰り返す。また、次のページがない場合はステップS3008へ進み、カウンタiが偶数か判定する。ここで、奇数の場合は表面と裏面の数が揃っていないため、エラーとする。また、カウンタiが偶数の場合はステップS3009へ進み、図20に示した面付け処理を行う。
【0141】
次に、物理ページ情報をジョブ出力用設定ファイルに保存する処理(図6に示したステップS607〜ステップS608)の詳細について説明する。
【0142】
図25は、物理ページ情報を格納する処理を示すフローチャートである。まず、ステップS2501において、スプールファイルから片面の面付け数Nを取得する。次に、ステップS2502において、片面印刷であるか否かを判定する。ここで、片面印刷であると判定した場合はステップS2503へ進み、Nページ分の印刷が可能であるかを判定する。具体的には、Nページ分の印刷が可能であるか、残りのページ数がNに満たないがスプールが終了しているかを判定する。Nページ分の印刷が可能であるか、残りページはNに満たないがスプールが終了している場合にはステップS2504へ進む。そうでないと判定された場合にはステップS601へ戻り、次の入力を待つ。ステップS2504では、Nページ分、或いは残りページを物理ページ情報に格納し、当該物理ページ印刷可能状態を通知する。
【0143】
また、上述のステップS2502において、両面印刷であると判定された場合はステップS2505へ進み、両面合わせて2Nページ分のデータが印刷可能であるか、スプールが終了して最後の用紙の処理であるのかを判定する。印刷可能でなければステップS601へ戻る。また、ステップS2505において、印刷可能であると判定された場合はステップS2506へ進み、スプールが完了しているのかを判定する。ここで、スプールが完了していなければそのままステップS2508へ進む。また、ステップS2506でスプールが完了している場合は、最後の用紙の印刷であるので、現在スプールされているページ数の半分が片面当たりの面付け数であるとしてNを再設定し、ステップS2508へ進む。
【0144】
このステップS2508では、アプリケーションからの印刷順が表面1、裏面1、表面2、裏面2、…の順であるのか、表面1、表面2、…、裏面1、裏面2、…の順であるのかを判定する。前者の場合はステップS2509へ進み、奇数番目のページを表ページとして纏めてNページ分物理ページ情報に格納し、印刷可能を通知する。その後、ステップS2510へ進み、デスプーラ305からの印刷終了通知を待ち、次に、ステップS2511へ進み、偶数ページNページ分を物理ページ情報に設定して印刷通知を行う。
【0145】
一方、ステップS2508で、表面がNページ分連続して印刷され、次に裏面がNページ分印刷されるという順序であると判定された場合にはステップS2512へ進み、最初のNページ分を物理ページ情報に設定する。そして、ステップS2513へ進み、デスプーラ305からの印刷終了通知を待ち、印刷終了通知があるとステップS2514へ進み、残りのN+1〜2Nページ分を物理ページ情報に設定してデスプーラ305に通知する。
【0146】
次に、途中まで使用した用紙がある場合に、その用紙を節約するために、残りの部分に印刷を行う場合について説明する。
【0147】
図24は、途中まで使用した用紙の残り部分に印刷を行う処理の概念を説明するための図である。図24に示す例では、4面はがきの左上の部分が使用済みで残りの3領域が未使用で残っている場合である。また、この例では、次の印刷をする場合に左上から開始し、下の行へと図で番号が振られている順序に印刷している。そして、2枚目以降は、使い残りの用紙を使う必要がないので全ての領域を使用して印刷するように変更する。
【0148】
最初の用紙の使用済み部分を設定するGUIを図23に示す。このGUIは、4面はがきのどこの領域から開始するかという方式で、ラジオボタンによる4択を行えるようになっている。これとは別に、領域のうち何個が使用済みなのかという数字で指定する方法や、それとは逆に、いくつの領域が使用可能であるのかを指定するようなGUIも考えられる。この方が将来8面はがきなど4面以外の用紙が出てきた場合の応用が利く。
【0149】
図21は、使用済みの用紙に続けて印刷する場合の処理を示すフローチャートである。まず、ステップS2101において、スプールファイル303から設定情報を取得し、一枚の用紙に面付けする数をNに設定する。そして、ステップS2102において、ページ数を“1”に初期化する。次に、ステップS2103において、ステップS2101で取得した設定情報のうち用紙のあまりに関する情報を取得する。そして、ステップS2104において、残数情報が指定されているかを判定する。ここで、残数が指定されている場合はステップS2106へ、指定されていない場合はステップS2105へ進む。
【0150】
このステップS2105では、パラメータiを“1”に初期化し、ステップS2106ではiを残り数(印刷済みの領域数+1)とする。そして、ステップS2107へ進み、i番目の面付け処理を行い、続くステップS2108で、p番目のページデータをステップS2107で求めた面付け情報に従って印刷する。次に、ステップS2109へ進み、更に印刷処理を行うべきページが残っているかを判定する。全てのページを印刷した場合はこの処理を終了する。また、印刷を行うべきページが残っている場合はステップS2110へ進み、パラメータiとpをそれぞれ1つ加えてステップS2111へ進む。
【0151】
このステップS2111では、パラメータiとNを比べ、用紙上の全ての領域に面付けが終わったかを判定する。ここで、まだ領域が残っていると判定された場合はステップS2107へ戻り、次のページの面付けを行う。また、領域が全て埋まったと判定された場合にはステップS2112へ進み、残数指定をクリアする。ここで残数指定をクリアすることにより、2枚目からは全ての領域を使用した印刷処理となる。そして、ステップS2104へ戻り、次の用紙の処理を行う。
【0152】
尚、上述した処理手順では、残数設定の有無で、1枚目と2枚目移行の処理を切り分けているが、ループ処理の1回目を特別扱いするような処理にしたほうがループ内部のステップ数が減るので、速度的には有利となる。
【0153】
図22は、4面はがきの指定に対してレイアウトの設定やセキュリティ処理を行う場合のフローチャートである。まず、ステップS2201において、GUIの設定情報を取得し、続くステップS2202において、4面はがきが指定されているのかを判定する。ここで、4面はがきの指定がなされていると判定された場合はステップS2203へ進み、他のレイアウト指定が無効となることを示すように、例えばグレーアウト処理を行う。ここで、対象となる項目はシステムに依存するが、例えばNup、綴じ代、ズーム等が該当する。つまり、4面はがきという固定レイアウトに対して影響を与える設定は全て制限の対象となる。
【0154】
次に、ステップS2205において、セキュリティ設定の情報を取得し、続くステップS2206で、4面はがきにセキュリティがかかっているかを判定する。ここで、4面はがきにセキュリティがかかっている場合にはステップS2207へ進み、セキュリティ処理を行う。このセキュリティ処理は、システム管理の設定によって異なるが、例えば、4面はがきの設定を特定のユーザに対してだけ許可するような場合、許可されていないユーザに対しては、設定できないことを示すメッセージを表示して設定をキャンセルするような処理が該当する。また、各部門毎に上限が決まっているような場合、上限を超えた場合や越えそうな場合にメッセージを表示し、場合によっては印刷を行えないように制御する処理なども考えられる。
【0155】
一方、上述のステップS2202において、4面はがきの指定がされていないと判定された場合にはステップS2204へ進み、通常の処理を行う。
【0156】
以上説明したように本実施形態によれば、一枚の用紙上に複数のページデータを配置し、印刷する場合や、用紙を複数に切り分け、切り分けた用紙上のデータの少なくとも1つは他のデータと異なっている場合に、表面と裏面とで対応するデータを印刷することが可能となる。
【0157】
また、両面印刷の場合に、表面の印刷であるのか裏面の印刷であるのかを自動的に判定することができる。
【0158】
また、ユーザがGUIを通じて表面・裏面の指定を行うことが可能となる。
【0159】
また、ユーザはGUIを経由せずに表裏の指定が可能となる。
【0160】
また、特定の用紙に対しては必ず一意に決まるレイアウトを行う場合、特定の用紙が指定されると、印刷設定のGUIでレイアウトに影響を与える設定ができないようにGUIの制御を行うことができる。
【0161】
また、特定の用紙指定に連動して、セキュリティや課金などの処理を連動させるようなセキュリティ設定処理を行うことができる。
【0162】
また、2×2の配置ではがきを並べた形である4面はがきを選択した場合に、レイアウトに悪影響を与える設定をさせないように制御することやセキュリティ・課金の設定を連動させることができる。
【0163】
また、用紙の一部分が使用済みであることを指定することができ、残った部分を次の印刷機会に再利用することが可能となる。
【0164】
また、用紙を再利用する場合でも、2枚目からは新しい用紙を使い全ての領域を使用することが可能となる。
【0165】
以上説明した処理では、デスプーラ又はスプールファイルマネージャの処理として説明しているため、ページ配置で説明が終わっているが、以下では、上述のようにページ配置されたドキュメントに基づき、プリンタドライバ或いはプリントツールが印刷データを生成する処理について説明する。
【0166】
図30は、プリンタドライバ或いはプリントツールにて印刷データを生成する処理を示すフローチャートである。まずステップS3101において、印刷すべきページデータをスプールする。次に、ステップS3102において、印刷終了かどうかを判定する。ここで、印刷終了でない場合は、処理対象のページデータが存在するので、ステップS3103へ進み、表面・裏面の振り分け処理を行う。そして、ステップS3104へ進み、1枚分の振り分けが終了したかどうかを判定する。1枚分のデータが終了していない場合はステップS3101へ戻り、次のページの処理を続ける。
【0167】
また、1枚分の処理が終了している場合は、実際にプリンタドライバへ印刷を行う処理へ進む。まずステップS3105において、ページスタートをプリンタドライバに通知する。例えば、Windows上で動作するソフトウェアであるならば、GDIに対してStartPage()を呼び出すことで、プリンタドライバに次の面の処理を開始する通知を渡すことができる。次に、ステップS3106において、表面の面付け、印刷処理を行う。この表面の印刷が終了した場合、1面の処理が終了したことを示すため、ステップS3107へ進み、ページ終了の処理を行う。例えば、Windows上で動作するソフトウェアであるならば、GDIに対してEndPage()APIを呼び出すことで、プリンタドライバは1面分の処理が終了した通知を受け取り、次の面の処理に備える。
【0168】
次に、ステップS3103で表面・裏面の振り分けが済んでいるので、続けてステップS3108へ進み、裏面の処理を行う。例えば、Windows上のソフトウェアであれば、裏面の処理を特に通知する必要はなく、印刷開始時にDEVMODEへ両面印刷を指定しておけば、ステップS3108で次のページの処理開始を通知することで、自動的に次のページは裏面への印刷となる。ステップS3108〜ステップS3110の処理はステップS3105〜ステップS3107と同様の処理である。ステップS3106とステップS3109はそれぞれ表面、裏面に描画されるデータを処理するため、図20に示すように、表面と裏面とに応じて別々の面付け処理を行う。
【0169】
次に、ステップS3110において、ページエンドの処理を行うと、用紙一枚分の表面・裏面への印刷処理が終了する。そして、次の用紙への印刷を行うためにステップS3101に戻り、上述した処理を繰り返す。ステップS3101で、アプリケーションが印刷終了している場合、ステップS3102で処理すべきデータがないと判定され、印刷は終了する。
【0170】
尚、本発明は複数の機器(例えば、ホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0171】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0172】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0173】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0174】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0175】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0176】
【発明の効果】
以上説明したように、本発明によれば、用紙の面を複数の領域に分割し、分割された各領域に対して表面と裏面とを対応させて印刷データを配置することが可能となる。
【図面の簡単な説明】
【図1】本実施形態におけるプリンタ制御システムの構成を示すブロック図である。
【図2】ホストコンピュータ3000において実行される印刷処理を示す図である。
【図3】アプリケーションからの印刷命令を一旦中間コードデータでスプールする構成を示す図である。
【図4】本実施形態におけるプリンタの構造を示す断面図である。
【図5】スプーラ302における生成プロセスを示すフローチャートである。
【図6】スプールファイルマネージャ304による制御を示すフローチャートである。
【図7】デスプーラ305での印刷データ生成プロセスを示すフローチャートである。
【図8】印刷設定を入力するダイアログを示す図である。
【図9】プリンタドライバのプロパティ画面を示す図である。
【図10】本実施形態におけるジョブ出力用設定ファイルの例を示す図である。
【図11】図10に示すフィールド1002のジョブ設定情報の一例を示す図である。
【図12】図10に示すフィールド1004の物理ページ情報の一例を示す図である。
【図13】図12に示すフィールド1202の物理ページ設定情報の例を示す図である。
【図14】図12に示すフィールド1204の論理ページ情報の一例を示す図である。
【図15】設定変更エディタ307でのジョブ設定変更プロセスを示すフローチャートである。
【図16】スプールファイルマネージャのウインドウ画面を示す図である。
【図17】スプールファイル303に含まれる印刷の加工設定の大プレビューを示す図である。
【図18】ジョブ設定画面を示す図である。
【図19】本実施形態における4面はがきの表面と裏面の配置を示す図である。
【図20】表面と裏面で配置順を変更する処理を示すフローチャートである。
【図21】使用済みの用紙に続けて印刷する場合の処理を示すフローチャートである。
【図22】4面はがきの指定に対してレイアウトの設定やセキュリティ処理を行う場合のフローチャートである。
【図23】最初の用紙の使用済み部分を設定するGUIを示す図である。
【図24】途中まで使用した用紙の残り部分に印刷を行う処理の概念を説明するための図である。
【図25】物理ページ情報を格納する処理を示すフローチャートである。
【図26】4面はがきを設定するプリンタドライバの印刷設定を行うプロパティダイアログGUIの一例である。
【図27】4面はがきを指定するGUIの他の具体例である。
【図28】図27に示す出力用紙の設定2701ではがきが選択され、はがき種別を選択するGUIのラジオボタン2801を示す図である。
【図29】デスプーラ305による表面か裏面かの判定の元となる処理を示すフローチャートである。
【図30】元になるページデータの処理順序が第1の表面、第1の裏面、第2の表面、第2の裏面…となっている場合の表面と裏面とを振り分ける処理を示すフローチャートである。
【図31】プリンタドライバ或いはプリントツールにて印刷データを生成する処理を示すフローチャートである。
【符号の説明】
1 CPU
2 RAM
3 ROM
4 システムバス
12 CPU
13 ROM
19 RAM
201 アプリケーション
202 グラフィックエンジン
203 プリンタドライバ
204 システムスプーラ
301 ディスパッチャ
302 スプーラ
303 スプールファイル
304 スプールファイルマネージャ
305 デスプーラ
306 プレビューア
307 設定変更エディタ
1500 プリンタ
3000 ホストコンピュータ

Claims (44)

  1. 用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する情報処理装置であって、
    印刷の設定を行う印刷設定手段と、
    アプリケーションから表面と裏面とで1組となる複数組のデータを入力する入力手段と、
    面付け処理すべき面が表面か裏面かを判定する判定手段と、
    前記用紙を前記複数の領域毎に分割した際に前記1組中の表面と裏面とが対応するように、前記判定手段により判定された面付け処理すべき面のページ配置順を設定する配置順設定手段と、
    設定されたページ配置順に基づき、表面に相当するページのデータをまとめて同一面に配置し、裏面に相当するページのデータをまとめて同一面に配置することで面付け処理を行う面付け処理手段とを有し、
    前記配置順設定手段は、表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順を決定することを特徴とする情報処理装置。
  2. 前記判定手段は、両面印刷の場合、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面又は裏面を自動的に判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記判定手段は、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面か裏面かを自動的に判定することを特徴とする請求項に記載の情報処理装置。
  4. 前記印刷設定手段により出力用の用紙として特定の用紙が指定されると、出力用紙の1面に配置されるページ数を指定するページレイアウトの項目を操作者が選択指示できないように印刷設定画面の表示を制御することを特徴とする請求項1乃至3の何れか一項に記載の情報処理装置。
  5. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項に記載の情報処理装置。
  6. 前記印刷設定手段は、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記配置順設定手段は、前記印刷設定手段で設定された指定に従って、印刷に使用する領域を配置対称として、面付け処理すべき面のページ配置順を設定することを特徴とする請求項1乃至の何れか一項に記載の情報処理装置。
  7. 前記配置順設定手段は、1枚目の用紙に対しては前記印刷設定手段で設定された指定により特定される印刷に使用する領域を配置対称とし、2枚目以降は全ての領域を配置対称とすることを特徴とする請求項に記載の情報処理装置。
  8. 用紙の面を複数の領域に分割し、分割された各領域に対して各ページが配置されて印刷装置で印刷されるための印刷データを生成する情報処理装置であって、
    用紙の面を複数の領域に分割し、分割された各領域に対して各ページを配置するための特定の用紙を出力用の用紙として設定する印刷設定手段と、
    前記用紙の面を分割した前記複数の領域に対して面付け処理すべきページ配置順を設定する配置順設定手段と、
    複数ページの描画データを入力する入力手段と、
    前記配置順設定手段で設定されたページ配置順に基づき、前記入力手段で入力された描画データから、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することで面付け処理を行う面付け処理手段と、
    前記面付け処理手段により面付け処理されたデータから印刷装置で印刷すべき印刷データを生成する生成手段とを有し、
    前記用紙の表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順が決定されることを特徴とする情報処理装置。
  9. 前記面付け処理手段は、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かを判定して各ページが表面か裏面かを判定することにより、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項8に記載の情報処理装置。
  10. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項8又は9に記載の情報処理装置。
  11. 前記印刷設定手段は、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記面付け処理手段は、前記印刷設定手段で設定された指定に従って、印刷に使用する領域を配置対称として、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項8乃至10の何れか一項に記載の情報処理装置。
  12. 用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する情報処理装置の印刷制御方法であって、
    印刷の設定を行う印刷設定工程と、
    アプリケーションから表面と裏面とで1組となる複数組のデータを入力する入力工程と、
    面付け処理すべき面が表面か裏面かを判定する判定工程と、
    前記用紙を前記複数の領域毎に分割した際に前記1組中の表面と裏面とが対応するように、前記判定工程で判定された面付け処理すべき面のページ配置順を設定する配置順設定工程と、
    設定されたページ配置順に基づき、表面に相当するページのデータをまとめて同一面に配置し、裏面に相当するページのデータをまとめて同一面に配置することで面付け処理を行う面付け処理工程とを有し、
    前記配置順設定工程では、表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順を決定することを特徴とする印刷制御方法。
  13. 前記判定工程は、両面印刷の場合、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面又は裏面を自動的に判定することを特徴とする請求項12に記載の印刷制御方法。
  14. 前記印刷設定工程は、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面か裏面かを自動的に判定することを特徴とする請求項13に記載の印刷制御方法。
  15. 前記印刷設定工程で出力用の用紙として特定の用紙が指定されると、出力用紙の1面に配置されるページ数を指定するページレイアウトの項目を操作者が選択指示できないように印刷設定画面の表示を制御することを特徴とする請求項12乃至14の何れか一項に記載の印刷制御方法。
  16. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項15に記載の印刷制御方法。
  17. 前記印刷設定工程は、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記配置順設定工程は、前記印刷設定工程で設定された指定に従って、印刷に使用する 領域を配置対称として、面付け処理すべき面のページ配置順を設定することを特徴とする請求項12乃至16の何れか一項に記載の印刷制御方法。
  18. 前記配置順設定工程は、1枚目の用紙に対しては前記印刷設定工程で設定された指定により特定される印刷に使用する領域を配置対称とし、2枚目以降は全ての領域を配置対称とすることを特徴とする請求項17に記載の印刷制御方法。
  19. 用紙の面を複数の領域に分割し、分割された各領域に対して各ページが配置されて印刷装置で印刷されるための印刷データを生成する情報処理装置の印刷制御方法であって、
    用紙の面を複数の領域に分割し、分割された各領域に対して各ページを配置するための特定の用紙を出力用の用紙として設定する印刷設定工程と、
    前記用紙の面を分割した前記複数の領域に対して面付け処理すべきページ配置順を設定する配置順設定工程と、
    複数ページの描画データを入力する入力工程と、
    前記配置順設定工程で設定されたページ配置順に基づき、前記入力工程で入力された描画データから、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することで面付け処理を行う面付け処理工程と、
    前記面付け処理工程で面付け処理されたデータから印刷装置で印刷すべき印刷データを生成する生成工程とを有し、
    前記用紙の表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順が決定されることを特徴とする印刷制御方法。
  20. 前記面付け処理工程では、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かを判定して各ページが表面か裏面かを判定することにより、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項19に記載の印刷制御方法。
  21. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項19又は20に記載の印刷制御方法。
  22. 前記印刷設定工程は、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記面付け処理工程は、前記印刷設定工程で設定された指定に従って、印刷に使用する領域を配置対称として、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項19乃至21の何れか一項に記載の印刷制御方法。
  23. 用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する情報処理装置の印刷制御方法のプログラムが格納されたコンピュータ読み取り可能な記憶媒体であって、前記プログラムは、
    プリンタへの制御コマンドを生成するモジュールと、
    印刷の設定を行う印刷設定モジュールと、
    アプリケーションから表面と裏面とで1組となる複数組のデータを入力する入力モジュールと、
    面付け処理すべき面が表面か裏面かを判定する判定モジュールと、
    前記用紙を前記複数の領域毎に分割した際に前記1組中の表面と裏面とが対応するように、前記判定モジュールで判定された面付け処理すべき面のページ配置順を設定する配置順設定モジュールと、
    設定されたページ配置順に基づき、表面に相当するページのデータをまとめて同一面に配置し、裏面に相当するページのデータをまとめて同一面に配置することで面付け処理を行う面付け処理モジュールとを有し、
    前記配置順設定モジュールは、表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順を決定することを特徴とする記憶媒体。
  24. 前記判定モジュールは、両面印刷の場合、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面又は裏面を自動的に判定することを特徴とする請求項23に記載の記憶媒体。
  25. 前記印刷設定モジュールは、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面か裏面かを自動的に判定することを特徴とする請求項24に記載の記憶媒体。
  26. 前記印刷設定モジュールで出力用の用紙として特定の用紙が指定されると、出力用紙の1面に配置されるページ数を指定するページレイアウトの項目を操作者が選択指示できないように印刷設定画面の表示を制御することを特徴とする請求項23乃至25の何れか一項に記載の記憶媒体。
  27. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項26に記載の記憶媒体。
  28. 前記印刷設定モジュールは、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記配置順設定モジュールは、前記印刷設定モジュールで設定された指定に従って、印刷に使用する領域を配置対称として、面付け処理すべき面のページ配置順を設定することを特徴とする請求項23乃至27の何れか一項に記載の記憶媒体。
  29. 前記配置順設定モジュールは、1枚目の用紙に対しては前記印刷設定モジュールで設定された指定により特定される印刷に使用する領域を配置対称とし、2枚目以降は全ての領域を配置対称とすることを特徴とする請求項28に記載の記憶媒体。
  30. 用紙の面を複数の領域に分割し、分割された各領域に対して各ページが配置されて印刷装置で印刷されるための印刷データを生成する情報処理装置の印刷制御方法のプログラムが格納されたコンピュータ読み取り可能な記憶媒体であって、前記プログラムは、
    用紙の面を複数の領域に分割し、分割された各領域に対して各ページを配置するための特定の用紙を出力用の用紙として設定する印刷設定モジュールと、
    前記用紙の面を分割した前記複数の領域に対して面付け処理すべきページ配置順を設定する配置順設定モジュールと、
    複数ページの描画データを入力する入力モジュールと、
    前記配置順設定モジュールで設定されたページ配置順に基づき、前記入力モジュールで入力された描画データから、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することで面付け処理を行う面付け処理モジュールと、
    前記面付け処理モジュールで面付け処理されたデータから印刷装置で印刷すべき印刷データを生成する生成モジュールとを有し、
    前記用紙の表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順が決定されることを特徴とする記憶媒体。
  31. 前記面付け処理モジュールは、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かを判定して各ページが表面か裏面かを判定することにより、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項30に記載の記憶媒体。
  32. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項30又は31に記載の記憶媒体。
  33. 前記印刷設定モジュールは、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記面付け処理モジュールは、前記印刷設定モジュールで設定された指定に従って、印刷に使用する領域を配置対称として、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項30乃至32の何れか一項に記載の記憶媒体。
  34. 用紙の面を複数の領域に分割し、分割された各領域に対して印刷データの配置を制御する情報処理装置の印刷制御方法のプログラムであって、コンピュータに、
    プリンタへの制御コマンドを生成する手順と、
    印刷の設定を行う印刷設定手順と、
    アプリケーションから表面と裏面とで1組となる複数組のデータを入力する入力手順と、
    面付け処理すべき面が表面か裏面かを判定する判定手順と、
    前記用紙を前記複数の領域毎に分割した際に前記1組中の表面と裏面とが対応するように、前記判定手順で判定された面付け処理すべき面のページ配置順を設定する配置順設定手順と、
    設定されたページ配置順に基づき、表面に相当するページのデータをまとめて同一面に配置し、裏面に相当するページのデータをまとめて同一面に配置することで面付け処理を行う面付け処理手順とを実行させ
    前記配置順設定手順では、表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順を決定することを特徴とするプログラム。
  35. 前記判定手順は、両面印刷の場合、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面又は裏面を自動的に判定することを特徴とする請求項34に記載のプログラム。
  36. 前記印刷設定手順は、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かが指定されることにより、表面か裏面かを自動的に判定することを特徴とする請求項35に記載のプログラム。
  37. 前記印刷設定手段により出力用の用紙として特定の用紙が指定されると、出力用紙の1面に配置されるページ数を指定するページレイアウトの項目を操作者が選択指示できないように印刷設定画面の表示を制御することを特徴とする請求項34乃至36の何れか一項に記載のプログラム。
  38. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項37に記載のプログラム。
  39. 前記印刷設定手順は、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記配置順設定手順は、前記印刷設定手順で設定された指定に従って、印刷に使用する領域を配置対称として、面付け処理すべき面のページ配置順を設定することを特徴とする請求項34乃至38の何れか一項に記載のプログラム。
  40. 前記配置順設定手順は、1枚目の用紙に対しては前記印刷設定手順で設定された指定により特定される印刷に使用する領域を配置対称とし、2枚目以降は全ての領域を配置対称とすることを特徴とする請求項39に記載のプログラム。
  41. 用紙の面を複数の領域に分割し、分割された各領域に対して各ページが配置されて印刷装置で印刷されるための印刷データを生成する情報処理装置の印刷制御方法プログラムであって、コンピュータに、
    用紙の面を複数の領域に分割し、分割された各領域に対して各ページを配置するための特定の用紙を出力用の用紙として設定する印刷設定手順と、
    前記用紙の面を分割した前記複数の領域に対して面付け処理すべきページ配置順を設定する配置順設定手順と、
    複数ページの描画データを入力する入力手順と、
    前記配置順設定手順で設定されたページ配置順に基づき、前記入力手順で入力された描画データから、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することで面付け処理を行う面付け処理手順と、
    前記面付け処理手順で面付け処理されたデータから印刷装置で印刷すべき印刷データを生成する生成手順とを実行させ、
    前記用紙の表面のページ配置順と裏面のページ配置順が対称となるようにページ配置順が決定されることを特徴とするプログラム。
  42. 前記面付け処理手順では、拡張アプリケーションプログラミングインタフェースを用いてアプリケーションと通信して、前記アプリケーションから表面のデータをすべて出力後に裏面のデータがすべて出力される形式か、表面と裏面の組が交互で出力される形式かを判定して各ページが表面か裏面かを判定することにより、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項41に記載のプログラム。
  43. 前記特定の用紙は、2×2の配置ではがきを並べた形である4面はがきであることを特徴とする請求項41又は42に記載のプログラム。
  44. 前記印刷設定手順は、用紙の一部分が使用済みである場合に用紙のどの領域を印刷に使用するかを特定するための指定を設定可能であり、
    前記面付け処理手順は、前記印刷設定手順で設定された指定に従って、印刷に使用する領域を配置対称として、前記用紙の表面に相当するページの描画データをまとめて同一面の各領域に配置し、前記用紙の裏面に相当するページの描画データをまとめて同一面の各領域に配置することを特徴とする請求項41乃至43の何れか一項に記載のプログラム。
JP2002039038A 2001-03-08 2002-02-15 情報処理装置及びその印刷制御方法並びに記憶媒体 Expired - Fee Related JP3854876B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002039038A JP3854876B2 (ja) 2001-03-08 2002-02-15 情報処理装置及びその印刷制御方法並びに記憶媒体
US10/090,837 US7525682B2 (en) 2001-03-08 2002-03-06 Information processing apparatus, print control method therefor, and storage medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001065382 2001-03-08
JP2001-65382 2001-03-08
JP2002039038A JP3854876B2 (ja) 2001-03-08 2002-02-15 情報処理装置及びその印刷制御方法並びに記憶媒体

Publications (2)

Publication Number Publication Date
JP2002333971A JP2002333971A (ja) 2002-11-22
JP3854876B2 true JP3854876B2 (ja) 2006-12-06

Family

ID=26610894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002039038A Expired - Fee Related JP3854876B2 (ja) 2001-03-08 2002-02-15 情報処理装置及びその印刷制御方法並びに記憶媒体

Country Status (2)

Country Link
US (1) US7525682B2 (ja)
JP (1) JP3854876B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2262792T3 (es) * 2002-03-28 2006-12-01 Telefonaktiebolaget Lm Ericsson (Publ) Una disposicion y un metodo para soportar el control de procesos/aplicaciones.
JP2004252665A (ja) * 2003-02-19 2004-09-09 Canon Inc 文書処理方法
US8014013B2 (en) * 2004-06-24 2011-09-06 Sharp Laboratories Of America, Inc. Systems and methods for segmenting pages and changing settings for graphical elements in printing
US20040252341A1 (en) * 2003-06-13 2004-12-16 Canon Kabushiki Kaisha Layout apparatus, layout method, and program product
JP2005165466A (ja) * 2003-11-28 2005-06-23 Canon Inc 印刷制御装置、印刷制御方法およびコンピュータプログラム
KR100797178B1 (ko) * 2004-01-27 2008-01-23 삼성전자주식회사 화상형성장치에 대한 설정관리방법
JP2006093917A (ja) * 2004-09-22 2006-04-06 Konica Minolta Business Technologies Inc 画像読取装置および画像処理装置、画像形成装置
KR100725488B1 (ko) * 2005-09-16 2007-06-08 삼성전자주식회사 인쇄시스템 및 그 인쇄방법
US20070188772A1 (en) * 2006-02-10 2007-08-16 Xerox Corporation Recursive build job graphical user interface
EP1821189B1 (en) * 2006-02-15 2014-07-23 Canon Kabushiki Kaisha Host apparatus and printing control method
US8400649B2 (en) * 2006-05-01 2013-03-19 Ricoh Company, Ltd. Approach for managing printer driver settings
US20070258744A1 (en) * 2006-05-02 2007-11-08 Liccini Roman D System and method for adjusting front-to-back printer registration
US8154743B2 (en) * 2006-12-01 2012-04-10 Kyocera Mita Corporation Printer testing system that conserves paper and toner
JP4845700B2 (ja) * 2006-12-13 2011-12-28 キヤノン株式会社 画像形成装置及びその制御方法
JP4829768B2 (ja) * 2006-12-19 2011-12-07 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、画像形成装置を管理する管理装置、及び画像形成装置を管理する管理装置の制御方法
KR101305978B1 (ko) * 2006-12-28 2013-09-12 삼성전자주식회사 화상형성장치 및 그 제어방법
JP4621759B2 (ja) * 2008-07-30 2011-01-26 シャープ株式会社 画像処理装置及びプレビュー表示方法
JP4710985B2 (ja) * 2009-01-30 2011-06-29 ブラザー工業株式会社 印刷システム、情報処理装置、印刷制御プログラム、画像形成装置
JP5561051B2 (ja) * 2010-09-10 2014-07-30 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US20120081748A1 (en) * 2010-10-05 2012-04-05 Toshiba Tec Kabushiki Kaisha Image processing apparatus and image processing method
JP5754114B2 (ja) * 2010-11-22 2015-07-29 株式会社リコー 画像形成装置、情報設定システム、情報設定方法及び情報設定プログラム
JP2013055418A (ja) * 2011-09-01 2013-03-21 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
JP2013056472A (ja) * 2011-09-08 2013-03-28 Canon Inc 画像形成装置及びその制御方法、並びにプログラム、記録媒体
JP5847560B2 (ja) * 2011-11-28 2016-01-27 キヤノン株式会社 印刷制御装置、その制御方法、及びプログラム
JP5656911B2 (ja) * 2012-05-02 2015-01-21 富士フイルム株式会社 画像編集装置、方法及びプログラム
JP6331910B2 (ja) * 2013-09-17 2018-05-30 株式会社リコー 情報処理装置、情報処理システム、及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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
JPH07104622A (ja) * 1993-10-05 1995-04-21 Riso Kagaku Corp 画像形成装置
JPH07276734A (ja) 1994-04-14 1995-10-24 Canon Inc 画像形成装置
US6307637B1 (en) 1996-02-07 2001-10-23 Canon Kabushiki Kaisha Printing control apparatus and method
JP3368175B2 (ja) 1997-03-13 2003-01-20 キヤノン株式会社 印刷制御装置及び方法
US5995719A (en) * 1997-03-25 1999-11-30 Barco Graphics Nv Method for proofing imposed documents
JP2000177196A (ja) 1998-12-15 2000-06-27 Seiko Epson Corp プリンタ装置、印字方法および記録媒体

Also Published As

Publication number Publication date
US7525682B2 (en) 2009-04-28
US20020131086A1 (en) 2002-09-19
JP2002333971A (ja) 2002-11-22

Similar Documents

Publication Publication Date Title
JP3854876B2 (ja) 情報処理装置及びその印刷制御方法並びに記憶媒体
JP3689662B2 (ja) 情報処理装置及びその表示方法
JP3937666B2 (ja) 印刷制御方法および装置
JP3634695B2 (ja) 印刷制御方法および装置
JP4834256B2 (ja) 情報処理装置および印刷データ生成方法および印刷制御プログラムおよび記憶媒体
JP4298146B2 (ja) 印刷データを生成する情報処理装置及び方法
JP3619087B2 (ja) 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP4785303B2 (ja) 印刷制御装置、印刷制御方法およびプログラム
JP4328426B2 (ja) 印刷制御方法および装置
JP3679660B2 (ja) 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP3733288B2 (ja) 情報処理装置および印刷制御方法および記憶媒体
JP3880307B2 (ja) 情報処理装置および方法
JP4777475B2 (ja) 情報処理装置、制御方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP4756796B2 (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP3631068B2 (ja) 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
US20030007181A1 (en) Information processing apparatus and control method therefor
JP3962513B2 (ja) プレビュー画像表示方法、情報処理装置およびプログラムを記憶した記憶媒体
JP4266462B2 (ja) 情報処理装置およびその制御方法
JP3673684B2 (ja) 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP4612917B2 (ja) 制御方法及び情報処理装置及びコンピュータ読み出し可能な記録媒体
JP3890172B2 (ja) プレビュー画像表示方法、印刷制御装置およびプログラムを記録した記録媒体
JP3720771B2 (ja) 製本印刷制御装置、製本印刷制御方法、記憶媒体、及びプログラム
JP4006150B2 (ja) 印刷制御方法および装置
JP5014481B2 (ja) 印刷制御装置、印刷制御方法およびプログラム
JP4612909B2 (ja) 制御方法及び情報処理装置及びコンピュータ読み出し可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

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: 20060828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060911

R150 Certificate of patent or registration of utility model

Ref document number: 3854876

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090915

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110915

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110915

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130915

Year of fee payment: 7

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees