JP3631068B2 - Information processing apparatus, information processing method, and storage medium storing computer-readable program - Google Patents
Information processing apparatus, information processing method, and storage medium storing computer-readable program Download PDFInfo
- Publication number
- JP3631068B2 JP3631068B2 JP31287099A JP31287099A JP3631068B2 JP 3631068 B2 JP3631068 B2 JP 3631068B2 JP 31287099 A JP31287099 A JP 31287099A JP 31287099 A JP31287099 A JP 31287099A JP 3631068 B2 JP3631068 B2 JP 3631068B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- setting
- data
- page
- 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
- 230000010365 information processing Effects 0.000 title claims description 41
- 238000003860 storage Methods 0.000 title claims description 26
- 238000003672 processing method Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims description 112
- 230000008569 process Effects 0.000 claims description 104
- 238000007639 printing Methods 0.000 claims description 102
- 230000008859 change Effects 0.000 claims description 65
- 230000006870 function Effects 0.000 claims description 53
- 238000012790 confirmation Methods 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000012217 deletion Methods 0.000 claims description 20
- 230000037430 deletion Effects 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 82
- 238000012546 transfer Methods 0.000 description 52
- 230000015654 memory Effects 0.000 description 34
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 239000000463 material Substances 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 8
- 230000007958 sleep Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 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
- 238000005304 joining Methods 0.000 description 2
- 230000009467 reduction Effects 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
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000002452 interceptive effect 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
- 230000004044 response Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体に関するもので、特にホストコンピュータにおいて、複数の印刷要求を一つの印刷ジョブに結合する技術にするものである。
【0002】
【従来の技術】
従来、ホストコンピュータにおいて、あるアプリケーションにより生成された一つのドキュメント(文書データ)を印刷する場合、通常そのドキュメントから生成されるひとつの印刷ジョブに対しては、予めプリンタドライバで設定される複数の印刷設定項目からなる一組の印刷設定属性が定義される。
【0003】
また、アプリケーションで印刷指示した文書データをプリンタに出力せずにクライアント(ホストコンピュータ)に保持しておき、複数の文書データをまとめて1つのジョブとしてプリンタに送信する「まとめ印刷」機能を有するソフトウェアがある。
【0004】
ユーザが複数のアプリケーション、例えば、文書を作成するのに適したアプリケーションA、表を作成するのに適したアプリケーションB、図面を作成するのに適したアプリケーションC等により生成した印刷ジョブをまとめて印刷したい場合があるが、しかしながら「まとめ印刷」機能は、複数の印刷ジョブをまとめて1つの印刷ジョブにしているだけであり、まとめ印刷するという指示がされ、まとめ印刷用にデータをスプールした順番で印刷時も出力されるため、ユーザは出力したページにスプールしなければならず、使い勝手が悪いという問題があった。例えば、文書、図面、文書、表、文書と1ページづつなる資料を印刷したい場合には、アプリケーションAにより1ページ目を作成し、スプールさせ、アプリケーションBにより2ページ目を作成し、スプールさせ、再度アプリケーションAにより3ページ目を作成し、スプールさせ、アプリケーションCにより4ページ目を作成し、スプールさせ、アプリケーションAにより5ページ目を作成して、スプールしなければならなかった。
【0005】
また、まとめて1つにした印刷すべきデータのプレビューをみたい場合にも、それぞれのアプリケーションにより提供されているプレビューを見ることはできるが、プリンタドライバで設定される複数の印刷設定を反映したプレビューを見ることはできなかった。
【0006】
更に、複数のファイルをまとめて1つの印刷ジョブとして印刷したい場合には、まとめたジョブに対してフィニッシングの指定をユーザが行いたい場合にもそれを提供する手段がなく、その場合のプレビュー機能を有しているものがないという問題があり、実際にどのように印刷装置で印刷出力されるのか、印刷してみなければわからないという問題がある。
【0007】
また、「まとめ印刷」を使用してデバイス側でページレイアウト機能(Nページ/枚)を使用した場合には、複数のジョブに対して同様のページレイアウト処理を行うことが可能であるが、元の印刷ジョブ毎に異なるレイアウトをもたせたまま印刷ジョブの結合を行うことができなかった。
【0008】
【発明が解決しようとする課題】
このように従来の「まとめ印刷」は、ただの連続印刷であるにすぎず、ページ単位に異なるレイアウトを用いて1つの印刷ジョブを作成するようなことはできなかった。
【0009】
そこで本発明は、それぞれの印刷設定情報をもった印刷ジョブを結合できる仕組みを提供することを目的とする。
【0010】
また、それぞれに印刷設定情報を有した複数の印刷ジョブをまとめて一つの結合ジョブを作る際に、もともと印刷をするときの設定がばらばらであるような場合には、何らかの設定の統一を行わう機構を持つ必要があり、自動的に統一する場合、何を変更したことによって統一したのかが分かる仕組みを提供することを目的とする。
【0011】
また、複数の印刷ジョブをまとめた後にジョブ単位で管理・編集する機能、例えば、印刷した順序に関係無く、印刷順序をジョブ単位で並び替えられる機能や、ジョブ単位で、結合ジョブ中から印刷ジョブを削除することや、結合ジョブを元の単独の複数ジョブに戻す機能を提供することを目的とする。
【0012】
また、印刷ジョブを論理ページ単位で編集すること、例えば、不要なページの削除が行える仕組みを提供することを目的とする。
【0013】
更に、結合ジョブをページ単位で編集した後、元の単独ジョブに戻す仕組みを提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成する本発明の情報処理装置は、以下に示す構成を備える。
【0015】
即ち、印刷装置に送信すべき印刷データを生成する情報処理装置であって、アプリケーションにより生成された印刷すべきデータを中間コード形式の印刷ジョブに変換し、該印刷すべきデータの印刷設定情報と関連付けて一時保存する中間コード変換手段と、前記中間コード変換手段により変換された複数の異なる印刷すべきデータに対応する複数の中間コード形式の印刷ジョブを結合して1つの結合ジョブにする結合指示をする結合指示手段と、前記結合指示手段により複数の印刷ジョブを1つの結合ジョブにする結合指示がなされた場合に、前記一時保存されている当該複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない設定内容が当該複数の印刷ジョブで異なっているかを判断する判断手段と、前記判断手段により1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっていると判断された場合に、当該設定内容を統一する旨の確認メッセージを表示する確認メッセージ表示手段と、前記確認メッセージ表示手段により前記確認メッセージを表示した後で、1つの印刷ジョブに対して1つしか設定できない設定内容を統一した結合ジョブ用の印刷設定情報を生成する設定統一手段とを有する。
【0016】
また、前記確認メッセージ表示手段は、前記結合対象の複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない情報が異なる場合に、当該設定を統一するか、印刷ジョブの結合を行わないかを選択させるよう確認するための確認メッセージを表示する。
【0017】
また、前記中間コード形式の印刷ジョブは、ページ単位のページ描画ファイルとして一時保存されている。
【0018】
また、前記結合ジョブ用の印刷設定情報は、物理ページにレイアウトされるページ描画ファイルを指定する情報が付加されている。
【0019】
また、前記印刷設定情報は、印刷ジョブ単位の印刷設定ファイルとして一時保存されている。
【0020】
また、前記印刷ジョブもしくは前記結合ジョブの印刷設定情報に基づいたプレビューを表示するよう制御するプレビュー表示制御手段を更に有する。
【0021】
また、前記結合ジョブ内の複数の印刷ジョブを操作し、印刷ジョブの順序を入れ替える順序制御手段を更に有する。
【0022】
また、前記結合ジョブ内の複数の印刷ジョブを操作し、特定の印刷ジョブの削除を行うジョブ削除手段を更に有する。
【0023】
また、前記結合ジョブに対して、結合前の複数の印刷ジョブへ分割するジョブ分割手段を更に有する。
【0024】
また、前記印刷ジョブもしくは前記結合ジョブを指定させ、指定された印刷ジョブの複製を作成するジョブ複製手段を更に有する。
【0025】
また、前記印刷ジョブもしくは前記結合ジョブは、印刷設定情報に基づいて、当該ジョブの基となる中間コード形式のデータ作成時の初期状態の戻す設定初期化手段を更に有する。
【0026】
また、前記印刷ジョブもしくは前記結合ジョブ内の論理ページに対して、指定するページの削除を行うページ編集手段を更に有する。
【0027】
また、前記中間コード変換手段により一時保存された中間コード形式のデータに基づいて、前記印刷装置に送信すべき印刷データを生成する印刷データ生成手段を更に有する。
【0028】
また、前記中間コード変換手段により一時保存された中間コード形式のデータをOSの描画手段で解釈可能な描画命令に変換して出力する描画命令生成手段と、前記アプリケーションからOSの描画手段を介して受け取った印刷命令は前記中間データ変換手段に渡し、前記描画命令生成手段からOSの描画手段を介して受け取った印刷命令は前記印刷データ生成手段に渡す印刷命令割り振り手段とを更に有する。
【0029】
また、前記描画命令はGDI関数であり、前記印刷命令はDDI関数であり、前記印刷データはプリンタ言語である。
【0030】
また、本発明のその他の解決手段は、上記装置を制御する方法、プログラムが格納された記憶媒体、もしくはコンピュータプログラムにおいて実現する。
【0031】
【発明の実施の形態】
[第一実施例]
以下、本発明を適用するのに好適である実施例について説明を行う。
【0032】
図1は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【0033】
同図において、ホストコンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データを記憶する。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
【0034】
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インタフェイス(インタフェイス)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。
【0035】
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【0036】
プリンタ1500は、CPU12により制御される。プリンタCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【0037】
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
【0038】
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0039】
図2は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD?ROM、あるいは不図示のネットワークを経由して外部ディスク11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
【0040】
グラフィックエンジン202は、印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取るGDI(Graphic Device Interface)関数からDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインタフェイス21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
【0041】
本実施形態の印刷システムは、図2で示すプリンタとホストコンピュータからなる印刷システムに加えて、更に図3に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【0042】
図3は、図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。図2のシステムでは、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図3のシステムでは、スプーラ302がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。また、図3で示すシステムにおいては、スプールファイル303の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【0043】
これらの目的のために、図2のシステムに対し、図3の様に中間コードデータでスプールする様、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM2上あるいは外部メモリ11上に保管する。
【0044】
以下、図3の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン202からの印刷命令であるDDI関数をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令(DDI関数)を送付する。
【0045】
スプーラ302は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル303に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定(Nup、両面、ステイプル、カラー/モノクロ指定等)をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル303に保存する。このジョブ単位に格納されている設定ファイルをジョブ設定ファイル(簡略してSDF:Spool Description Fileと呼ぶこともある)と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成されても構わない。更にスプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【0046】
スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、デスプーラ305に対して、スプールファイル303に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【0047】
デスプーラ305はスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックエンジン202経由でGDI関数を出力する。
【0048】
ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)がデスプーラ305からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。
【0049】
プリンタドライバ203はグラフィックエンジン202から取得したDDI関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
【0050】
更に、図3では、これまで説明した拡張システムに加えて、プレビューア306、設定変更エディタ307を配し、プレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。
【0051】
印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図9に示すプリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニューにおいて「ストア」を指定する必要がある。なお、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
【0052】
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてOSが提供する構造体(WindowsOSでは、DEVMODEと呼ばれる)に格納される。その構造体には、例えばスプールファイル303に含まれる加工設定中にスプールファイルマネージャ304にストアを行うかどうかの設定が含まれており、スプールファイルマネージャ304がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル303にページ描画ファイルとジョブ設定ファイルとが生成・格納され、図16のようにスプールファイルマネージャのウインドウ画面がポップアップされ、スプールファイル303にスプールされたジョブがリスト表示される。図16には、4つのジョブがスプールされている例を示しており、メニューバーもしくは、そのすぐ下のメニューアイコンを押下することにより、ジョブの操作を行うことができる。メニューバーとメニューアイコンの操作の数は同じである。操作種類としては、ジョブを選択した状態で、「印刷」、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」、中間コードのスプールファイルを削除する「削除」、中間コードのスプールファイルのコピーを生成する「複製」、複数の中間コードのスプールファイルのジョブを結合して1つのジョブにする「結合」、結合ジョブを元の複数のジョブに分割する「分割」、単体ジョブもしくは結合ジョブの印刷設定(レイアウト設定やフィニッシング設定等)を変更する「ジョブ編集」、あるジョブの印刷順序を最初にする「先頭に移動」、あるジョブの印刷順序を1つ早くする「1つ上に移動」、あるジョブの印刷順序を1つお則する「1つ下に移動」、あるジョブの印刷順序を最後にする「最後に移動」の以上11個の操作がある。
【0053】
スプールファイルマネージャのウインドウ画面(図16)上で、ある単体ジョブもしくは結合ジョブのプレビュー指定がされた場合、外部メモリ11に格納されているプレビューア306をRAM2にロードし、プレビューア306に対して、スプールファイル303に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【0054】
プレビューア306はスプールファイル303に含まれる中間コードのページ描画ファイル(PDF)を順次読み出し、スプールファイル303に格納されているジョブ設定ファイル(SDF)に含まれる加工設定情報の内容に従って加工し、グラフィックエンジン202に対してGDI関数を出力し、グラフィックエンジン202が自身のクライアント領域に描画データを出力することによって、画面上の出力が可能となる。
【0055】
グラフィックエンジン202は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア306は、デスプーラ305同様に、スプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、グラフィックエンジン202を利用して出力する方法で実現可能となる。このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルとしてスプールファイル303に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力することにより、実際の描画データがどのように印刷されるか、更には、Nup(Nページの論理ページを1ページの物理ページに縮小配置して印刷する処理)指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。なお、従来の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。
【0056】
上記のようにプレビュー処理を行うことにより、図17のようにスプールファイル303に含まれる印刷の加工設定の大プレビューがプレビューア306によって画面上に表示され、その後、ユーザの非表示指示によって、プレビューア306がクローズされ、制御がスプールファイルマネージャのウインドウ画面(図16)に移行する。
【0057】
そして、ユーザがプレビューア306によって表示された内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、「印刷」もしくは「セーブして印刷」を指示することにより印刷要求を発行する。印刷要求は前述したように、デスプーラ305によりジョブ設定ファイルに基づいてページ描画ファイルを加工してGDI関数を生成し、グラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
【0058】
次に、設定変更エディタ307を用いた設定変更について説明する。
【0059】
その実現方法としては、プレビュー同様、図9において「ストア」指定されたジョブに関して設定可能である。同様のフローによりスプールファイルマネージャ304がポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャのウインドウ画面(図16)上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ11に格納されている設定変更エディタ307をRAM2にロードし、設定変更エディタ307に対して、現在またはデフォルトの加工設定の表示を行うように指示する。そして図18のようなジョブ設定画面が表示される。
【0060】
設定変更エディタ307は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルをスプールファイル303から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいて図18のジョブ設定画面のデフォルト値を変更する。図18に示す例では、「ジョブ編集」指定されたジョブのジョブ設定ファイルには、部数:1部、印刷方法:片面、ステイプル:なし、レイアウト:1ページ/枚等が指定されていることになる。
【0061】
この設定変更エディタ307でもスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン202を用いて自身のクライアント領域に出力することによって、図18に示す画面上の小プレビュー出力が可能となる。
【0062】
またここで、スプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインターフェイスに持っていても、プリンタドライバ203自身のユーザインターフェイスを呼び出しても構わない。図18に示すように、分数、印刷方法(片面、両目、製本印刷)、ステイプル(サドルフィニッシャー等)、ページレイアウト、配置順等の指定ができ、また「詳細設定」を押下することにより、プリンタドライバで指定できる項目の大半を設定しなおすことが可能となる。ただし、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
【0063】
ここで変更された変更項目は設定変更エディタ307上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ304に移行する。変更が認証されたものは、印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は、図10以降で後述する。
【0064】
そして、ユーザがプレビューア306での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
【0065】
また、スプールファイルマネージャのウインドウ画面(図16)では、複数の印刷ジョブを結合し、一つの印刷ジョブとして印刷するように指定することが可能である。これも、プレビュー、設定変更同様、図9のプリンタドライバのプロパティにおいて出力先を「ストア」指定されたジョブが前提となる。
【0066】
ユーザが印刷ジョブの結合を行う場合、まず、アプリケーション201からプリンタドライバ203を呼び出し、図9に示すようなユーザインターフェイス上からストアを選択する。前記同様、この選択により、スプールファイル303にストアされ、図16のようにスプールファイルマネージャのウインドウ画面(図16)がポップアップされる。スプールされたジョブはスプールファイルマネージャのウインドウ上にリスト表示される。アプリケーション201から同様の操作をすることにより、スプールファイルマネージャ304上に複数ジョブのリスト表示がされることになる。
【0067】
ここで、複数ジョブを選択し、「結合」が指定された場合、外部メモリ11に格納されている設定変更エディタ307をRAM2にロードし、設定変更エディタ307に対して、リスト上の先頭ジョブまたはデフォルトの加工設定の表示を行うように指示する。そして図18のような結合設定画面が表示される。ここでは、設定変更エディタ307を結合設定画面として用いているが、別モジュールのものを用いても構わない。
【0068】
この設定変更エディタ307は、スプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定情報に含まれる加工設定の内容に従って加工し、結合ジョブとして指定されたすべてのジョブに対して、グラフィックエンジン202を用いて自身のクライアント領域に出力することによって、画面上の出力を行う。その際、図18に示すプレビュー領域に選択された全てのジョブの小プレビューが可能となる。また、結合ジョブを生成する際に、それぞれの単体ジョブのジョブ設定ファイルを拡張したジョブ出力用設定ファイルを生成する。このジョブ出力用設定ファイルは、ジョブ編集を行う際にも生成されるものであり、1つのジョブに対して1つできるものであり、結合ジョブの場合もまた1つ生成される。
【0069】
ここではそれぞれのジョブに対して、結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインターフェイスに持っていても、プリンタドライバ203自身のユーザインターフェイスを呼び出しても構わない。
【0070】
ここで結合されたジョブ及び変更された変更項目は、前述したように、設定変更エディタ307上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ304に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウインドウ上で一つの結合ジョブとして表示される。
【0071】
そして、ユーザがプレビューア306での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
【0072】
図4は、プリンタ1500の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
【0073】
このプリンタはホストコンピュータ3000より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー31により感光ドラム15を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体9へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材2へ転写し、転写材2上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム15を有するドラムユニット、接触帯電ローラ17を有する一次帯電部、クリーニング部、現像部、中間転写体9、用紙カセット1や各種ローラ3、4、5、7を含む給紙部、転写ローラ10を含む転写部及び定着部25によって構成されている。
【0074】
ドラムユニット13は、感光ドラム(感光体)15と感光ドラム15のホルダを兼ねたクリーニング機構を有するクリーナ容器14とを一体に構成したものである。このドラムユニット13はプリンタ本体に対して着脱自在に支持され、感光ドラム15の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム15はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器14に回転可能に支持されている。感光ドラム15は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム15を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム15の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部30では、変調されたレーザ光を、モータ31aにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ32、反射鏡33を介して感光ドラムを照射する。
【0075】
現像部は、上記静電潜像を可視画像化するために、イエロー(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が設けられている。
【0076】
また、ブラック現像器21Bはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器20Y、20M、20Cは回転軸22を中心に回転する現像ロータリー23にそれぞれ着脱可能に取り付けられている。
【0077】
ブラック現像器21Bのスリープ21BSは感光ドラム15に対して例えば300μm程度の微小間隔を持って配置されている。ブラック現像器21Bは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリープ21BSの外周に塗布ブレード21BBによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリープ21BSに現像バイアスを印加することにより、静電潜像に応じて感光ドラム15に対して現像を行って感光ドラム15にブラックトナーによる可視画像を形成する。
【0078】
3個のカラー現像器20Y、20M、20Cは、画像形成に際して現像ロータリー23の回転に伴って回転し、所定のスリープ20YS、20MS、20CSが感光ドラム15に対して300μm程度の微小間隔を持って対向することになる。これにより所定のカラー現像器20Y、20M、20Cが感光ドラム15に対向する現像位置に停止し、感光ドラム15に可視画像が作成される。
【0079】
カラー画像形成時には、中間転写体9の1回転毎に現像ロータリー23が回転し、イエロー現像器20Y、マゼンダ現像器20M、シアン現像器20C、次いでブラック現像器21Bの順で現像工程がなされ、中間転写体9が4回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体9上に形成する。
【0080】
中間転写体9は、感光ドラム15に接触して感光ドラム15の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム15から4回の可視画像の多重転写を受ける。また、中間転写体9は画像形成時に後述する転写ローラ10が接触して転写材2を挟持搬送することにより転写材2に中間転写体9上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体9の回転方向に関する位置を検知するためのTOPセンサ9a及びRSセンサ9bと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ9cが配置されている。
【0081】
転写ローラ10は、感光ドラム15に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【0082】
転写ローラ10は、図4に実線で示すように中間転写体9上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体9上に4色のカラー可視画像が形成された後は、このカラー可視画像を転写材2に転写するタイミングに合わせてカム部材(不図示)により転写ローラ10を図示点線で示す上方に位置させる。これにより転写ローラ10は転写材2を介して中間転写体9に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体9上のカラー可視画像が転写材2に転写される。
【0083】
定着部25は、転写2を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材2を加熱する定着ローラ26と転写材2を定着ローラ26に圧接させるための加圧ローラ27とを備えている。定着ローラ26と加圧ローラ27とは中空状に形成され、内部にそれぞれヒータ28、29が内蔵されている。即ち、カラー可視画像を保持した転写材2は定着ローラ26と加圧ローラ27とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【0084】
可視画像定着後の転写材2は、その後排紙ローラ34、35、36によって排紙部37へ排出して画像形成動作を終了する。
【0085】
クリーニング手段は、感光ドラム15上及び中間転写体9上に残ったトナーをクリーニングするものであり、感光ドラム15上に形成されたトナーによる可視画像を中間転写体9に転写した後の廃トナーあるいは、中間転写体9上に作成された4色のカラー可視画像を転写材2に転写した後の廃トナーは、クリーナ容器14に蓄えられる。
【0086】
印刷される転写材(記録用紙)2は、給紙トレイ1から給紙ローラ3により取り出されて中間転写体9と転写ローラ10との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部25を通過してトナー像が定着される。片面印刷の場合には、案内38が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【0087】
両面ユニットに導かれた記録用紙は、搬送ローラ40によりトレイ1の下部(二点鎖線で示す搬送経路)に一旦送り込まれた後に逆方向に搬送され、両面トレイ39に送られる。両面トレイ39上では、用紙は給紙トレイ1に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【0088】
図5は、スプーラ302における、スプールファイル303の生成におけるページ単位保存ステップの処理をフローチャートで示したものである。
【0089】
まずステップ501では、スプーラ302は、アプリケーションからグラフィックエンジン202を介して印刷要求を受け付ける。アプリケーションにおいては、図8に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ303に渡される。図8に示す設定入力ダイアログにおいては、801のような1物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
【0090】
ステップ502では、スプーラ302は、受け付けた印刷要求がジョブ開始要求か判定し、もしステップ502でジョブ開始要求であると判断した場合には、ステップ503に進み、スプーラ302は、中間データを一時的に保存するためのスプールファイル303を作成する。続いて、ステップ504では、スプーラ302は、スプールファイルマネージャ304へ印刷処理の進捗を通知し、続くステップ505でスプーラ302のページ数カウンタを1に初期化する。ここで、スプールファイルマネージャ304においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル303より読み込み、記憶する。
【0091】
一方、ステップ502において、ジョブ開始要求ではなかったと判断した場合には、ステップ506に進む。
【0092】
ステップ506では、スプーラ302は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップ507に進み、改ページかどうかの判別を行う。もしもステップ507で改ページであると判断した場合には、ステップ508に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。
【0093】
ステップ507において、受け付けた印刷要求が改ページではないと判断した場合には、ステップ509に進み、スプーラ302は、ページ描画ファイルへの中間コードの書き出しの準備を行う。
【0094】
次に、ステップ510では、印字要求をスプールファイル303へ格納するため、スプーラ302は、印字要求のDDI関数の中間コードへの変換処理を行う。ステップ511では、スプーラ302は、ステップ510において格納可能な形に変換された印刷要求(中間コード)をスプールファイル303のページ描画ファイルへ書き込む。その後、ステップ501に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップ501からステップ511までの処理を、アプリケーションよりジョブ終了要求(End Doc)を受け取るまで続ける。また、スプーラ302は、同時にプリンタドライバ203からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル303に格納する。一方、ステップ506にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップ512に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知し、処理を終える。
【0095】
図6は、スプールファイルマネージャ304における、スプールファイル303生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細をフローチャートで示したものである。
【0096】
ステップ601では、スプールファイルマネージャ304は、スプーラ302あるいはデスプーラ305からの印刷処理の進捗通知を受け付ける。
【0097】
ステップ602では、スプールファイルマネージャ304は、もし進捗通知が前述のステップ504において通知されるスプーラ302からの印刷開始通知であるかどうか判定し、もしそうであればステップ603へ進み、印刷の加工設定をスプールファイル303から読み込み、ジョブの管理を開始する。一方、ステップ602において、スプーラ302からの印刷開始通知でなければステップ604へ進み、スプールファイルマネージャ304は、進捗通知が前述のステップ508において通知されるスプーラ302からの1論理ページの印刷終了通知であるかどうか判定する。ここで1論理ページの印刷終了通知であればステップ605へ進み、この論理ページに対する論理ページ情報を格納する。そして、続くステップ606では、この時点でスプールが終了したn論理ページに対して、1物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップ607へ進み、印刷する1物理ページに対して割り付けれられる論理数から物理ページ番号を決定する。
【0098】
物理ページの計算については、例えば、加工設定が1物理ページに4論理ページを配置するような設定の場合、第1物理ページは第4論理ページがスプールされた時点で印刷可能となり、第1物理ページとなる。続いて、第2物理ページは第8論理ページがスプールされた時点で印刷可能となる。
【0099】
また、論理ページ数の総数が1物理ページに配置する論理ページ数の倍数でなくても、ステップ512におけるスプール終了通知によって1物理ページに配置する論理ページが決定可能である。
【0100】
そして、ステップ608では、図10に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がジョブ出力用設定ファイル(物理ページ情報を含むファイル)に保存され、物理ページ情報が1物理ページ分追加されたことがデスプーラ305に通知される。その後ステップ601に戻り、次の通知を待つ。本実施例においては、印刷データ1ページ、即ち1物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【0101】
一方、ステップ604において、進捗通知がスプーラ302からの1論理ページの印刷終了通知でなかった場合ステップ609へ進み、スプールファイルマネージャ304は、前述のステップ512において通知されるスプーラ302からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップ606へ進む。一方、ジョブ終了通知でない場合、ステップ610へ進み、スプールファイルマネージャ304は、受け付けた通知がデスプーラ305からの1物理ページの印刷終了通知であるかどうか判定する。ここで、1物理ページの印刷終了通知である場合はステップ612へ進み、加工設定の印刷が全て終了したかを判定する。印刷終了した場合、ステップ612へ進み、デスプーラ305に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述の606へ進む。本実施例におけるデスプーラ305は印刷処理を行う単位として1物理ページ数を想定している。また、ステップ608では、1物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、1物理ページ単位で次々と上書きする実装にして、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合には、ステップ608で1物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約することが可能である。
【0102】
ステップ610において、通知がデスプーラ305からの1物理ページの印刷終了通知でないと判断された場合、ステップ613へ進み、スプールファイルマネージャ304は、デスプーラ305からの印刷終了通知かどうかを判定する。通知がデスプーラ305からの印刷終了通知と判定された場合、ステップ614へ進み、スプールファイルマネージャ304は、スプールファイル303の該当するページ描画ファイルの削除を行い処理を終える。ただし、一方、デスプーラ305からの印刷終了通知でなかった場合はステップ615へ進み、その他通常処理を行い、次の通知を待つ。
【0103】
図7は、デスプーラ305における、印刷データの生成プロセスの詳細をフローチャートで示したものである。
【0104】
デスプーラ305は、スプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報(ページ描画ファイルおよびジョブ設定ファイル)を読み出して印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図3で説明した通りである。
【0105】
印刷データの生成では、まず、ステップ701において、前述のスプールファイルマネージャ304からの通知を入力する。続くステップ702では、デスプーラ305は、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップ703へ進み、終了フラグを立て、ステップ705へ進む。一方、ステップ702においてジョブ終了通知でない場合は、ステップ704に進み、前述のステップ608における1物理ページの印刷開始要求が通知されたかどうか判定する。ステップ704において開始要求と判定されなかった場合は、ステップ710へ進み、その他エラー処理を行い、ステップ701へ戻り次の通知を待つ。一方、ステップ704において1物理ページの印刷開始要求と判定された場合は、ステップ705へ進み、デスプーラ305は、ステップ704で通知を受けた印刷処理可能な物理ページのIDを保存する。続くステップ706では、デスプーラ305は、ステップ705で保存した物理ページIDのすべてのページに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの処理が済んでいる場合は、ステップ707へ進み、前述のステップ703で終了フラグが立てられているのか判定する。終了フラグがたっている場合は、ジョブの印刷が終了したとみなし、デスプーラ305の処理終了の通知をスプールファイルマネージャ304に通知し、処理を終える。ステップ707で、終了フラグが立っていないと判定された場合は、ステップ701へ戻り次の通知を待つ。一方、ステップ706で、印刷可能な物理ページが残っていると判定された場合には、ステップ708へ進み、デスプーラ305は、保存された物理ページIDから未処理の物理ページIDを順に読み出し、読み出した物理ページIDに対応する物理ページの印刷データ生成に必要な情報を読み込み、印刷処理を行う。印刷処理はスプールファイル303に格納された印刷要求命令をデスプーラ305においてグラフィックエンジン202が認識可能な形式(GDI関数)に変換し、転送する。本実施例のような、複数論理ページを1物理ページにレイアウトするような加工設定(以下Nページ印刷)については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理が終えたならば、続くステップ709において1物理ページの印刷データ生成終了の通知をスプールファイルマネージャ304に対して行う。そして再びステップ706へ戻り、ステップ705で保存しておいた印刷可能な物理ページIDすべてについて印刷処理を行うまで繰り返す。
【0106】
以上が、ディスパッチャ301、スプーラ302、スプールファイルマネージャ304、デスプーラ305を用いた印刷処理の流れである。上記のように処理することにより、スプーラ302が中間コードを生成してスプールファイル303に格納するタイミングでアプリケーション201が印刷処理から開放されるので、プリンタドライバ203に直接出力するよりも短時間で済む。また、スプールファイル303にプリンタドライバの印刷設定を踏まえた中間ファイル(ページ描画ファイル、ジョブ設定ファイル)として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーションにより生成した印刷ジョブの結合や並び替えが可能となり、印刷設定の変更を行う場合にも、再度アプリケーションを立ち上げて印刷をすることなしにユーザに行わせることを可能とする。
【0107】
ここで、スプーラ302を用いた印刷処理において、デスプーラ305によりグラフィックエンジン202への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
【0108】
図10は、ステップ608において、スプールファイルマネージャ304が生成する印刷可能となった物理ページを構成する情報を保存しているジョブ出力用設定ファイルの例を示す。フィールド1001は、ジョブを識別するためのIDで、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド1002はジョブ設定情報である。ジョブ設定情報には、グラフィックエンジン202に対してジョブの印刷を開始するために必要な構造体、Nページ印刷の指定、ページ枠などの追加描画の指定、部数、ステイプルなどのフィニッシング指定など、1つのジョブに対して1つしか設定できない情報が含まれている。ジョブ設定情報1002には、ジョブに対する機能に応じて必要なだけ情報が保存される。フィールド1003はジョブの物理ページ数で、本フィールド以降、この数の分だけ物理ページ情報が保存されていることを示す。本実施例では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。これ以降、フィールド1004から最後までフィールド1003の数だけ物理ページ情報が格納される。物理ページ情報については図12で説明する。
【0109】
図11は、図10のフィールド1002に図示されたジョブ設定情報の一例である。フィールド1101は全物理ページ数である。フィールド1102は、全論理ページ数である。フィールド1101および1102は、印刷データに追加して、ページ数などを付加情報として印刷する場合などに利用する。印刷が続いている際には、両フィールドは暫定的な値、もしくは、印刷が終了するまでスプールファイルマネージャ304は印刷可能な物理ページの情報の作成を延期する。フィールド1103は本印刷ジョブを何部印刷するかを指定する部数情報である。フィールド1104は、フィールド1103で複数部印刷する設定の場合、部単位で印刷するかどうかの指定である。フィールド1104はステイプル、パンチ、Z折などのフィニッシング情報で、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド1106は付加印刷情報で、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、ウォーターマーク印刷等、ジョブに対して付加する情報が保存される。機能が増えるに従って本ジョブ設定情報に含まれるフィールドの数も増加し、例えば、両面印刷が可能な場合は、両面印刷の指定を保存するフィールドが追加される。
【0110】
図12は、図10のフィールド1004に図示された物理ページ情報の一例を示す。最初のフィールド1201は物理ページ番号で、印刷順序の管理や、物理ページ番号を追加印刷する際に使用される値である。フィールド1202は物理ページ設定情報で、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド1203は本物理ページに割り付けられる論理ページ数で、1物理ページに4ページを割り付ける場合には4もしくは4ページ印刷を示すIDが保存される。フィールド1204以降はフィールド1203で指定された数だけ論理ページの情報が保存される。アプリケーション201から印刷されたページ数によっては、1203で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応する。
【0111】
図13は、1202の物理ページ設定情報の例である。フィールド1301は物理ページ上への論理ページの配置順で、Nページ印刷で、物理ページ上に論理ページを配置する順番(左上から横へ、左上から下へ等)の指定が保存されている。システムによっては、配置順ではなく、フィールド1204以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することで1301の設定を代用する場合もある。フィールド1302は両面印刷の表・裏の情報で、例えば綴じ代を表裏でそろえる際に使用される。フィールド1303はカラーページかモノクロページかの指定で、プリンタがモノクロモードとカラーモードを持つ場合、カラーページとモノクロページが混在する文書で、カラーページをカラーモードで、モノクロページをモノクロモードで印刷したい場合などに使用される値である。この情報を持つことにより、オートカラーモードとして、ページ単位にカラープリンタで処理を変更することが可能となる。つまり、カラーページは、中間転写体(中間転写ドラム、中間転写ベルト)もしくは転写体(転写ドラム、転写ベルト)がデバイスカラーの数分、YMCKなら4回転し、モノクロページは、ブラックだけ1回転することにより転写制御することを可能とする。フィールド1304は付加印刷情報で、物理ページに対して、ページ数や、日付などの付加情報を印刷する場合に使用される。物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
【0112】
図14は、1204で示された論理ページ情報の一例を示す。フィールド1401は論理ページのIDで、このIDを利用して、スプールファイル303から論理ページに対応するページ描画ファイルの中間コードを参照する。このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても、論理ページを構成する中間コード自身が入っていてもよい。フィールド1402は論理ページ番号で論理ページ番号を付加情報として印刷する場合や、論理ページIDの補助情報に使用される。フィールド1403のフォーマット情報には、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば、論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存する事も可能である。逆に、論理ページ単位で設定を切りかえる事や論理ページ単位での属性情報が不要であるようなシステムでは、フィールド1403は不要である。
【0113】
ジョブ出力用設定ファイルは、上記のように構成されている。なお、ジョブ設定ファイルもほぼ同様であり、印刷体裁(片面、両面、製本印刷)、印刷レイアウト(Nup、ポスター印刷)、付加情報(ウォーターマーク、日付、ユーザ名の付加)、部数、用紙サイズ情報がジョブとして有しており、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
【0114】
更に、図3では、これまで説明した拡張システムに加えて、ジョブの設定変更機能を持つ設定変更エディタ307を配した例を示している。本実施例ではジョブの設定内容は、単体ジョブは、ジョブ設定ファイルに、また結合ジョブは、図10に示したジョブ出力用設定ファイル中に含まれており、中間コードを保存しているページ描画ファイル303とは独立しているため、ジョブ出力用設定ファイルを作り変えることでジョブの設定変更が可能である。設定変更エディタ307は単独で、あるいはスプールファイルマネージャ304と連携して、ジョブ出力用設定ファイルを作り変え、あるいは、一部を書き換えることでジョブの設定変更機能を実現している。
【0115】
図15は、設定変更エディタ307におけるジョブ設定変更処理プロセスの詳細をフローチャートで示したものである。
【0116】
まずステップ1501では、設定変更エディタは、ジョブ設定ファイルもしくはジョブ出力用設定ファイルを読み込む。ジョブ出力用設定ファイルはプレビューア305、デスプーラ303が読み込むものと同じファイルである。次に、ステップ1502へ進み、読み込んだ結果を、ユーザに表示する。ステップ1503で、図18に示したようなユーザインターフェイス上で、ユーザとの対話を行い、前述したメニューの指定等により設定内容を変更する。このステップは、対話形式でなく、ファイルなどに書きこまれた設定変更の内容に応じて変更するバッチ形式でもよい。次にステップ1504へ進み、ステップ1501で設定変更エディタは、最初に読み込んだ内容と、現在指定されている設定内容に変更があったかどうかの判定を行う。設定内容に変更が合った場合は、ステップ1505へ進み、新規のジョブ出力用設定ファイルを生成し、変更があったことをスプールファイルマネージャに通知して終了する。ステップ1505で、変更がないと判定された場合は、変更がなかったことをスプールファイルマネージャに通知して終了する。このように新規のジョブ出力用設定ファイルを生成するが、図18のユーザインターフェイス画面において、「OK」ボタンが選択されることにより、新規のジョブ出力用設定ファイルが有効となり、古いジョブ出力用設定ファイルは削除される。また、ジョブ出力用設定ファイルからの変更ではなく、単体ジョブのジョブ設定ファイルの場合は削除せずに保存しておく。また、図18の画面で「初期状態に戻す」ボタンが選択された場合は、新規のジョブ出力用設定ファイルを削除し、古いジョブ出力用設定ファイルが有効となり、表示に反映させる。本実施例では、設定変更エディタ307を別モジュールとして説明しているが、単にスプールファイルマネージャ304のユーザインターフェイスの一部であってもよい。設定変更エディタ307で実際に変更内容をジョブ出力用設定ファイルに書きこまずに、設定変更の内容のみをスプールファイルマネージャ304へと通知するだけで、実際のジョブ出力用設定ファイルの変更はスプールファイルマネージャ304側で行う実装形式でもよい。
【0117】
図3では、更に、複数印刷ジョブを結合し、一つの印刷ジョブとして印刷する拡張システムが図示されているが、結合ジョブをデスプール・プレビューするための拡張について説明する。
【0118】
通常、中間形式のスプールファイル303はジョブ単位で作成される。単独ジョブの場合は、処理対象ジョブファイル中の各論理ページの中間コードを順に読み出して処理を行うので、フィールド1401の論理ページIDは、各論理ページがファイルのどこに位置しているのかを示す相対あるいは絶対オフセットで実現可能である。結合ジョブの場合はフィールド1401のジョブIDから、スプールファイルと、そのジョブに属するページ情報を特定する必要がある。本実施例では、スプールファイルを識別するIDを論理ページIDに付加することで、スプールファイルを特定する方式とする。この場合、主な変更点はフィールド1401のみで済む。スプールファイルが識別できれば、ページ部分の読み込みは単独ジョブの処理と同じロジックで処理することが可能であるからである。また、スプールファイルが各論理ページ毎に別ファイルの形で保存されている場合は、論理ページのファイル名をそのままフィールド1401の論理ページIDとする実装形もある。
【0119】
実際に複数文書をを結合する際のユーザの操作フローを説明する。図19はスプールファイルマネージャ304の画面上にリストアップされる状態までのユーザ操作を説明したフローチャートである。
【0120】
ステップ1901では、アプリケーション上から印刷を開始する際に、プリンタドライバのダイアログを開いて、ユーザインタフェイス上で操作可能な状態で中間ファイル形式へとスプールする指定をする。図9のプリンタドライバのダイアログの例では、901のコンボボックスから「ストア」の指定を選択する。次にステップ1902に進み、印刷(実際の印刷ではなく、アプリからみると印刷されたように見える。つまり、バックグラウンド印刷処理を行っているからであり、アプリケーションからグラフィックエンジンへの描画命令の出力を行っている)を開始すると、図16に図示される様に、中間ファイル形式でスプールされた状態でユーザの指定を受け付けられるようにスプールファイルマネージャ304のユーザインタフェイスに画面に中間データ形式で作成された印刷ジョブがリストアップされる。この状態でユーザはリスト上から文書をひとつ選択して印刷させることも、いったん印刷設定を変更し、画面上で設定の内容を確認することも可能である。
【0121】
この場合、ユーザは複数の印刷文書を結合することを目的としているので、ステップ1903へ進み結合すべき全ての文書を「ストア」の設定をして印刷したかを判定する。結合対象文書で印刷(グラフィックエンジンへの描画命令の出力処理)が済んでいないものが残っている場合にはステップ1901へ戻り、他の結合対処文書の印刷処理を繰り返す。結合対象文書の印刷が全て終わっている場合には、結合処理へと進む。
【0122】
図20は、図16でリストアップされている複数の文書を結合する際のユーザ操作を説明したフローチャートである。
【0123】
まず、ステップ2001で、図16のユーザインタフェイス上で結合を行いたい文書をユーザに対してマウス等のポインティングデバイスを用いて選択させ、スプールファイルマネージャ304は文書である中間データ形式の印刷ジョブが選択された場合には、その印刷ジョブが選択されたことをユーザに報知させるように選択状態を識別報知する。これは文書アイコンのまわりの色を反転させる(図22)ことにより実現するものであるが、OSの公知技術であるので詳細な制御説明は省略する。図22は、結合したい複数文書(この例では3文書)を選択した状態を示している。
【0124】
この状態からステップ2002へと進み、ユーザに対してメニューやツールバー等から結合を指示させ、スプールファイルマネージャ304がジョブ結合指示がユーザからなされたと判断した場合は、印刷ジョブの結合を行う。ここで、本システムは結合対象となっている文書が保存されている中間ファイルから、それぞれの文書の設定内容をジョブ設定ファイルを読み出すことにより調べ、1つの印刷ジョブに対して1つしか設定できない設定内容、例えばフィニッシングに関する情報、があるか否かを判断し、その設定内容が指定されている場合は、図23に示すような結合対象文書と結合文書の設定に関する確認メッセージを表示する。なお、本実施例では、1つの印刷ジョブに対して1つしか設定できない設定内容が指定されている場合は必ず設定解除メッセージを表示させるよう制御したが、これに限らず、結合対象の複数の印刷ジョブの設定内容を判断し、1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっている場合に、設定解除メッセージを表示させるように制御してもよい。
【0125】
続くステップ2003で、ユーザはこの確認メッセージの内容を確認し、結合するかしないかを選択できるようなユーザインタフェース(図23)をスプールファイル304は表示するよう制御し、結合するかしないかのいずれの指示がユーザからなされたのかを判断する。
【0126】
ステップ2003で、結合しない旨の指定がなされたと判断された場合には、ステップ2001へと戻って文書(印刷ジョブ)の選択をやり直す。ステップ2001より更にさかのぼり、図19の印刷フローへ戻って、新たな文書を印刷しても、すでに印刷した文書を設定を変更して再印刷する場合もある。
【0127】
ステップ2003で、結合する旨の指定がなされたと判断された場合は、ステップ2004へ進み、スプールファイルマネージャ304は設定変更エディタ307を用いて、選択された複数の印刷ジョブの結合を行うよう制御する。
【0128】
ステップ2004では、図24に示すように、設定変更エディタによって結合された結合ジョブを示す結合ジョブアイコンを表示させ、結合前の複数の印刷ジョブを示すジョブアイコンを表示しないようユーザインタフェースの表示を制御する。
【0129】
なお、結合ジョブが生成された場合でも、結合されたそれぞれの印刷ジョブのページ描画ファイルおよびジョブ設定ファイルはスプールファイル303にスプールしたままであり、結合ジョブ用のジョブ出力用設定ファイルが作成されているだけである。このジョブ出力用設定ファイル内の物理ページ情報に、どのページ描画ファイルをどのページレイアウトでどこに配置させるかという情報がなされている。
【0130】
図21は、複数の文書を結合する場合に設定の統一・丸めの例を示した図である。設定項目は簡略化のため、部数・Nページ印刷に絞っている。文書Aは5部・4ページ印刷の設定、文書Bは2部・1ページ印刷の設定で印刷されたものである。
【0131】
この文書Aと文書Bを結合する場合、部数は1部にリセット、文書Aの部分は4ページ印刷、文書Bのレイアウト情報は1ページ印刷の設定にしている。部数は、印刷ジョブを扱う単位に関する設定(図11で指定)、つまり1つの印刷ジョブに1つの設定しかできないため結合ジョブでは統一もしくは新たな値にリセットする必要がある。ページレイアウト(レイアウト情報)は個々の文書・ページに対する設定、つまり物理ページ情報(図12の1203))で保持している情報であり統一する必要はないので元文書の設定のまま印刷されている。
【0132】
結合する際に、このように設定を変えたり変えなかったりするものがある理由を説明する。一般に、印刷設定には多くの種類があるが、これを結合後のジョブ全体で一つしか存在し得ないものと、結合ジョブ中のそれぞれのジョブやページごとに存在可能なものに分類したものが図26の表である。
【0133】
結合ジョブで一つしかもてない設定というのは、ステープルの設定のように、文書Aと文書Bを結合したジョブ全体にステープルするのは意味があるが、文書Bの部分だけステープルするのでは、結合した意味がなくなってしまうような設定を言う。これに対して、文書Aと文書Bを単にステープルして出力したいような場合は、元の文書で設定した4ページ印刷・1ページ印刷という設定は保存したい。実際、1ページ上に複数のページを印刷する設定は、印刷する用紙の面に対して面付けする設定であるので、結合する際にジョブ全体でまとめる必要がない。このような、設定項目は結合後も混在することが可能である。
【0134】
ステップ2003の確認メッセージは、結合後であっても設定の混在が可能なシステムにおいて、混在させる設定項目や設定を統一する設定項目についてユーザに確認を求めている。上述の図23は、設定を統一する項目のみをユーザに提示している。実際の設定項目は多くの種類があるので、確認メッセージは全ての項目を列挙するのでなく、図23のように代表的なものだけを呈する形式にする方が使い勝手がよい。
【0135】
図29は、中間ファイルの論理的構造を説明した図である。大きく分けて、印刷ジョブの設定情報部分とジョブの各ページのデータとが保存されている。印刷ジョブの設定情報部分は上述のジョブ設定ファイル(SDF)に対応し、Windows環境では、DEVMODEやPDEVICEと呼ばれる構造体の情報を始め、印刷ダイアログで設定された項目がすべて保存されている。各ページのデータは上述のページ描画ファイル(PDF)に相当し、システムの実装に応じてページ単位で別の実体を持つ構造でも、図29のように全てを1ファイルに収める構造でもよい。複数ジョブを結合する時には、対象となっている文書の中間ファイルからSDF部をスキャンし、設定の内容を比較して、設定の統一・丸め処理を行う。
【0136】
次に、結合処理の内部データ構造について説明する。図27は、スプールファイルマネージャ304上にリストアップされている状態における、ジョブを管理するデータ構造(ジョブ管理リスト)の一例である。スプールファイルマネージャ304は中間ファイルがスプールされるたびに、ジョブ管理リストに中間ファイルのIDを追加する。中間ファイルのIDは、IDから中間ファイルを特定可能な情報で、たとえば、中間ファイルがファイルシステム中に存在するものであればファイル名、メモリ中に存在するものであればポインタなどがIDとして用いられる。
【0137】
図28は結合ジョブを管理する場合にスプールファイルマネージャ304がジョブ管理リストの一例である。この例では、結合ジョブと通常のジョブとを区別するためにジョブが結合ジョブであるかどうかのフラグとジョブIDのペアで一つのジョブを表現している。フラグ通常のジョブを示す場合には、中間ファイルのIDが格納されている。フラグが結合ジョブを示す場合には、結合ジョブへのIDが格納されている。
【0138】
ここでは、結合ジョブはメモリ中で管理されているので、結合ジョブを表現する構造体へのポインタが格納されている。結合ジョブを表現する構造体は、結合ジョブ中のジョブ数と、結合ジョブ中の各印刷ジョブの中間ファイルのIDから構成されている。この様に、実際にデータが格納された中間ファイルを直接操作するのではなく、ジョブIDといる論理的な値を操作することで、ジョブ操作に必要とするリソースを節約することが可能である。また、ジョブの結合を繰り返しても中間ファイルの構造が保存されているためジョブをスプールされた時点の状態に復帰することも可能となる。
【0139】
図32は、スプーラ302およびスプールファイルマネージャ304でのジョブ操作処理を示したフローチャートである。
【0140】
まず、ステップ3201において、スプーラ302もしくはスプールファイルマネージャ304はユーザからの通知、印刷開始通知を受け付ける。
【0141】
ステップ3202において、スプーラ302は、受け付けた通知がストア設定のジョブ印刷通知であるかを判定する。ステップ3202でストア設定の印刷開始通知だと判定された場合は、ステップ3203へ進み、スプールファイルマネージャ304は自身で保持しているジョブ管理リストに、通知された印刷ジョブの中間ファイルIDを登録し、次の通知を受け付けるために再びステップ3201へ戻る。
【0142】
ステップ3202でストア設定のジョブ印刷開始通知では無いと判定された場合は、ステップ3204へ進み、スプールファイルマネージャ304は、図16におけるジョブ結合の指示通知であるかの判定を行う。結合の指示通知であった場合は、ステップ3205へ進み、スプールファイルマネージャ304は設定変更エディタ307を用いて、結合ジョブを管理するための結合ジョブ構造体を作成する。
【0143】
そしてステップ3206へ進み、スプールファイルマネージャ304は、現在選択されている結合対象ジョブの中間ファイルIDを全てステップ3205で作成した結合ジョブ構造体へコピーする。次にステップ3207へ進み、スプールファイルマネージャ304は、保持しているジョブ管理リストから、結合ジョブ構造体へコピーされたジョブを削除し、新たにステップ3205で作成した結合ジョブ構造体をジョブ管理リストに追加する。そして再び、ステップ3201へと戻り次の入力を待つ。
【0144】
ステップ3204で結合の指示で無い場合は、更にステップ3208へ進み、スプールファイルマネージャ304は、ジョブの削除の指示かどうかを判定する。ジョブの削除指示である場合、ステップ3209へ進み、削除を指定されているジョブが結合ジョブであるか通常のジョブであるかを判定する。ここで結合ジョブであると判定された場合は、ステップ3210へ進み、ジョブ管理リストに登録されているポインタの先にある結合ジョブ構造体を削除し、ステップ3211へ進み、ジョブ管理リストから削除指示されたジョブを削除する。
【0145】
ステップ3209で結合ジョブでは無いと判定された場合は、ステップ3210を飛び越してステップ3211へ進み、スプールファイルマネージャ304は、ジョブをジョブ管理リストから削除する。そして再び、ステップ3201へと戻り次の入力を待つ。
【0146】
ステップ3208で削除の指示で無いと判定された場合は、ステップ3212へ進み、スプールファイルマネージャ304は、ジョブの複製指示であるか判定する。ジョブの複製指示であると判定された場合は、スプールファイルマネージャ304は、現在選択されている複製対象ジョブIDをジョブ管理リストに追加する。これは結合ジョブであっても同様で、結合ジョブ構造体を示すポインタをコピーすればよい。ただし、単にコピーする方式では、ジョブを削除する場合の管理が複雑になるため、ジョブの参照回数を別リストで保存しておく必要がある。もしくは、中間ファイルや結合ジョブ構造体自体をコピーし別のIDを付けて管理する方式でもよい。この場合、削除の管理は簡単であるが、コピーに要する時間やコピーされた中間ファイルを保存するためのリソースを余分に消費することになるので、システムの性格に応じて使い分ける必要がある。
【0147】
そして再び、ステップ3201へと戻り次の入力を待つ。ステップ3212でジョブの複製で無いと判定された場合は、ステップ3214へ進み、スプールファイルマネージャ304は、ジョブの分解指示であるかを判定する。ジョブの分解指示であると判定された場合は、ステップ3215へ進み、スプールファイルマネージャ304は、分解対象となっているジョブのジョブポインタが指し示す結合ジョブ構造体中に保持されている中間ファイルIDを全てジョブ管理リストへ戻し、分解対象のジョブをジョブ管理リストから削除し結合ジョブ構造体も削除する。そしてスプールファイルマネージャ304は、図16のユーザインタフェース画面に、単体ジョブのジョブアイコンを表示させる。
【0148】
また、ステップ3215へ進む前に、図25のように本当に分解処理をしてもいいのかを確認するメッセージを出してもよい。そして再び、ステップ3201へと戻り次の入力を待つ。
【0149】
次に、結合ジョブの操作について説明する。結合ジョブを印刷プレビューする際に使用するデータ構造では、図10〜図14に示したようにジョブ−用紙(表/裏)−論理ページというような構成で管理しているが、このデータ構造を構成するための結合ジョブの情報は図28の結合ジョブ構造体(ジョブ出力用設定ファイル)に示すようなジョブ単位の管理となっている。そのため、本システムでは、結合ジョブを構成する印刷ジョブ単位の操作を行うことができる。
【0150】
図30は、結合ジョブの設定を変更するためのユーザインタフェイスの一例を示している。3001は、結合ジョブに含まれている印刷ジョブの一覧が表示されている。3002で示されるジョブ順序変更インタフェースを操作することでジョブの順序を変更することが可能である。3002の一番上のボタンは、選択された印刷ジョブを結合ジョブ内の最初(一番上)の移動するボタンである。次のボタンは、選択された印刷ジョブを1つ上の印刷ジョブとの順番を入れ替えるボタンである。次のボタンは、選択された印刷ジョブを1つ下の印刷ジョブとの順番を入れ替えるボタンである。一番下のボタンは、選択された印刷ジョブを結合ジョブ内の最後(一番下)に移動するボタンである。このように、順序変更ボタンを操作することにより、結合ジョブ内での印刷ジョブの順序を変更させることが可能となる。つまり、従来技術でなきなかった、アプリケーションAでジョブ1、ジョブ3、ジョブ5と続けてスプールしておき、次のアプリケーションBでジョブ2を、アプリケーションCでジョブ4を順次スプールし、ジョブ結合した後で、この順序変更ボタンを操作することにより、ジョブ1、ジョブ2、ジョブ3、ジョブ4、ジョブ5と順序を整列させることができ、操作性が格段に向上する。なお、順序変更にともなって、ジョブ出力用設定ファイルの物理ページの番号(もしくはジョブID)が更新されることになる。
【0151】
また、3003で示されるジョブ削除インタフェースを操作することで、結合ジョブから印刷ジョブの削除を行うことが可能である。なお、印刷ジョブの削除を行うことによって、ジョブ出力用設定ファイル内の該当する物理ページもしくは論理ページの番号が更新されることになる。
【0152】
図33はジョブの順序入れ替えとジョブ削除をした際の処理フローを示すフローチャートである。
【0153】
ステップ3310で、スプールファイルマネージャ304は、ユーザからの入力を受け付ける。
【0154】
ステップ3202に進み、スプールファイルマネージャ304は、ユーザからの入力がジョブの削除要求であるかを判定する。ジョブの削除要求であると判定された場合には、ステップ3303へ進み、結合ジョブ中の最後のジョブであるかどうかの判定を行う。削除を実行した結果結合ジョブ中にデータが存在しなくなるような場合には何もせずにステップ3301へ戻り次の入力を待つ。ユーザインタフェースの処理によって、削除の結果データがなくなるような場合には最初からユーザが削除を選択できないようにしてもかまわない。
【0155】
ステップ3303で選択されたジョブを削除してもデータがなるなら無いと判定されたらステップ3304へ進み、スプールファイルマネージャ304は、削除を指定されたジョブのIDを結合ジョブ構造体から削除する。図31の(2)はステップ3304の処理でのデータ構成変化の例である。この例では、第2ジョブを削除している。結合ジョブ構造体から第2ジョブを示すジョブIDを削除して、空いた位置にそれ以降に並んでいるジョブをずらす。さらに、結合ジョブ中のジョブ数を保持しているデータを一つ減らすことで、削除処理が完了する。
【0156】
ステップ3302で、ジョブ削除の要求では内と判定された場合にはステップ3305へ進み、スプールファイルマネージャ304は、ジョブの順序入れ替えの指示であるかどうかの判定を行う。ステップ3305でジョブの順序変更であると判定された場合は、ステップ3306へと進み、現在選択されている移動対象のジョブの移動先となっているジョブとのIDを入れかえる。図31の(1)はジョブの順序を変更するときのデータ構成変化で、第2ジョブを一番先頭に持ってくる場合の例を示している。結合ジョブ構造体の第1ジョブの位置に保持されているジョブIDと第2ジョブの位置に保持されているジョブIDを入れ替えることでジョブの順序変更が実現される。ステップ3305でジョブの順序入れ替え無いと判定された場合は、その指示に応じた処理を行いステップ3301へと戻る。
【0157】
次に、ページ単位の操作について説明する。図30の3004のコントロールで論理ページ単位でページを削除することができる。この場合、物理ページ情報ファイルを操作することになる。図30の3005でプレビューが表示されているので、ジョブ管理リストから物理ページ情報ファイルをすでに作成済みである。
【0158】
図34はジョブ中の論理ページを削除する処理を説明したフローチャートである。結合ジョブを対象としているが、ジョブ境界の処理が違うだけで、単独のジョブでも同じフローとなる。
【0159】
まずステップ3401で、スプールファイルマネージャ304は、削除対象のページがジョブの最後のデータであるかどうかを判定する。削除することによってジョブ中からデータが存在しなくなってしまうような場合には、削除処理を行わないで終了する。
【0160】
ステップ3401で削除してもよいと判定された場合は、ステッ3402へと進み、物理ページ情報ファイルからプレビュー上で選択されている論理ページに対応するページを検索する。そして、ステップ3403へ進み、そのファイルが結合ジョブの最終ページであるかどうかを判定する。
【0161】
最終ページで無い場合は、ステップ3405へ進みさらに、ジョブ境界、つまり、結合ジョブを構成している要素のジョブの最終ページであるかの判定を行う。ここでジョブ境界の判定を行うのは、ジョブの境界で特別な処理をする必要がある場合だけでよい。ジョブ境界の特別な処理の例を挙げると、両面印刷でジョブAの最終ページが表面に印刷されている場合に、その用紙の裏側に、続くジョブBの先頭ページを印刷するかどうかを設定できるような場合は、設定に応じて、最終ページの裏側に何も印刷せずに、次の用紙の表面にジョブBの先頭ページが印刷される様にするか、続けて裏面にジョブBの先頭ページを印刷するようにするか、物理ページ情報ファイルを構成し分けるようなする処理がある。
【0162】
ステップ3405でジョブの境界であると判定された場合は、ステップ3407に進み、ジョブ境界の処理を行いステップ3408へ進む。ステップ3405でジョブ境界ページで無いと判定された場合は、ステップ3408に進む。ステップ3408では、スプールファイルマネージャ304は、空いたページをつめる為に、処理対象の論理ページの次のページをずらす処理をする。そしてステップ3409へ進み処理対象ページを一つ後ろにずらしてステップ3403へと戻る。順次繰り返した結果結合ジョブの最終ページまで処理が進むと、ステップ3403で最終ページであると判定され、ステップ3404へ進む。
【0163】
ステップ3404ではページをずらした結果、現在の処理対象である最終物理ページ上に論理ページがなくなったかを判定する。物理ページ上に表示すべき論理ページが無い場合には、ステップ3405へ進み物理ページ情報自体を削除する。物理ページが空で無い場合には、物理ページを削除せずにそのまま終了する。
【0164】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
【0165】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【0166】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0167】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、DVD、MO、ROMなどを用いることができる。
【0168】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0169】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0170】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを、システムあるいは装置のコンピュータ(またはCPUやMPU)にインストールし、そのインストールされたプログラムコードを読出し実行することによっても、達成される。
【0171】
この場合、インターネットのダウンロードサービス等でダウンロードされ、インストールされたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体は本発明を構成することになる。
【0172】
【発明の効果】
以上説明したように、本発明は、印刷装置に送信すべき印刷データを生成する情報処理装置であって、アプリケーションにより生成された印刷すべきデータを中間コード形式の印刷ジョブに変換し、該印刷すべきデータの印刷設定情報と関連付けて一時保存する中間コード変換手段と、前記中間コード変換手段により変換された複数の異なる印刷すべきデータに対応する複数の中間コード形式の印刷ジョブを結合して1つの結合ジョブにする結合指示をする結合指示手段と、前記結合指示手段により複数の印刷ジョブを1つの結合ジョブにする結合指示がなされた場合に、前記一時保存されている当該複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない設定内容が当該複数の印刷ジョブで異なっているかを判断する判断手段と、前記判断手段により1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっていると判断された場合に、当該設定内容を統一する旨の確認メッセージを表示する確認メッセージ表示手段と、前記確認メッセージ表示手段により前記確認メッセージを表示した後で、1つの印刷ジョブに対して1つしか設定できない設定内容を統一した結合ジョブ用の印刷設定情報を生成する設定統一手段とを有するので、印刷設定情報を有した複数の印刷ジョブの結合が可能となり、結合時に1つの印刷ジョブに対して1つしか設定できない設定内容を統一することを確認メッセージで確認でき、更にその結合時の印刷設定の不具合をなくすことができる。
【0173】
また、前記確認メッセージ表示手段は、前記結合対象の複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない情報が異なる場合に、当該設定を統一するか、印刷ジョブの結合を行わないかを選択させるよう確認するための確認メッセージを表示するので、ユーザの所望としない結合を回避することが可能となる。
【0174】
また、前記中間コード形式の印刷ジョブは、ページ単位のページ描画ファイルとして一時保存されているので、ジョブの結合時等、データの扱いが簡単になる。
【0175】
また、前記結合ジョブ用の印刷設定情報は、物理ページにレイアウトされるページ描画ファイルを指定する情報が付加されているので、結合ジョブ自体にはページ描画ファイルのような中間データ形式の描画データは持たなくて済むので結合時の処理が軽くなる。
【0176】
また、前記印刷設定情報は、印刷ジョブ単位の印刷設定ファイルとして一時保存されているので、ジョブが扱い安くなる。
【0177】
また、前記印刷ジョブもしくは前記結合ジョブの印刷設定情報に基づいたプレビューを表示するよう制御するプレビュー表示制御手段を更に有するので、ユーザに印刷前に印刷結果を確認することが可能となる。
【0178】
また、前記結合ジョブ内の複数の印刷ジョブを操作し、印刷ジョブの順序を入れ替える順序制御手段を更に有するので、ユーザが中間コード作成時には特に印刷順序を考慮しないで作成でき、いつでもユーザの好みに合わせて順序を決定することができる。
【0179】
また、前記結合ジョブ内の複数の印刷ジョブを操作し、特定の印刷ジョブの削除を行うジョブ削除手段を更に有するので、再度結合ジョブを作り直す必要がなくなる。
【0180】
また、前記結合ジョブに対して、結合前の複数の印刷ジョブへ分割するジョブ分割手段を更に有するので、それぞれの単体ジョブに戻せるので、ユーザは安心して結合ジョブの生成を試すことが可能となる。
【0181】
また、前記印刷ジョブもしくは前記結合ジョブを指定させ、指定された印刷ジョブの複製を作成するジョブ複製手段を更に有するので、あるジョブの中に別のジョブをいれたい場合にも複製を作りページ制御することが可能となる。
【0182】
また、前記印刷ジョブもしくは前記結合ジョブは、印刷設定情報に基づいて、当該ジョブの基となる中間コード形式のデータ作成時の初期状態の戻す設定初期化手段を更に有するので、ユーザは安心してジョブの編集などの操作を行えるようになる。
【0183】
また、前記印刷ジョブもしくは前記結合ジョブ内の論理ページに対して、指定するページの削除を行うページ編集手段を更に有するので、ユーザの所望とするジョブ操作が可能となり、操作性および自由度が向上する。
【0184】
また、前記中間コード変換手段により一時保存された中間コード形式のデータに基づいて、前記印刷装置に送信すべき印刷データを生成する印刷データ生成手段を更に有するので、所望とするジョブを生成した後でアプリケーションを再度起動することなくそのまま印刷することができる。
【0185】
また、前記中間コード変換手段により一時保存された中間コード形式のデータをOSの描画手段で解釈可能な描画命令に変換して出力する描画命令生成手段と、前記アプリケーションからOSの描画手段を介して受け取った印刷命令は前記中間データ変換手段に渡し、前記描画命令生成手段からOSの描画手段を介して受け取った印刷命令は前記印刷データ生成手段に渡す印刷命令割り振り手段とを更に有するので、従来の印刷データ変換手段を用いることができ、このような仕組みを提供する場合にも開発工程が少なくて済む。
【0186】
また、前記描画命令はGDI関数であり、前記印刷命令はDDI関数であり、前記印刷データはプリンタ言語であるので、一般的なOSに対して本仕組みを提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す印刷制御装置の構成を説明するブロック図である。
【図2】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図3】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦中間コードスプールするプリントシステムの構成を示すブロック図である。
【図4】本発明におけるプリンタについて説明した図である。
【図5】スプーラ302における処理を示したフローチャートである。
【図6】スプールファイルマネージャ304における印刷制御について示したフローチャートである。
【図7】デスプーラ305における処理を示したフローチャートである。
【図8】印刷設定画面の一例である。
【図9】印刷スプール設定画面の一例である。
【図10】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図11】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図12】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図13】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図14】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図15】設定変更エディタ307における設定変更処理について示したフローチャートである。
【図16】スプールファイルマネージャ304でスプールされている印刷ジョブ一覧を表示する画面の一例である。
【図17】プレビューア306の画面の一例である。
【図18】設定変更エディタ307の画面の一例である。
【図19】図16に示すようにスプールファイルマネージャ304にスプールする際のユーザの操作について示したフローチャートである。
【図20】ジョブ結合時のユーザの操作について示したフローチャートである。
【図21】複数文書を結合する際の、設定の統一・丸めを説明するための概念図である。
【図22】複数文書を結合するために、結合の対象となる複数の文書を選択するユーザインタフェイスの一例である。
【図23】結合時に設定の統一・丸めの確認を求めるユーザインタフェイスの一例である。
【図24】図22で選択された複数文書が結合されたことを示すユーザインタフェイスの一例である。
【図25】ジョブを分解する際の確認メッセージの一例である。
【図26】結合する際に設定統一・丸めを行う際に、統一しない設定と統一する設定との分類の一例である。
【図27】スプールファイルマネージャ304が複数の印刷ジョブを管理する際のデータ構造の一例である。
【図28】スプールファイルマネージャ304が複数の印刷ジョブと複数の結合ジョブを管理する際のデータ構造の一例である。
【図29】中間ファイルの内部構造の一例である。
【図30】結合ジョブの編集を行う画面の一例である。
【図31】結合後のジョブをジョブ単位で順序入れ替えや、削除を行う際のデータ処理の一例である。
【図32】スプールファイルマネージャ304におけるジョブの編集処理の一例を示すフローチャートである。
【図33】設定変更エディタ307における結合ジョブのジョブ単位編集処理をした際のスプールファイルマネージャ304での処理の一例を示すフローチャートである。
【図34】設定変更エディタ307でページ単位の削除をした場合の、スプールファイルマネージャ304での処理の地位例を示すフローチャートである。
【符号の説明】
1 CPU
2 RAM
3 ROM
4 システムバス
12 CPU
13 ROM
19 RAM
3000 ホストコンピュータ
1500 プリンタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus, an information processing method, and a storage medium storing a computer-readable program, and particularly to a technique for combining a plurality of print requests into one print job in a host computer. .
[0002]
[Prior art]
Conventionally, when printing one document (document data) generated by an application in a host computer, a plurality of prints set in advance by a printer driver are usually set for one print job generated from the document. A set of print setting attributes consisting of setting items is defined.
[0003]
Also, software having a “collective print” function for storing document data instructed to be printed by an application in a client (host computer) without outputting it to the printer, and sending a plurality of document data to the printer as a single job. There is.
[0004]
A user prints print jobs generated by a plurality of applications, for example, application A suitable for creating a document, application B suitable for creating a table, application C suitable for creating a drawing, etc. However, the “collective printing” function only combines a plurality of print jobs into one print job, and is instructed to perform collective printing, and in the order in which the data is spooled for collective printing. Since it is also output during printing, the user has to spool to the output page, and there is a problem in that it is inconvenient. For example, if you want to print a document, drawing, document, table, document and one document at a time, create the first page with application A, spool it, create the second page with application B, spool it, The third page must be created again by application A, spooled, the fourth page created by application C, spooled, and the fifth page created by application A, which had to be spooled.
[0005]
Also, if you want to see a preview of the data to be printed in one, you can see the preview provided by each application, but it reflects the multiple print settings set in the printer driver I could not see.
[0006]
Furthermore, when a plurality of files are to be printed together as a single print job, there is no means for providing the user with the finishing designation for the combined job, and the preview function in that case is provided. There is a problem that there is nothing to have, and there is a problem that it is impossible to know how to actually print out by a printing apparatus unless printing is performed.
[0007]
Further, when the page layout function (N pages / sheets) is used on the device side using “collective printing”, the same page layout processing can be performed for a plurality of jobs. It was impossible to combine print jobs with different layouts for each print job.
[0008]
[Problems to be solved by the invention]
As described above, the conventional “summary printing” is merely continuous printing, and it has not been possible to create one print job using different layouts for each page.
[0009]
Therefore, an object of the present invention is to provide a mechanism that can combine print jobs having respective print setting information.
[0010]
Also, when multiple print jobs each having print setting information are combined to create one combined job, if the settings for printing are originally scattered, some settings should be unified. It is necessary to have a mechanism, and in the case of automatic unification, the purpose is to provide a mechanism for knowing what has been unified by changing what.
[0011]
In addition, a function that manages and edits multiple print jobs in units of jobs, for example, a function that rearranges the print order in units of jobs regardless of the printing order, or a print job from among combined jobs in units of jobs. An object of the present invention is to provide a function of deleting a job and returning a combined job to an original single job.
[0012]
It is another object of the present invention to provide a mechanism for editing a print job in units of logical pages, for example, deleting unnecessary pages.
[0013]
It is another object of the present invention to provide a mechanism for editing a combined job in units of pages and returning it to the original single job.
[0014]
[Means for Solving the Problems]
An information processing apparatus of the present invention that achieves the above object has the following configuration.
[0015]
That is, an information processing apparatus that generates print data to be transmitted to a printing apparatus, converts data to be printed generated by an application into a print job in an intermediate code format, and print setting information of the data to be printed Intermediate code conversion means for temporarily storing the data in association with each other, and a combination instruction for combining a plurality of intermediate code format print jobs corresponding to a plurality of different data to be printed converted by the intermediate code conversion means into one combined job And a combination instruction unit that analyzes the print setting information of the plurality of temporarily stored print jobs when the combination instruction unit performs a combination instruction to make a plurality of print jobs into one combined job, Judging means for judging whether or not the setting contents that can be set only for one print job are different among the plurality of print jobs; A confirmation message display for displaying a confirmation message to unify the setting contents when it is determined by the determining means that only one setting content can be set for one print job is different among a plurality of print jobs. And a setting unifying unit for generating print setting information for a combined job in which only one setting can be set for one print job after the confirmation message is displayed by the confirmation message display unit. Have.
[0016]
Further, the confirmation message display unit analyzes the print setting information of the plurality of print jobs to be combined, and if the information that can be set only for one print job is different, A confirmation message for confirming whether or not to combine print jobs is displayed.
[0017]
The intermediate code format print job is temporarily stored as a page drawing file for each page.
[0018]
The print setting information for the combined job is added with information for specifying a page drawing file to be laid out on a physical page.
[0019]
The print setting information is temporarily stored as a print setting file for each print job.
[0020]
The image processing apparatus further includes preview display control means for controlling to display a preview based on the print setting information of the print job or the combined job.
[0021]
Further, the image processing apparatus further includes order control means for operating a plurality of print jobs in the combined job and changing the order of the print jobs.
[0022]
Further, the image processing apparatus further includes job deletion means for operating a plurality of print jobs in the combined job and deleting a specific print job.
[0023]
Further, the apparatus further includes job dividing means for dividing the combined job into a plurality of print jobs before combining.
[0024]
The image processing apparatus further includes job duplicating means for causing the print job or the combined job to be designated and creating a duplicate of the designated print job.
[0025]
Further, the print job or the combined job further includes setting initialization means for returning an initial state at the time of creating intermediate code format data that is a basis of the job based on the print setting information.
[0026]
Further, the image processing apparatus further includes page editing means for deleting a designated page for the logical page in the print job or the combined job.
[0027]
The printer further includes print data generation means for generating print data to be transmitted to the printing apparatus based on the intermediate code format data temporarily stored by the intermediate code conversion means.
[0028]
The intermediate code format temporarily stored by the intermediate code conversion means is converted into a rendering instruction that can be interpreted by the OS rendering means, and the rendering command generation means outputs the rendering command from the application via the OS rendering means. The received print command is further transferred to the intermediate data converting means, and the print command received from the drawing command generating means via the OS drawing means is further provided with a print command allocating means for passing to the print data generating means.
[0029]
The drawing command is a GDI function, the printing command is a DDI function, and the print data is a printer language.
[0030]
Further, the other solution of the present invention is realized by a method for controlling the apparatus, a storage medium storing a program, or a computer program.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
[First embodiment]
Hereinafter, examples suitable for applying the present invention will be described.
[0032]
FIG. 1 is a block diagram illustrating the configuration of a printer control system according to an embodiment of the present invention. As long as the function of the present invention is executed, a system in which processing is performed by being connected via a network such as a LAN or WAN, whether it is a single device or a system composed of a plurality of devices. Even so, the present invention can be applied.
[0033]
In the figure, the
[0034]
A keyboard controller (KBC) 5 controls key input from a
[0035]
Note that the
[0036]
The
[0037]
The
[0038]
The
[0039]
FIG. 2 is a configuration diagram of typical print processing in a host computer to which a printing apparatus such as a printer is directly connected or connected via a network. The
[0040]
The
[0041]
In addition to the printing system comprising the printer and host computer shown in FIG. 2, the printing system of this embodiment has a configuration in which print data from an application is temporarily spooled with intermediate code data as shown in FIG.
[0042]
FIG. 3 is an extension of the system shown in FIG. 2 and has a configuration in which a spool file 303 composed of an intermediate code is generated once when a print command is sent from the
[0043]
For these purposes, the system of FIG. 2 has been extended to spool with intermediate code data as shown in FIG. In order to process print data, settings are made from a window provided by the
[0044]
Details of FIG. 3 will be described below. As shown in the figure, in this expanded processing method, the
[0045]
The
[0046]
When the
[0047]
The despooler 305 processes the page drawing file of the intermediate code included in the spool file 303 according to the job setting file including the processing setting information included in the spool file 303, regenerates the GDI function, and converts the GDI function again via the
[0048]
If the print command (DDI function) received by the
[0049]
The
[0050]
Further, FIG. 3 shows an example in which a
[0051]
In order to perform print preview, print setting change, and combination of a plurality of jobs, the user first designates “Store” in the pull-down menu which is a means for performing “designation of output destination” in the printer driver properties shown in FIG. There is a need. If you want to see only the preview, you can also select “Preview” as the destination designation.
[0052]
The contents set in the properties of the printer driver in this way are stored as a setting file in a structure (called DEVMODE in Windows OS) provided by the OS. The structure includes, for example, a setting for whether to store in the
[0053]
When a preview of a single job or a combined job is designated on the spool file manager window screen (FIG. 16), the
[0054]
The
[0055]
The
[0056]
By performing the preview process as described above, a large preview of the print processing settings included in the spool file 303 is displayed on the screen by the
[0057]
If the user performs printing in accordance with the contents displayed by the
[0058]
Next, setting change using the setting
[0059]
As a realization method, it is possible to set a job designated as “Store” in FIG. The
[0060]
The setting
[0061]
This setting
[0062]
Here, it is possible to change or modify the contents of the processing settings included in the job setting file stored in the spool file 303. At this time, items that can be set in the
[0063]
The change item changed here is authenticated in accordance with the authentication request on the setting
[0064]
If the user performs printing according to the setting change contents as in the confirmation by the
[0065]
Also, on the spool file manager window screen (FIG. 16), it is possible to specify that a plurality of print jobs are combined and printed as one print job. This is also premised on a job for which “store” is specified as the output destination in the printer driver properties shown in FIG.
[0066]
When the user combines print jobs, first, the
[0067]
Here, when a plurality of jobs are selected and “join” is specified, the setting
[0068]
The setting
[0069]
Here, each job can be displayed with the processing settings before combining, or can be displayed after being changed and corrected to a unified processing setting as a combined job. At this time, items that can be set in the
[0070]
As described above, the combined job and the changed change item are authenticated in accordance with the authentication request on the setting
[0071]
If the user performs printing according to the setting change contents as in the confirmation by the
[0072]
FIG. 4 is a cross-sectional view of a color laser printer having a double-sided printing function, which is an example of the
[0073]
This printer forms an electrostatic latent image by scanning the photosensitive drum 15 with a polygon mirror 31 with laser light modulated with image data for each color obtained based on print data input from the
[0074]
The
[0075]
The developing unit includes three
[0076]
The black developing unit 21B is detachably attached to the printer main body, and the
[0077]
The sleep 21BS of the black developing device 21B is arranged with a minute interval of about 300 μm, for example, with respect to the photosensitive drum 15. The black developing device 21B conveys the toner by a feeding member built in the device, and imparts a charge to the toner by frictional charging so as to be applied to the outer periphery of the sleep 21BS rotating in the clockwise direction by the coating blade 21BB. Further, by applying a developing bias to the sleep 21BS, the photosensitive drum 15 is developed according to the electrostatic latent image, and a visible image is formed on the photosensitive drum 15 with black toner.
[0078]
The three
[0079]
At the time of color image formation, the developing
[0080]
The
[0081]
The
[0082]
As shown by a solid line in FIG. 4, the
[0083]
The fixing unit 25 fixes the transferred color visible image while conveying the
[0084]
The
[0085]
The cleaning unit cleans the toner remaining on the photosensitive drum 15 and the
[0086]
The transfer material (recording paper) 2 to be printed is taken out from the
[0087]
The recording sheet guided to the duplex unit is once fed to the lower part of the tray 1 (conveying path indicated by a two-dot chain line) by the conveying roller 40 and then conveyed in the reverse direction, and is sent to the duplex tray 39. On the double-sided tray 39, the front and back sides of the sheet placed on the
[0088]
FIG. 5 is a flowchart showing the process of the page unit storage step in the generation of the spool file 303 in the
[0089]
First, in step 501, the
[0090]
In step 502, the
[0091]
On the other hand, if it is determined in step 502 that the request is not a job start request, the process proceeds to step 506.
[0092]
In step 506, the
[0093]
If it is determined in step 507 that the received print request is not a page break, the process proceeds to step 509 and the
[0094]
Next, in step 510, in order to store the print request in the spool file 303, the
[0095]
FIG. 6 is a flowchart showing details of the control in the
[0096]
In step 601, the
[0097]
In step 602, the
[0098]
Regarding the calculation of the physical page, for example, when the processing setting is such that four logical pages are arranged in one physical page, the first physical page can be printed when the fourth logical page is spooled, and the first physical page is printed. It becomes a page. Subsequently, the second physical page can be printed when the eighth logical page is spooled.
[0099]
Even if the total number of logical pages is not a multiple of the number of logical pages allocated to one physical page, the logical page to be allocated to one physical page can be determined by the spool end notification in step 512.
[0100]
In step 608, in the format shown in FIG. 10, information such as the logical page number constituting the printable physical page and the physical page number is set in the job output setting file (file including physical page information). ) And the despooler 305 is notified that one physical page has been added. Thereafter, the process returns to step 601 to wait for the next notification. In the present embodiment, print processing can be performed even when all the print jobs are not spooled when one page of print data, that is, a logical page constituting one physical page is spooled.
[0101]
On the other hand, if the progress notification is not a print end notification of one logical page from the
[0102]
If it is determined in step 610 that the notification is not a print end notification for one physical page from the despooler 305, the process advances to step 613, and the
[0103]
FIG. 7 is a flowchart showing details of the print data generation process in the despooler 305.
[0104]
In response to a print request from the
[0105]
In the generation of print data, first, in step 701, the notification from the
[0106]
The above is the flow of print processing using the
[0107]
Here, in print processing using the
[0108]
FIG. 10 shows an example of a job output setting file that stores information constituting the printable physical page generated by the
[0109]
FIG. 11 is an example of job setting information illustrated in the
[0110]
FIG. 12 shows an example of physical page information shown in the field 1004 of FIG. The
[0111]
FIG. 13 shows an example of physical
[0112]
FIG. 14 shows an example of logical page information indicated by 1204. A
[0113]
The job output setting file is configured as described above. The job setting file is almost the same as the print format (single side, double side, bookbinding printing), print layout (Nup, poster printing), additional information (watermark, date, user name addition), number of copies, and paper size information. Are arranged as a job, and each physical page is composed of a logical page arrangement order, front or back of double-sided printing, color mode, and the like.
[0114]
Further, FIG. 3 shows an example in which a
[0115]
FIG. 15 is a flowchart showing details of the job setting change processing process in the setting
[0116]
First, in
[0117]
FIG. 3 further illustrates an extended system that combines a plurality of print jobs and prints them as a single print job. The extension for despooling and previewing a combined job will be described.
[0118]
Normally, the intermediate format spool file 303 is created for each job. In the case of a single job, the intermediate code of each logical page in the processing target job file is sequentially read and processed, so the logical page ID in the
[0119]
A user operation flow when actually combining a plurality of documents will be described. FIG. 19 is a flowchart for explaining user operations up to the state listed on the screen of the
[0120]
In step 1901, when printing is started from the application, a dialog of the printer driver is opened, and the spooling to the intermediate file format is specified while being operable on the user interface. In the example of the printer driver dialog in FIG. 9, “Store” designation is selected from the combo box 901. Next, the processing proceeds to step 1902, where printing (appears as viewed from the application, not actual printing. In other words, because background printing processing is being performed, the drawing command is output from the application to the graphic engine. As shown in FIG. 16, the
[0121]
In this case, since the user intends to combine a plurality of print documents, the process proceeds to step 1903 to determine whether all the documents to be combined are set to “store” and printed. If there remains a document to be combined that has not been printed (processing for outputting a drawing command to the graphic engine), the process returns to step 1901 to repeat the printing process for other combined documents. If all the documents to be combined have been printed, the process proceeds to the combining process.
[0122]
FIG. 20 is a flowchart illustrating a user operation when combining a plurality of documents listed in FIG.
[0123]
First, in step 2001, the user selects a document to be combined on the user interface shown in FIG. 16 using a pointing device such as a mouse, and the
[0124]
From this state, the process proceeds to step 2002, where the user is instructed to combine from the menu, the toolbar, or the like, and when the
[0125]
In the following step 2003, the user confirms this. message The
[0126]
If it is determined in step 2003 that designation not to combine is made, the process returns to step 2001 to select a document (print job) again. Even going back to step 2001 and returning to the print flow of FIG. 19, even if a new document is printed, the already printed document may be reprinted with the settings changed.
[0127]
If it is determined in step 2003 that the combination is specified, the process advances to step 2004, and the
[0128]
In step 2004, as shown in FIG. 24, a combined job icon indicating a combined job combined by the setting change editor is displayed, and display of the user interface is controlled so as not to display job icons indicating a plurality of print jobs before combining. To do.
[0129]
Even when a combined job is generated, the page drawing file and job setting file of each combined print job are still spooled in the spool file 303, and a job output setting file for the combined job is created. There is only. The physical page information in the job output setting file includes information about which page drawing file is to be arranged in which page layout.
[0130]
FIG. 21 is a diagram showing an example of setting unification / rounding when combining a plurality of documents. For simplicity, the setting items are limited to the number of copies and N page printing. The document A is printed with the setting of 5 copies and 4 pages, and the document B is printed with the settings of 2 copies and 1 pages.
[0131]
When combining the document A and the document B, the number of copies is reset to one, the document A portion is set to 4-page printing, and the layout information of the document B is set to 1-page printing. The number of copies can be set to a unit for handling a print job (specified in FIG. 11), that is, only one setting can be made for one print job. The page layout (layout information) is the information held in the settings for individual documents and pages, that is, the physical page information (1203 in FIG. 12) and does not need to be unified. .
[0132]
The reason why there are some cases where the setting is changed or not changed in this way is described. Generally, there are many types of print settings, but these are classified into one that can exist only in the combined job and one that can exist for each job and page in the combined job. Is the table of FIG.
[0133]
The only setting in the combined job is that it is meaningful to staple the entire job in which the document A and the document B are combined, as in the staple setting. However, if only the portion of the document B is stapled, A setting that loses its combined meaning. On the other hand, when the document A and the document B are simply stapled and output, it is desired to save the settings of the 4-page printing and the 1-page printing set in the original document. Actually, since the setting for printing a plurality of pages on one page is a setting for imposing on the surface of the paper to be printed, it is not necessary to combine the entire job when combining. Such setting items can be mixed even after being combined.
[0134]
The confirmation message in step 2003 requests the user to confirm the setting items to be mixed and the setting items to unify the settings in a system in which the settings can be mixed even after the combination. In FIG. 23 described above, only items whose settings are unified are presented to the user. Since there are many kinds of actual setting items, the confirmation message does not list all items, but only representative ones as shown in FIG. Present The format is easier to use.
[0135]
FIG. 29 is a diagram illustrating the logical structure of the intermediate file. Broadly divided, the setting information portion of the print job and the data of each page of the job are stored. The setting information portion of the print job corresponds to the above-described job setting file (SDF), and in the Windows environment, all items set in the print dialog including information on structures called DEVMODE and PDEVICE are stored. The data of each page corresponds to the above-described page drawing file (PDF), and may have a structure having different entities for each page depending on the system implementation, or a structure in which all are stored in one file as shown in FIG. When combining a plurality of jobs, the SDF unit is scanned from the intermediate file of the target document, the settings are compared, and the settings are unified and rounded.
[0136]
Next, the internal data structure of the joining process will be described. FIG. 27 shows an example of a data structure (job management list) for managing jobs in a state listed on the
[0137]
FIG. 28 shows an example of the job management list by the
[0138]
Here, since the combined job is managed in the memory, a pointer to a structure representing the combined job is stored. The structure representing the combined job is composed of the number of jobs in the combined job and the ID of the intermediate file of each print job in the combined job. In this way, it is possible to save resources required for job operation by manipulating a logical value such as a job ID instead of directly manipulating an intermediate file in which data is actually stored. . Even when the job combination is repeated, the structure of the intermediate file is preserved, so that it is possible to return to the state when the job is spooled.
[0139]
FIG. 32 is a flowchart showing job operation processing in the
[0140]
First, in step 3201, the
[0141]
In step 3202, the
[0142]
If it is determined in step 3202 that the job print start notification is not a store setting, the process advances to step 3204, and the
[0143]
In step 3206, the
[0144]
If it is determined in step 3204 that there is no combination instruction, the process further proceeds to step 3208, and the
[0145]
If it is determined in step 3209 that the job is not a combined job, the process skips step 3210 and proceeds to step 3211, where the
[0146]
If it is determined in step 3208 that the instruction is not a deletion instruction, the process advances to step 3212, and the
[0147]
Then, the process returns to step 3201 and waits for the next input. If it is determined in step 3212 that the job is not duplicated, the process advances to step 3214, and the
[0148]
Further, before proceeding to step 3215, a message for confirming whether or not the disassembling process may actually be performed may be issued as shown in FIG. Then, the process returns to step 3201 and waits for the next input.
[0149]
Next, a combined job operation will be described. As shown in FIGS. 10 to 14, the data structure used for print preview of the combined job is managed in a configuration of job-paper (front / back) -logical page. The combined job information for configuration is managed in units of jobs as shown in a combined job structure (job output setting file) in FIG. Therefore, in this system, it is possible to perform operations in units of print jobs that constitute a combined job.
[0150]
FIG. 30 shows an example of a user interface for changing the setting of the combined job. A
[0151]
Further, it is possible to delete a print job from a combined job by operating a job deletion interface indicated by 3003. By deleting the print job, the number of the corresponding physical page or logical page in the job output setting file is updated.
[0152]
FIG. 33 is a flowchart showing a processing flow when the job order is changed and the job is deleted.
[0153]
In step 3310, the
[0154]
In step 3202, the
[0155]
If it is determined that there is no data even if the job selected in step 3303 is deleted, the process proceeds to step 3304, and the
[0156]
If it is determined in step 3302 that the job deletion request is “inside”, the process advances to step 3305, and the
[0157]
Next, operation in units of pages will be described. A page can be deleted in units of logical pages by the
[0158]
FIG. 34 is a flowchart illustrating processing for deleting a logical page in a job. The target job is a combined job, but only the job boundary processing is different, and a single job has the same flow.
[0159]
First, in step 3401, the
[0160]
If it is determined in step 3401 that the page can be deleted, the process advances to step 3402 to search a page corresponding to the logical page selected on the preview from the physical page information file. The process advances to step 3403 to determine whether the file is the last page of the combined job.
[0161]
If it is not the last page, the process advances to step 3405 to further determine whether it is the last page of the job boundary, that is, the job of the elements constituting the combined job. Here, the job boundary is determined only when special processing needs to be performed at the job boundary. As an example of special processing at the job boundary, when the last page of job A is printed on the front side by double-sided printing, it is possible to set whether to print the first page of job B that follows on the back side of the paper. In such a case, depending on the setting, nothing is printed on the back side of the last page and the first page of job B is printed on the front side of the next sheet, or the top side of job B is continuously placed on the back side. There is a process of printing a page or configuring a physical page information file.
[0162]
If it is determined in step 3405 that it is a job boundary, the process proceeds to step 3407, where the job boundary is processed, and the process proceeds to step 3408. If it is determined in step 3405 that the page is not a job boundary page, the process proceeds to step 3408. In step 3408, the
[0163]
In step 3404, it is determined whether there is no logical page on the last physical page that is the current processing target as a result of shifting the page. If there is no logical page to be displayed on the physical page, the process advances to step 3405 to delete the physical page information itself. If the physical page is not empty, the process is terminated without deleting the physical page.
[0164]
Note that the present invention can be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), or a device (copier, printer, facsimile device, etc.) composed of a single device. You may apply to.
[0165]
Another object of the present invention is to read a program code stored in a storage medium by a computer (or CPU or MPU) of a system or apparatus, which stores a program code of software that realizes the functions of the above-described embodiments. It is also achieved by executing.
[0166]
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0167]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a DVD, an MO, and a ROM are used. be able to.
[0168]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. A case where part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0169]
Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board is based on the instruction of the program code. Also included is a case where the CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0170]
Another object of the present invention is to install a program code of software that realizes the functions of the above-described embodiments in a computer (or CPU or MPU) of a system or apparatus, and read and execute the installed program code. Is also achieved.
[0171]
In this case, the program code itself downloaded and installed by the Internet download service or the like realizes the functions of the above-described embodiment, and the program code itself constitutes the present invention.
[0172]
【The invention's effect】
As described above, the present invention is an information processing apparatus that generates print data to be transmitted to a printing apparatus, and converts the data to be printed generated by an application into a print job in an intermediate code format. Intermediate code conversion means for temporarily storing data in association with print setting information of the data to be A plurality of codes converted by the intermediate code conversion means Combining instruction means for instructing to combine a plurality of intermediate code format print jobs corresponding to different data to be printed into one combined job, and combining the plurality of print jobs into one combined job by the combining instruction means. When a join instruction is given, The temporary storage Analyzing the print setting information of multiple print jobs, only one can be set for one print job Judgment means for judging whether the setting contents are different among the plurality of print jobs, and the judgment means judges that only one setting content can be set for one print job is different among the plurality of print jobs. A confirmation message display means for displaying a confirmation message to unify the setting contents, and a setting in which only one can be set for one print job after the confirmation message is displayed by the confirmation message display means. Content Since there is a setting unification unit that generates print setting information for a combined job that unifies the print job information, a plurality of print jobs having print setting information can be combined. You can confirm with the confirmation message that the settings that can only be set for one print job at the time of combination are unified. Further, it is possible to eliminate the problem of the print setting at the time of the combination.
[0173]
Also, the above Confirmation message display The means analyzes the print setting information of the plurality of print jobs to be combined, and if the information that can be set only for one print job is different, the setting is unified or the print jobs are combined Confirm that you want to select Display a confirmation message Therefore, it is possible to avoid undesired coupling by the user.
[0174]
In addition, since the intermediate code format print job is temporarily stored as a page drawing file for each page, handling of data becomes easy when combining jobs.
[0175]
In addition, since the print setting information for the combined job is added with information for specifying a page drawing file to be laid out on a physical page, the combined job itself does not include drawing data in an intermediate data format such as a page drawing file. Since it is not necessary to have it, the process at the time of joining becomes light.
[0176]
Further, since the print setting information is temporarily stored as a print setting file for each print job, the job becomes cheaper.
[0177]
In addition, since it further includes preview display control means for controlling to display a preview based on the print setting information of the print job or the combined job, it is possible to confirm the print result before printing to the user.
[0178]
In addition, since the apparatus further includes an order control unit that operates a plurality of print jobs in the combined job and changes the order of the print jobs, the user can create the intermediate code without particularly considering the print order, and can always satisfy the user's preference. The order can be determined together.
[0179]
Further, since the apparatus further includes job deleting means for operating a plurality of print jobs in the combined job and deleting a specific print job, there is no need to recreate the combined job.
[0180]
In addition, since the job splitting means for splitting the combined job into a plurality of print jobs before combining is further provided, it is possible to return to each single job, so that the user can try generating the combined job with peace of mind. .
[0181]
In addition, since the print job or the combined job is designated and a job duplication unit for creating a duplicate of the designated print job is further provided, even if another job is desired to be included in one job, duplication is made and page control is performed. It becomes possible to do.
[0182]
In addition, the print job or the combined job further includes setting initialization means for returning the initial state at the time of creating intermediate code format data that is the basis of the job based on the print setting information. Operations such as editing can be performed.
[0183]
In addition, since it further includes a page editing means for deleting a specified page for the logical page in the print job or the combined job, the job operation desired by the user can be performed, and the operability and flexibility are improved. To do.
[0184]
In addition, since it further includes print data generation means for generating print data to be transmitted to the printing apparatus based on the intermediate code format data temporarily stored by the intermediate code conversion means, after generating a desired job Allows you to print without restarting the application.
[0185]
The intermediate code format temporarily stored by the intermediate code conversion means is converted into a rendering instruction that can be interpreted by the OS rendering means, and the rendering command generation means outputs the rendering command from the application via the OS rendering means. The received print command is further transferred to the intermediate data conversion unit, and the print command received from the drawing command generation unit via the OS drawing unit is further provided with a print command allocation unit that is transferred to the print data generation unit. Print data conversion means can be used, and even when such a mechanism is provided, the development process can be reduced.
[0186]
Also, the above drawing Since the command is a GDI function, the print command is a DDI function, and the print data is in a printer language, this mechanism can be provided to a general OS.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a print control apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of a typical print system of a host computer to which a printer is connected.
FIG. 3 is a block diagram illustrating a configuration of a printing system that temporarily spools an intermediate code before converting a print command from an application into a printer control command.
FIG. 4 is a diagram illustrating a printer according to the present invention.
FIG. 5 is a flowchart showing processing in the
FIG. 6 is a flowchart showing print control in the spool file manager.
FIG. 7 is a flowchart showing processing in the despooler 305;
FIG. 8 is an example of a print setting screen.
FIG. 9 is an example of a print spool setting screen.
FIG. 10 is a diagram illustrating an example of a data format that is passed when the
FIG. 11 is a diagram illustrating an example of a data format that is passed when the
FIG. 12 is a diagram illustrating an example of a data format that is passed when the
FIG. 13 is a diagram illustrating an example of a data format that is passed when the
FIG. 14 is a diagram illustrating an example of a data format that is passed when the
15 is a flowchart showing setting change processing in a setting
FIG. 16 is an example of a screen that displays a list of print jobs spooled by the spool file manager.
FIG. 17 is an example of a screen of the
18 is an example of a screen of a setting
FIG. 19 is a flowchart showing a user operation when spooling to the
FIG. 20 is a flowchart showing user operations during job combination.
FIG. 21 is a conceptual diagram for explaining unification / rounding of settings when combining a plurality of documents.
FIG. 22 is an example of a user interface for selecting a plurality of documents to be combined in order to combine a plurality of documents.
FIG. 23 is an example of a user interface that requests confirmation of unification and rounding of settings at the time of combination.
24 is an example of a user interface indicating that a plurality of documents selected in FIG. 22 are combined.
FIG. 25 is an example of a confirmation message when disassembling a job.
FIG. 26 is an example of classification of a setting that is not unified and a setting that is unified when performing setting unification / rounding when combining.
FIG. 27 is an example of a data structure when the
FIG. 28 is an example of a data structure when the
FIG. 29 is an example of the internal structure of an intermediate file.
FIG. 30 is an example of a screen for editing a combined job.
FIG. 31 is an example of data processing when changing the order of jobs after combining and deleting them.
FIG. 32 is a flowchart illustrating an example of job editing processing in the spool file manager.
FIG. 33 is a flowchart showing an example of processing in the
FIG. 34 is a flowchart showing an example of the status of processing in the
[Explanation of symbols]
1 CPU
2 RAM
3 ROM
4 System bus
12 CPU
13 ROM
19 RAM
3000 Host computer
1500 printer
Claims (46)
アプリケーションにより生成された印刷すべきデータを中間コード形式の印刷ジョブに変換し、該印刷すべきデータの印刷設定情報と関連付けて一時保存する中間コード変換手段と、
前記中間コード変換手段により変換された複数の異なる印刷すべきデータに対応する複数の中間コード形式の印刷ジョブを結合して1つの結合ジョブにする結合指示をする結合指示手段と、
前記結合指示手段により複数の印刷ジョブを1つの結合ジョブにする結合指示がなされた場合に、前記一時保存されている当該複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない設定内容が当該複数の印刷ジョブで異なっているかを判断する判断手段と、
前記判断手段により1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっていると判断された場合に、当該設定内容を統一する旨の確認メッセージを表示する確認メッセージ表示手段と、
前記確認メッセージ表示手段により前記確認メッセージを表示した後で、1つの印刷ジョブに対して1つしか設定できない設定内容を統一した結合ジョブ用の印刷設定情報を生成する設定統一手段と、
を有することを特徴とする情報処理装置。An information processing apparatus that generates print data to be transmitted to a printing apparatus,
Intermediate code conversion means for converting data to be printed generated by an application into a print job in an intermediate code format, and temporarily storing the data in association with print setting information of the data to be printed;
A combination instruction unit for combining a plurality of intermediate code format print jobs corresponding to a plurality of different data to be printed converted by the intermediate code conversion unit into a combined job;
When a combination instruction for making a plurality of print jobs into one combined job is made by the combination instruction unit, the temporarily saved print setting information of the plurality of print jobs is analyzed, and one print job is analyzed. A judging means for judging whether or not the setting contents which can be set only one are different among the plurality of print jobs;
A confirmation message display for displaying a confirmation message to unify the setting contents when it is determined by the determining means that only one setting content can be set for one print job is different among a plurality of print jobs. Means,
A setting unification unit for generating print setting information for a combined job in which only one setting content can be set for one print job after the confirmation message is displayed by the confirmation message display unit ;
An information processing apparatus comprising:
前記アプリケーションからOSの描画手段を介して受け取った印刷命令は前記中間データ変換手段に渡し、前記描画命令生成手段からOSの描画手段を介して受け取った印刷命令は前記印刷データ生成手段に渡す印刷命令割り振り手段とを更に有することを特徴とする請求項13記載の情報処理装置。A rendering command generating unit that converts the intermediate code format data temporarily stored by the intermediate code converting unit into a rendering command that can be interpreted by the rendering unit of the OS, and outputs the rendering command;
A print command received from the application via the OS drawing unit is passed to the intermediate data conversion unit, and a print command received from the drawing command generation unit via the OS drawing unit is passed to the print data generation unit 14. The information processing apparatus according to claim 13, further comprising allocation means.
アプリケーションにより生成された印刷すべきデータを中間コード形式の印刷ジョブに変換し、該印刷すべきデータの印刷設定情報と関連付けて一時保存する中間コード変換工程と、
前記中間コード変換工程で変換された複数の異なる印刷すべきデータに対応する複数の中間コード形式の印刷ジョブを結合して1つの結合ジョブにする結合指示をする結合指示工程と、
前記結合指示工程により複数の印刷ジョブを1つの結合ジョブにする結合指示がなされた場合に、前記一時保存されている当該複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない設定内容が当該複数の印刷ジョブで異なっているかを判断する判断工程と、
前記判断工程で1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっていると判断された場合に、当該設定内容を統一する旨の確認メッセージを表示する確認メッセージ表示工程と、
前記確認メッセージ表示工程で前記確認メッセージを表示した後で、1つの印刷ジョブに対して1つしか設定できない設定内容を統一した結合ジョブ用の印刷設定情報を生成する設定統一工程と、
を含むことを特徴とする情報処理方法。 An information processing method in an information processing apparatus for generating print data to be transmitted to a printing apparatus,
An intermediate code conversion step of converting data to be printed generated by an application into a print job in an intermediate code format and temporarily storing the data in association with print setting information of the data to be printed;
A combination instruction step of combining a plurality of intermediate code format print jobs corresponding to a plurality of different data to be printed converted in the intermediate code conversion step into a combined job;
When a combination instruction for making a plurality of print jobs into one combined job is made in the combination instruction step, the temporarily saved print setting information of the plurality of print jobs is analyzed and one print job is analyzed. A determination step of determining whether or not only one setting content can be set differs between the plurality of print jobs;
A confirmation message display for displaying a confirmation message to unify the setting contents when it is determined in the determination step that the setting contents that can be set only for one print job are different for a plurality of print jobs. Process,
A setting unification step for generating print setting information for a combined job in which only one setting can be set for one print job after displaying the confirmation message in the confirmation message display step ;
An information processing method comprising:
前記アプリケーションからOSの描画手段を介して受け取った印刷命令は前記中間データ変換工程に渡し、前記描画命令生成工程からOSの描画手段を介して受け取った印刷命令は前記印刷データ生成工程に渡す印刷命令割り振り工程とを更に含むことを特徴とする請求項28記載の情報処理方法。A drawing command generation step of converting the intermediate code format data temporarily stored in the intermediate code conversion step into a drawing command that can be interpreted by the drawing means of the OS, and outputting the drawing command;
A print command received from the application via the OS drawing means is passed to the intermediate data conversion step, and a print command received from the drawing command generation step via the OS drawing means is passed to the print data generation step. 29. The information processing method according to claim 28, further comprising an allocation step.
アプリケーションにより生成された印刷すべきデータを中間コード形式の印刷ジョブに変換し、該印刷すべきデータの印刷設定情報と関連付けて一時保存する中間コード変換工程と、
前記中間コード変換工程で変換された複数の異なる印刷すべきデータに対応する複数の中間コード形式の印刷ジョブを結合して1つの結合ジョブにする結合指示をする結合指示工程と、
前記結合指示工程により複数の印刷ジョブを1つの結合ジョブにする結合指示がなされた場合に、前記一時保存されている当該複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない設定内容が当該複数の印刷ジョブで異なっているかを判断する判断工程と、
前記判断工程で1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっていると判断された場合に、当該設定内容を統一する旨の確認メッセージを表示する確認メッセージ表示工程と、
前記確認メッセージ表示工程で前記確認メッセージを表示した後で、1つの印刷ジョブに対して1つしか設定できない設定内容を統一した結合ジョブ用の印刷設定情報を生成する設定統一工程と、
を含むことを特徴とするコンピュータ読み取り可能なプログラムが格納された記憶媒体。A storage medium storing a computer-readable program executed in an information processing apparatus that generates print data to be transmitted to a printing apparatus,
An intermediate code conversion step of converting data to be printed generated by an application into a print job in an intermediate code format and temporarily storing the data in association with print setting information of the data to be printed;
A combination instruction step of combining a plurality of intermediate code format print jobs corresponding to a plurality of different data to be printed converted in the intermediate code conversion step into a combined job;
When a combination instruction for making a plurality of print jobs into one combined job is made in the combination instruction step, the temporarily saved print setting information of the plurality of print jobs is analyzed and one print job is analyzed. A determination step of determining whether or not only one setting content can be set differs between the plurality of print jobs;
A confirmation message display for displaying a confirmation message to unify the setting contents when it is determined in the determination step that the setting contents that can be set only for one print job are different for a plurality of print jobs. Process,
A setting unification step for generating print setting information for a combined job in which only one setting can be set for one print job after displaying the confirmation message in the confirmation message display step ;
A storage medium storing a computer-readable program.
前記アプリケーションからOSの描画手段を介して受け取った印刷命令は前記中間データ変換工程に渡し、前記描画命令生成工程からOSの描画手段を介して受け取った印刷命令は前記印刷データ生成工程に渡す印刷命令割り振り工程とを更に含むことを特徴とする請求項43記載の記憶媒体。A drawing command generation step of converting the intermediate code format data temporarily stored in the intermediate code conversion step into a drawing command that can be interpreted by the drawing means of the OS, and outputting the drawing command;
A print command received from the application via the OS drawing means is passed to the intermediate data conversion step, and a print command received from the drawing command generation step via the OS drawing means is passed to the print data generation step. 44. The storage medium according to claim 43, further comprising an allocation step.
アプリケーションにより生成された印刷すべきデータを中間コード形式の印刷ジョブに変換し、該印刷すべきデータの印刷設定情報と関連付けて一時保存する中間コード変換用プログラムコードと、
前記中間コード変換工程で変換された複数の異なる印刷すべきデータに対応する複数の中間コード形式の印刷ジョブを結合して1つの結合ジョブにする結合指示をする結合指示用プログラムコードと、
前記結合指示用プログラムコードにより複数の印刷ジョブを1つの結合ジョブにする結合指示が発行された場合に、前記一時保存されている当該複数の印刷ジョブの印刷設定情報を解析し、1つの印刷ジョブに対して1つしか設定できない設定内容が当該複数の印刷ジョブで異なっているかを判断する判断用プログラムコードと、
前記判断用プログラムコードにより1つの印刷ジョブに対して1つしか設定できない設定内容が複数の印刷ジョブで異なっていると判断された場合に、当該設定内容を統一する 旨の確認メッセージを表示する確認メッセージ表示用プログラムコードと、
前記確認メッセージ表示用プログラムコードにより前記確認メッセージを表示した後で、1つの印刷ジョブに対して1つしか設定できない設定内容を統一した結合ジョブ用の印刷設定情報を生成する設定統一用プログラムコードと、
を含むことを特徴とするコンピュータ読み取り実行可能なコンピュータプログラム。A computer readable program for generating print data to be transmitted to a printing device,
An intermediate code conversion program code for converting data to be printed generated by an application into a print job in an intermediate code format and temporarily storing the data in association with print setting information of the data to be printed;
A combination instruction program code for combining a plurality of intermediate code format print jobs corresponding to a plurality of different data to be printed converted in the intermediate code conversion step into a combined job;
When a combination instruction for making a plurality of print jobs into one combination job is issued by the combination instruction program code, the print setting information of the plurality of temporarily stored print jobs is analyzed and one print job is analyzed. A determination program code for determining whether or not only one setting content can be set for each of the plurality of print jobs,
Confirmation that displays a confirmation message to unify the setting contents when it is determined by the determination program code that only one setting content can be set for one print job is different among a plurality of print jobs. Message display program code;
A setting unification program code for generating print setting information for a combined job in which only one setting content can be set for one print job after the confirmation message is displayed by the confirmation message display program code; ,
A computer program readable and executable by a computer.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31287099A JP3631068B2 (en) | 1999-11-02 | 1999-11-02 | Information processing apparatus, information processing method, and storage medium storing computer-readable program |
EP10182749A EP2275920A1 (en) | 1999-11-02 | 2000-10-31 | Information processor, method for processing information and memory medium for storing program readable by computer |
EP00309590A EP1098242A3 (en) | 1999-11-02 | 2000-10-31 | Information processor, method for processing information and memory medium for storing program readable by computer |
US09/699,389 US6934046B1 (en) | 1999-11-02 | 2000-10-31 | Information processor, method for processing information and memory medium for storing program readable by computer |
US11/092,842 US7154627B2 (en) | 1999-11-02 | 2005-03-30 | Information processor, method for processing information and memory medium for storing program readable by computer |
US11/151,360 US7307749B2 (en) | 1999-11-02 | 2005-06-14 | Information processor, method for processing information and memory medium for storing program readable by computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31287099A JP3631068B2 (en) | 1999-11-02 | 1999-11-02 | Information processing apparatus, information processing method, and storage medium storing computer-readable program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001134394A JP2001134394A (en) | 2001-05-18 |
JP3631068B2 true JP3631068B2 (en) | 2005-03-23 |
Family
ID=18034438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31287099A Expired - Fee Related JP3631068B2 (en) | 1999-11-02 | 1999-11-02 | Information processing apparatus, information processing method, and storage medium storing computer-readable program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3631068B2 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3848031B2 (en) | 1999-11-30 | 2006-11-22 | シャープ株式会社 | Image forming apparatus |
JP4859161B2 (en) * | 2001-09-14 | 2012-01-25 | キヤノン株式会社 | Information processing apparatus and processing method thereof |
JP2003094774A (en) * | 2001-09-21 | 2003-04-03 | Ricoh Co Ltd | Imaging apparatus |
JP4520340B2 (en) | 2005-03-17 | 2010-08-04 | 株式会社リコー | PRINT CONTROL DEVICE, CONTROL METHOD FOR PRINT CONTROL DEVICE, PRINT CONTROL PROGRAM, AND RECORDING MEDIUM |
JP4546298B2 (en) | 2005-03-18 | 2010-09-15 | キヤノン株式会社 | Information processing apparatus, job combination method thereof, program, and storage medium |
JP2006338627A (en) * | 2005-06-06 | 2006-12-14 | Konica Minolta Business Technologies Inc | Document management device, document management method and document management program |
US20090323098A1 (en) * | 2008-06-25 | 2009-12-31 | Konica Minolta Systems Laboratory, Inc. | Method for batch file printing and related user interface |
US8472051B2 (en) | 2008-11-11 | 2013-06-25 | Sharp Kabushiki Kaisha | Image forming apparatus and method for displaying preview image of top page of multiple sub-jobs of a print job |
JP4669895B2 (en) | 2008-11-20 | 2011-04-13 | キヤノン株式会社 | Print control apparatus, print control method, and program |
JP2011059995A (en) * | 2009-09-10 | 2011-03-24 | Ricoh Co Ltd | Information processor, program and computer-readable recording medium |
JP5427751B2 (en) * | 2010-10-27 | 2014-02-26 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus |
US20120162691A1 (en) | 2010-12-28 | 2012-06-28 | Kyocera Mita Corporation | Image forming apparatus |
JP2012174048A (en) | 2011-02-22 | 2012-09-10 | Brother Ind Ltd | Data processing program and data processor |
JP6106962B2 (en) * | 2012-06-19 | 2017-04-05 | コニカミノルタ株式会社 | Information processing apparatus, program, and recording medium |
JP6053491B2 (en) * | 2012-12-13 | 2016-12-27 | キヤノン株式会社 | Information processing apparatus, program, and control method |
JP6234057B2 (en) * | 2013-05-08 | 2017-11-22 | キヤノン株式会社 | Printing apparatus, display control method, and program |
JP7027837B2 (en) | 2017-11-27 | 2022-03-02 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment and information processing programs |
JP2019164446A (en) * | 2018-03-19 | 2019-09-26 | 株式会社リコー | Information processing apparatus, information processing method, program and printing system |
JP2021176676A (en) * | 2020-05-07 | 2021-11-11 | コニカミノルタ株式会社 | Image processing device, image formation device, and program |
JP2021176675A (en) * | 2020-05-07 | 2021-11-11 | コニカミノルタ株式会社 | Image processing device, image formation device, and program |
-
1999
- 1999-11-02 JP JP31287099A patent/JP3631068B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001134394A (en) | 2001-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3619087B2 (en) | Information processing apparatus, information processing method, and storage medium storing computer-readable program | |
JP4298146B2 (en) | Information processing apparatus and method for generating print data | |
JP3634695B2 (en) | Printing control method and apparatus | |
JP3689662B2 (en) | Information processing apparatus and display method thereof | |
JP3679660B2 (en) | Information processing apparatus, information processing method, and storage medium storing computer-readable program | |
JP4834256B2 (en) | Information processing apparatus, print data generation method, print control program, and storage medium | |
US7154627B2 (en) | Information processor, method for processing information and memory medium for storing program readable by computer | |
JP3937666B2 (en) | Printing control method and apparatus | |
JP4328426B2 (en) | Printing control method and apparatus | |
JP3631068B2 (en) | Information processing apparatus, information processing method, and storage medium storing computer-readable program | |
JP3733288B2 (en) | Information processing apparatus, print control method, and storage medium | |
JP3880307B2 (en) | Information processing apparatus and method | |
JP2007249301A (en) | Information processor and printer device | |
JP2010231775A (en) | Information processing apparatus, control method, and storage medium storing computer readable control program | |
US7362465B2 (en) | Information processing apparatus and control method therefor | |
JP3673684B2 (en) | Information processing apparatus, information processing method, and storage medium storing computer-readable program | |
JP2001136364A (en) | Method and device for controlling printing | |
JP2001130083A (en) | Method and apparatus for controlling printing | |
JP2001134561A (en) | Method and device for print control | |
JP2003029942A (en) | Printing controller, control method therefor, program and storage medium | |
JP2001134560A (en) | Method and device for print control | |
JP2001130115A (en) | Method and device for controlling print | |
JP2001134410A (en) | Method and device for controlling print | |
JP2004157610A (en) | Information processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040806 |
|
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: 20041130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041215 |
|
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: 20081224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101224 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121224 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131224 Year of fee payment: 9 |
|
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 |