JP4891052B2 - 情報処理装置、プレビュー方法、プログラム、及び記憶媒体 - Google Patents

情報処理装置、プレビュー方法、プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP4891052B2
JP4891052B2 JP2006342823A JP2006342823A JP4891052B2 JP 4891052 B2 JP4891052 B2 JP 4891052B2 JP 2006342823 A JP2006342823 A JP 2006342823A JP 2006342823 A JP2006342823 A JP 2006342823A JP 4891052 B2 JP4891052 B2 JP 4891052B2
Authority
JP
Japan
Prior art keywords
preview
print
document data
document
layout
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006342823A
Other languages
English (en)
Other versions
JP2008152728A5 (ja
JP2008152728A (ja
Inventor
英夫 名取
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006342823A priority Critical patent/JP4891052B2/ja
Priority to US11/953,747 priority patent/US8537408B2/en
Publication of JP2008152728A publication Critical patent/JP2008152728A/ja
Publication of JP2008152728A5 publication Critical patent/JP2008152728A5/ja
Application granted granted Critical
Publication of JP4891052B2 publication Critical patent/JP4891052B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、例えば印刷処理を行う前に、印刷イメージをユーザが認識可能に表示する、いわゆるプレビュー機能等を有する情報処理装置、プレビュー方法、プログラム、及び記憶媒体に関する。
従来より、印刷前に印刷イメージを取得して画面に表示する技術が提案されている。
このような技術の一例として、プリンタが解釈可能な印刷コマンドをプリンタに接続された計算機(データ処理装置)によって解析し、その計算機でCMYKプレーン毎に展開することによって印刷イメージを生成する手法が知られている。また、プリンタに接続された計算機から当該プリンタに印刷コマンドを送信した後、その計算機は当該プリンタ内部で作成された印刷イメージを受信し、受信した印刷イメージに基づいて表示を行なう手法が一般に知られている。
ここで、オペレーティングシステム(OS)としてMicrosoft社のWindows(登録商標)を搭載した計算機を用いた印刷システムにおいて、アプリケーションプログラム(アプリケーション)等で生成された印刷データは、OS標準のデータ形式でスプールファイルに格納される。OSは印刷データを印刷するためにプリンタドライバを呼び出す。そしてプリンタドライバが、スプールファイルに格納された印刷データを読み取り、イメージ生成処理部により印刷イメージを作成し、さらにプリンタが解釈可能な印刷コマンドに変換する。印刷コマンドはプリンタに送信され、プリンタは印刷コマンドを解釈し、記録媒体に像を形成することで印刷処理が実行される。
この印刷システムにおいてプレビュー機能を提供するために、プリンタドライバは印刷処理を開始した時に、印刷イメージを表示するプレビューアを実行する。そして画像生成部はプレビュー用の印刷イメージを作成し、プレビューアは当該プレビュー用の印刷イメージを表示する。つまり、プリンタドライバにおいて、印刷イメージを作成する当該画像生成部と、印刷イメージを表示する当該プレビューアとが協調することにより、プレビュー機能が実現される。(特許文献1参照)
また、印刷ジョブを結合する機能を有する印刷システムにおけるプレビューでは、それぞれの印刷ジョブのレイアウトを考慮したプレビューを行える仕組みが考案されている。印刷すべきデータを中間コード形式に変換した印刷ジョブを結合して1つの結合ジョブを生成する際に、結合ジョブ内のそれぞれの印刷ジョブのレイアウト情報を個別に保存する。結合ジョブのプレビューを表示する際には、プレビューを行うページに対応するレイアウト情報を参照することで、結合ジョブ内のそれぞれの印刷ジョブのレイアウトを再現する。また、中間データの他にレイアウト情報を持つことで、結合ジョブ内のそれぞれの印刷ジョブのレイアウト情報を、同一結合ジョブ内の他の印刷ジョブに影響を与えることなくプレビュー中に変更することができる。(特許文献2参照)
特開2004−102618号公報 特開2001−130082号公報
ところで、前記のような従来の技術には次のような解決すべき課題があった。
前記従来例の第一の手法では、プリンタドライバがOSに呼び出されている間にプレビューの実行が可能であった。OSがプリンタドライバを呼び出し印刷処理を行うのは、印刷キュー中の先頭の印刷ジョブを対象としている。通常、印刷処理の対象となる印刷ジョブは印刷キューにつき一つのみとなる。従って、プレビュー機能を実行している間は、他の印刷ジョブは印刷対象にならない。このため印刷キュー中に印刷処理中の印刷ジョブがある場合、他の印刷ジョブのプレビュー機能を実行できない欠点がある。また、印刷処理中の印刷ジョブにおいてプレビュー機能を実行している際、少なくともプレビュー機能を実行しているジョブの処理が終了するまで、同一印刷キュー中の他のジョブは印刷されない欠点がある。また、同OSを用いれば複数のユーザーが同時に印刷ジョブを発行することがあるにも関らず、複数のユーザが同時にプレビュー機能を利用できないことが問題である。
レイアウト処理の視点では、プレビュー用の印刷イメージを作成する際にレイアウト処理を行い、さらにその時点では上記印刷ジョブは中間データなので、プレビュー画面を表示させるためには、ビットマップ化処理を行わなければならない。このように画面表示用にビットマップ化処理を行ったプレビュー用のビットマップデータは、実際に印刷処理を続行させるにおいて、必ずしもプリンタが必要とするビットマップデータに適合していないので、流用することができない。すなわち、実際に印刷を行うための印刷イメージを作成するにあたってはレイアウト処理を再度行う必要がある。つまり同一のレイアウト処理を印刷イメージを作成する度に繰り返し行う必要があり、同一処理を重複して行う問題がある。
前記従来例の第二の手法では、複数の印刷ジョブを結合するにあたりレイアウト情報を別途保存するため、プレビュー機能で印刷イメージを表示する際にレイアウト処理が必要となる。また、プレビュー中にレイアウト情報を変更できることから、実際にプリンタで印刷する際にもレイアウト処理が必要になる。つまり、プレビュー中にレイアウト情報が変更されなかった場合は、同一のレイアウト処理をプレビュー時と実印刷時に繰り返し行う必要があり、同一処理を重複して行う問題がある。
本発明は上記従来の問題点に鑑み、同一のレイアウト処理を重複して行わないことで効率的に処理を行う、プレビュー機能を有するプリンタドライバを提供することを目的とする。また、プレビュー表示中に印刷キュー中の後続の印刷ジョブを処理できることを目的とする。
上記目的を達成するために、本発明の情報処理装置は、
スプールファイルから文書データを入力するレイアウト処理手段と、
前記レイアウト処理手段から文書データを入力するプレビュー文書作成手段と、
前記プレビュー文書作成手段から文書データを入力する印刷コマンド生成処理手段と、
プレビュー用文書データに基づきプレビューを制御するプレビュー制御手段とを有し、
前記レイアウト処理手段は、プレビューフラグが設定されている場合、スプールファイルから入力された文書データを印刷設定情報に基づきレイアウト処理することなく前記プレビュー文書作成手段に出力し、プレビューフラグが設定されていない場合、印刷設定情報に基づきスプールファイルから入力された文書データのレイアウト処理を行い、レイアウト処理された文書データを前記プレビュー文書作成手段に出力し、
前記プレビュー文書作成手段は、プレビュー済みの場合またはプレビューが設定されていない場合、レイアウト処理された文書データを前記印刷コマンド生成処理手段に出力し、プレビュー済みでなくプレビューが設定されている場合、レイアウト処理された文書データにプレビューフラグを設定するとともに、プレビュー用文書データを作成し、
前記プレビュー制御手段は、作成されたプレビュー用文書データを読み込み、印刷イメージを表示させ、印刷指示に基づきプレビューフラグが設定された文書データを前記スプールファイルに出力し、
前記印刷コマンド生成処理手段は、レイアウト処理された文書データをプリンタが解釈可能な印刷コマンドに変換することを特徴とする。
上記構成により本発明によればプレビューアから印刷開始を指示してもレイアウト処理は1回しか行わない為、コンピュータの負荷が軽減する効果が得られる。また、プレビュー用電子文書の作成が終了していれば、プレビュー中でも印刷キュー中の後続の印刷ジョブを処理できる。
以下、図面に示す実施例に基づき本発明を詳細に説明する。尚、本文中のXPSとはXML Paper Specificationの略で、Microsoft社が開発したオープン規格の電子文書フォーマットの一つである。
<XPS文書の構成>
本文の理解を容易にするため、まずXPSについて簡単に説明する。XPS文書はFixedDocumentSequence(以下FDS)をルートとするツリー構造になっている。FDSは複数のFixedDocument(以下FD)を持ち、FDは複数のFixedPage(以下FP)を持つ。FDSとFDとFPのそれぞれは、XPSパートと呼ばれることがある。FPは文書のページの内容をXML形式で記述しており、実際に表示または印刷される内容を含んでいる。FPのページ内容で使用されるフォントや画像等の資源は複数のFPで共有することができる。また、FDSとFDとFPははそれぞれ印刷設定をPrintTicket(以下PT)で持つことができる。PTはXPS文書を印刷する際の印刷設定をXML形式で記述したものである。ここで各FPを印刷する際に使用する印刷設定は、FDSのPTと、印刷対象FPの親FDのPTと、印刷対象FPのPTをマージしたPTとなる。
図5はXPS文書の論理構造を示したブロック図の一例である。XPS文書501の論理構造はFDS503がルートとなるツリー構造となっている。FDS503は子としてFD511とFD513を有する。FD511は子としてFP521とFP523を有する。FD513は子としてFP525を有する。印刷設定を記述したPTについては、FDS503がPT531を、FD511がPT533を、FP521がPT535を、FD513がPT537をそれぞれ保持している。FP523とFP525はPTを保持していない。また、FP521とFP523がフォントや画像等の資源541を共有しており、FP525はフォントや画像等の資源543を利用している。ここで例えばFP521を印刷する際に使用するPTは、PT531とPT533とPT535をマージしたPTとなる。
以上説明したように、XPS文書は論理的にXPSパートという概念を用いると理解が容易になる。ただし、XPS文書自体はバイト列(ストリーム)として取り扱いが可能である為、XPS文書内部のデータを指す場合はXPSデータという言葉を用いることもある。従って本文においてもXPSパートとXPSデータという言葉を用いて実施例を説明する。
<印刷システムの構成>
図1は本発明の実施の一形態に係る印刷システムの構成を示すブロック図である。プリンタ101は、画像形成を行うインクジェット方式のプリンタであり、後述するデータ処理装置102で生成された印刷コマンドに基づいて記録媒体100に画像の形成を行う。プリンタの種類については特に問わないが、ここではインクジェット方式のカラープリンタを想定している。データ処理装置102は、アプリケーションが印刷ジョブを作成し、プリンタドライバが印刷ジョブのスプールデータから、接続されたプリンタ101の印刷動作を制御する印刷コマンドの生成を行う。本実施形態ではデータ処理装置102としてパーソナルコンピュータを用いている。印刷の設定に関するユーザーからの指示や入力を受ける役割も果たす。データ処理装置102は、各種機能ブロック130〜135、140〜143によって構成される。また、データ処理装置102には、データ処理装置102を制御するOSが組み込まれており、このOS上で各種機能ブロックが動作する。通信インターフェース103は、データ処理装置102とプリンタ101を接続する通信インタフェースである。本実施形態ではシリアルインタフェースであるUSBを用いているが、この他に、IEEE1394、Ethernet(登録商標)、IrDA、IEEE802.11、電力線などのシリアルインターフェースや、セントロニクス、SCSIなどのパラレルインタフェースを利用することもできる。通信を実現するものであれば有線/無線を問わずどのようなインタフェースであっても構わない。このように、本実施形態における印刷システムとは、単体の装置ではなく、データ処理装置102と画像形成を行うプリンタ101とが特定の双方向インタフェースで接続された構成をとっている。しかしながら、この例に限られることなく、このようなデータ処理装置とプリンタの機能が一体となった装置一体型の印刷システムであってもよい。尚、プリンタ101及びデータ処理装置102とも本実施形態の特徴を説明する上で特に必要ないと思われる機能については省略する。
中央制御部141は、データ処理装置102の各種機能を制御し、CPUの持つ機能がこれに該当する。入力操作部142は、ユーザーの意図を印刷設定に反映させるための各種入力機器から構成される。設定情報通知部143は、印刷設定をユーザーに通知する。通知方法としては、モニタなどの表示装置を使用する場合や音声による通知などが考えられる。I/F制御部140は、データ処理装置102のインタフェース機能を司る。I/F制御部140はUSBのホスト側のコントローラによって構成され、USBホストとしての機能を有する。USBホストとしての機能の一部はOSやドライバなどソフトウェアによっても構成される。記憶部144はOSやアプリケーションプログラムやプリンタドライバの命令コードを格納したり、ソフトウェアが動作するにあたり一時的にデータを保存・読込みするのに使用される。記憶部144は例えばハードディスクドライブや半導体メモリなどで構成される。プリンタドライバ130は、印刷のための各種設定や印刷データの生成及びプリンタの制御をデータ処理装置102上で行うためのソフトウェアである。中央制御部141によりプリンタドライバのプログラムが実行されて、印刷設定処理部131や、レイアウト処理部とプレビュー文書作成部と印刷コマンド変換処理部を含む印刷コマンド生成部134、データ通信処理部133などの機能が実現される。印刷設定処理部131は、用紙の設定や印刷品位の設定などを含む各種印刷設定を行う。印刷設定処理部131は、ユーザーからの指示や入力を受け付け、設定された内容を表示もしくは通知する機能を有する。印刷コマンド生成部134では、まず、レイアウト成処理部においてアプリケーションにより作成された印刷ジョブのページのレイアウト処理を行う。その後、プレビュー文書作成部において印刷設定に応じプレビュー用文書を作成する。そして、印刷コマンド変換処理部においてレイアウト処理後の印刷データを印刷コマンドに変換する。印刷コマンド生成部134で作成された印刷コマンドは、データ通信処理部133を介してI/F制御部140に送られ、プリンタ101へ印刷コマンドが送られる。プレビュー制御部135は、プレビュー文書作成部によって作成されるプレビュー用文書を用いて、プレビュー機能をユーザに提供する。ここでプレビュー機能とはプレビュー用文書を用いて印刷イメージを情報通知部143を介して表示し、ユーザからの指示を入力操作部142を介して取得し、表示する印刷イメージを切り替えたり、印刷を続行したり、印刷をキャンセルしたりする機能のことを指す。
<プリンタドライバの動作>
図2は、本発明におけるプリンタドライバの実施形態を説明するために図1の印刷システムをOSの印刷サポート機能とプリンタドライバを中心に概念的に表したブロック図である。図2において、本発明に関るモジュールは、印刷設定処理部の機能を有するユーザインタフェースモジュール211と、印刷コマンド生成部の機能を有するフィルターパイプライン207である。ここでフィルターパイプライン207は、レイアウトフィルター213と、プレビューフィルター215と、印刷コマンドフィルター217で構成される。なお、レイアウトフィルター213はXPSデータのページをレイアウト処理する機能を有する。プレビューフィルター215はプレビュー機能を提供するためのフィルターである。印刷コマンドフィルター217はXPSデータをプリンタが解釈可能な印刷コマンドに変換する機能を有する。
ここでフィルターとは、一般的に入力されたデータをもとに、加工、変換、無変換、生成等の工程を介して、何らかのデータを出力する機能を有するプログラムのことを称する。
図2における印刷システムでは、アプリケーション201が作成した文書の各ページの印刷データは、OSの印刷サポート機能203を通じてXPSスプールファイル205に一時的に蓄えられる。そして、これをプリンタドライバのフィルターパイプライン207がプリンタが解釈可能な印刷コマンドに変換してプリンタ231に供給して印刷するよう構成されている。
ユーザインタフェースモジュール211は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。同時に本発明におけるユーザインタフェースモジュール211は、プリンタによる印刷動作を開始する前に印刷イメージを表示するプレビューを設定する機能を有する。ユーザインタフェースモジュール211は、複数の印刷設定項目の設定値が格納された印刷設定情報をアプリケーション201に返却する。ユーザインタフェースモジュール211が提供する印刷設定ダイアログの一例については図3を用いて後述する。
アプリケーション201は作成した文書の印刷にあたり、OSの印刷サポート機能203に対して、印刷開始や印刷終了を通知したり、印刷設定を行うためにユーザインタフェースモジュール211から返却された印刷設定情報を通知したり、文書の各ページの描画開始や描画終了を通知する。OSの印刷サポート機能203は、アプリケーションが描画した内容や印刷設定情報をXPSスプールファイル205に格納する。
フィルターパイプライン207は一つ以上のフィルターで構成されており、印刷時にXPSスプールファイルから印刷設定情報とXPSパートとを読込み、プリンタが解釈可能な印刷コマンドに変換してプリンタ231に供給し、印刷を行う機能を有する。各フィルターはスプールされた印刷ジョブをデスプール際にOSの印刷サポート機能から呼び出される。スプールされたXPSデータはフィルターパイプライン207の各フィルターを通過するXPSデータのまま内容が編集され、或いはドライバ独自のデータ形式に変換され、最終的にプリンタが解釈可能な印刷コマンドに変換される。印刷ジョブのXPSデータを全て処理し終えた場合、或いは、印刷ジョブがキャンセルされた場合は、フィルターパイプライン207の各フィルターは動作を終了する。本実施形態におけるフィルターパイプライン207はレイアウト処理部であるレイアウトフィルター213と、プレビュー文書作成部であるプレビューフィルター215と、印刷コマンド変換部である印刷コマンドフィルター217で構成される。
レイアウトフィルター213は、XPSスプールファイル205に格納されたXPSデータを入力とし、印刷設定情報に基づきページのレイアウト処理を行い、レイアウト済みのXPSデータを出力する機能を有する。ただし、印刷設定情報にレイアウト設定がなされていない場合や、プレビュー済フラグが格納されている場合は、入力のXPSデータをそのまま出力する。本実施例におけるレイアウト処理とは例えば複数のページを一つの用紙面に印刷するN−up印刷や、一つのページを複数の用紙面に印刷するポスター印刷等を含む。
プレビューフィルター215は、レイアウトフィルター213の出力を入力とし、印刷設定情報に基づきユーザにプレビュー機能を提供する。ただし、印刷設定情報のプレビュー設定がOFFである場合や、プレビュー済フラグが格納されている場合は、入力のXPSデータをそのまま出力する。印刷設定情報にプレビュー済フラグが格納されていなく、かつ、プレビュー設定がONである場合、プレビューフィルター215はFDSの印刷設定情報であるPTにプレビュー済フラグを格納する。続いてプレビュー制御モジュール219を起動し、プレビュー用XPS文書221を用意する。プレビューフィルター215は、プレビュー用XPS文書221にFDSを格納した後、入力のXPSパートをキャッシュすると共にプレビュー用XPS文書221に格納していく。入力の最後のXPSパートを処理する前に、プレビュー制御モジュール219から印刷続行の通知を受けた場合は、FDSとキャッシュしたXPSパートを出力し、残りのXPSパートを入力から取得し、そのまま出力する。また、プレビューフィルター215は、プレビュー用XPS文書221を完成させるとともに、各フィルターの処理を終了させる。
印刷コマンドフィルター217はプレビューフィルター215の出力を入力とし、印刷設定情報に従い、XPSデータをプリンタが解釈可能な印刷コマンドに変換し出力する機能を有する。印刷コマンドフィルター217が入力のXPSデータを一度イメージデータに変換する場合、一般的にレンダーフィルターと呼ばれる。レンダーフィルターはインクジェットプリンタに代表される廉価なラスタープリンタ用のプリンタドライバにおいて多く見られる。印刷コマンドフィルター217がレンダーフィルターとして動作する場合は、入力のXPSデータを一度イメージデータに変換する。その後、色空間の変換や二値化等の画像処理の過程を経て、ラスタープリンタが解釈可能な印刷コマンドに変換される。ページプリンタに代表される高機能なプリンタにおいて、プリンタが解釈できる印刷コマンドの種類にXPSが含まれるならば、印刷コマンドフィルター217は入力のXPSデータを編集しXPSデータを出力する。印刷コマンドフィルター217にて処理する必要がなければ、入力のXPSデータをそのまま出力するか、印刷コマンドフィルター217はプリンタドライバに含めなくても良いことは言うまでもない。
出力デバイスであるプリンタ231は、フィルターパイプライン207で生成された印刷コマンドを解釈し、可視画像を印刷用紙に対して形成する機能を持つ。印刷用紙241で図示される印刷結果の例は、レイアウトフィルター213が2−upの処理を行った場合を示している。
ここで2−up印刷とは、XPSスプールファイル205に格納されている2つのページを縮小し、ユーザが見やすいように同一用紙面に配置したページを印刷することである。同様にN個のページを縮小し、同一用紙面に配置すればN−up印刷となる。従ってN−upのレイアウト処理によって作成されたレイアウト済みのページには、XPSスプールファイル205に格納されていた複数のページの内容に関するXML記述を含むことになる。例えばXPSスプールファイル205に格納されているページの内容に関するXML記述のサイズが一定だとすると、2−upのレイアウト処理後のページの内容に関するXML記述のサイズは約2倍となる。同様にN−upのレイアウト処理後のページの内容に関するXML記述のサイズは約N倍となる。従ってXPSスプールファイル205に格納されているページの内容が複雑な場合、ページの内容のXML記述のサイズが大きく成る為、レイアウト処理に要するコストが増加する。また、N−upの配置するページ数(N)が多くなるほどレイアウト処理に要するコストが増加する。
プレビュー制御モジュール219は、プレビュー用XPS文書221を読込み、ユーザにプレビューを提供する機能を有する。プレビュー制御モジュール219はユーザにプレビュー用のユーザインタフェースを提供し、印刷イメージを表示したり、ユーザの指示に従い表示するページの印刷イメージを切替たり、印刷を続行したり、印刷を中断したりする。プレビューフィルター215がプレビュー用XPS文書221にXPSデータを書き込んでいる間に印刷開始がユーザに指示された場合、プレビュー制御モジュール219はプレビューフィルター215に印刷続行を通知し終了する。プレビューフィルター215がプレビュー用XPS文書221にXPSデータを書き込んでいる間に印刷キャンセルがユーザに指示された場合、印刷ジョブのキャンセルを行い終了する。プレビュー用XPS文書221が完成した後に印刷開始がユーザに指示された場合、プレビュー用XPS文書221のデータを用い新規の印刷ジョブを作成し終了する。プレビュー用XPS文書221が完成した後に印刷キャンセルがユーザに指示された場合は終了する。プレビュー制御モジュール219が終了する際にはプレビュー用XPS文書221を削除する。プレビュー制御モジュール219が提供するプレビューウィンドウについては図4を用いて後述する。
ここで、図2を用いてプレビュー設定がONの2−up印刷を行う場合について説明する。アプリケーション201はOSの印刷サポート機能203を介しユーザインタフェースモジュール211の印刷設定機能を利用する。印刷設定情報としてプレビュー設定をONに設定し、レイアウト設定を2−upに設定する。アプリケーション201は取得した印刷設定情報を用いて、複数ページからなる文書の印刷を開始する。アプリケーション201の文書の印刷データと印刷設定情報はOSの印刷サポート機能を介してXPSスプールファイル205に格納される。XPSスプールファイル205に文書のページがスプールされ始めると、OSの印刷サポート機能はフィルターパイプライン207を起動する。レイアウトフィルター213は印刷設定情報を参照しレイアウト印刷設定が2−upになっているため、ページのレイアウト処理を行い、レイアウト後のページを出力する。プレビューフィルター215は印刷設定情報にプレビュー済フラグを格納し、印刷設定とXPSデータをプレビュー用XPS文書221に格納し、プレビュー制御モジュール219を起動する。プレビュー制御モジュール219はプレビュー用XPS文書221を用いて印刷イメージを表示し、ユーザに印刷機能を提供する。
ここでアプリケーション201の文書が2ページで構成されているとすれば、レイアウト設定で2−upが指定されている為、プレビュー用XPS文書221に格納されるページ数は1ページとなる。従ってプレビュー用XPS文書221の作成は終了しているので、ユーザが印刷開始をプレビュー制御モジュール219に指示した場合は、新規の印刷ジョブを作成しプレビュー用XPS文書221の内容をそのまま格納する。新規の印刷ジョブが再び印刷された時は、印刷設定情報にプレビュー済フラグが格納されている為、レイアウトフィルター213とプレビューフィルター215では入力がそのまま出力される。続いて印刷コマンドフィルター217によって、入力のXPSデータがプリンタが解釈可能な印刷コマンドに変換される。プリンタ231は供給された印刷コマンドを解釈し印刷用紙に像を形成し、出力結果241が得られる。
また、アプリケーション201の文書のページ数が非常に多く、ユーザが印刷開始をプレビュー制御モジュール219に指示した時点で、プレビュー用XPS文書221が作成中であれば、プレビュー制御モジュール219はプレビューフィルター215に印刷続行を通知する。プレビュー用XPS文書221を作成中のプレビューフィルター215は、プレビュー用XPS文書221の作成を中止し、保持しているXPSパートを全て出力し、入力から残りのXPSパートを取得し出力する。続いて印刷コマンドフィルター217により入力は印刷コマンドに変換され、これをプリンタ231が解釈して印刷結果241が得られる。
このようにプレビュー時において処理済のレイアウト処理を、印刷続行時には行わないようにすることで、同一処理の重複実行を排除し、効率的な印刷処理が行えるようになる。
また、ある印刷ジョブのプレビュー中にプレビュー用XPS文書221の作成が完了した場合は、当該印刷ジョブの印刷処理は一旦終了できるため、印刷キューに存在する後続の印刷ジョブの印刷処理を開始することができる。従って、ある印刷ジョブのプレビュー中に、他の印刷ジョブのプレビューを行うことが可能となり、また、他の印刷ジョブの印刷コマンドを生成しプリンタを駆動することが可能となる。
ここで、本実施例では理解を容易にする為にフィルターパイプライン207は機能ごとにフィルターを分け、三つのフィルターで構成されるようにした。しかし、これらのフィルターの機能を単一のフィルターで実現しても良いことは言うまでもない。
また、本実施例では理解を容易にする為に各フィルターは入力と、印刷コマンド以外の出力をXPSパートで取り扱うように記述した。しかし各フィルターにおける入出力はXPSデータをストリームで扱うような形式にしても良いことは言うまでもない。
<印刷設定画面>
図3は本実施形態における印刷モードや各種用紙設定を行う際に表示される印刷設定ダイアログの一例を示す図である。図3において、印刷設定ダイアログ301は、表示エリア302〜311、320〜331から構成される。印刷設定では表示する項目が非常に多いため、タブシートを使用して設定項目を内容ごとに分けて見やすい構成にするのが通例である。
図3に基本設定タブ302が選択された場合の表示例を示す。基本設定の簡易表示エリア320には、文字情報だけでなく視覚に訴える形で設定された情報を表示する。用紙種類選択部322は、用紙の種類を表示するとともに利用者により選択させることができる。用紙種類選択部322はドロップダウンメニューとなっており普段は選択されている用紙の種類が表示され、そこをクリックすることで選択可能な用紙種類がリスト表示される。選択可能な用紙の種類はプリンタで印刷可能な用紙であり、図示されている普通紙の他にも例えば光沢紙、コート紙、写真専用紙、ハガキ、年賀状葉書等が含まれる。給紙方法選択部323は、プリンタ本体が用紙を給紙する給紙方法を表示し、利用者による給紙方法の選択をさせることができる。利用者は、給紙方法選択部323により、たとえば自動給紙口である給紙トレイや給紙カセット、または印刷用紙を一枚ずつ手動で給紙する「手差し給紙」などを選択できる。印刷品質選択部324は利用者に印刷の品位を設定させるための項目である。色調整部325は利用者に印刷の色を調整させるための項目である。モノクロ印刷設定部326は、印刷文書がカラーであっても印刷結果をグレースケールにするためのチェックボックスである。プレビュー印刷設定部327は、各種印刷設定がどのように印刷文書に反映されるかを、プリンタによる実際の印刷が行われる前に確認するためのチェックボックスである。標準設定部331が押されると、基本設定302の設定が標準(出荷時設定)に戻される。
ユーザーは各項目を選択した後にOKボタン308を押下することで印刷設定ダイアログ301を閉じ、選択した印刷設定を印刷に反映させることができる。キャンセルボタン309を押下すると印刷設定ダイアログ301が閉じ、選択した設定項目の内容は破棄され印刷に反映されることはない。適用ボタン310は印刷設定ダイアログ301は開いたままで選択した印刷設定を印刷に反映させることができる。ヘルプボタン311は基本設定302の各設定項目に関する説明文を別ウィンドウで表示させることができる。
<プレビュー制御モジュールのプレビューウィンドウ>
図4に、本実施の形態におけるプレビュー制御モジュールによって提供される表示画面(プレビューウィンドウ)の一例を示す。印刷プレビューウィンドウ401は、プレビュー画像や印刷ジョブの印刷設定等を表示するための表示エリアと、ユーザがプレビュー画像の表示方法等を変更するための入力手段を兼備している。
メニューバー402は、ユーザは表示切り替え等プレビューアへの命令をメニュー形式選択することができる。ユーザ操作部403〜406が用意される領域はツールバーであり、ユーザはメニューバー402を使用しなくともツールバー403を押下することで容易にプレビューページの切り替え等を行うことができる。ページ切り替えボタン403は4つのボタンで構成されており、先頭ページ、前ページ、次ページ、最終ページへプレビュー表示を切り替えることが可能である。404はプレビュー画像の表示サイズを変更する為のドロップダウンリストで、全体表示や100%、200%表示等を選択することができる。印刷開始ボタン405においては、ユーザがこのボタンを押下することでプレビューアを終了し、プレビューしていたプレビュー用XPS文書を印刷処理可能な状態にすることができる。印刷中止ボタン406においては、ユーザがこのボタンを押下することでプレビューアを終了し、プレビュー用XPS文書が作成中であれば印刷ジョブをキャンセルすることができる。プレビュー表示領域407は、プレビュー用XPSファイルの内容を利用し、印刷用紙と印刷用紙に形成されるであろう可視象を印刷イメージとして表示する。表示領域408はプレビュー機能を実行している印刷ジョブの印刷設定に関る代表的な設定項目の設定値を表示する。本図においては文書の総ページ数は3ページであり、現在プレビュー表示しているページ番号は2ページであり、印刷設定で設定された部数は1部であり、かつ等倍印刷が設定されていた例を示している。
また、図4に例示する表示画面は、プレビュー設定がONである印刷設定情報を伴う印刷ジョブがスプールされ、OSの印刷サポート機能によりフィルターパイプラインが起動され、プレビューフィルターがプレビュー制御モジュールを起動した時点で表示される。
<印刷キューとプレビュー>
通常、一台のプリンタで同時に印刷可能な文書は一つであることから、OSはプリンタごとに複数の印刷ジョブを管理するための論理的なキューを持つ。これは一般的に印刷キューと呼ばれ、キューの先頭の印刷ジョブの処理状態が「印刷中」となりプリンタドライバの処理対象となる。
図7は本実施例における印刷キューと印刷ジョブのプレビューの関係を説明する為の概念図の一例である。図7に示される印刷ジョブのうち、JobAとJobBがプレビュー設定がONとなっている印刷設定情報が格納されている。
図7(1)は印刷キュー701に印刷ジョブが三個格納されている状態を示している。ここで先頭のJobA715の処理状態が「印刷中」となっており、JobB713とJobC711は「待機中」となる。ここでJobA715の印刷設定情報はプレビュー設定ONであるから、プレビュー用XPS文書A725が作成される。時間の経過とともにプレビュー用XPS文書A725が完成すると、印刷キューからJobA715が削除され図7(2)の状態になる。
図7(2)ではプレビュー用XPS文書A725に基づくプレビューは実行中である。印刷キューの先頭の印刷ジョブにあたるJobB713の印刷状態は「印刷中」となる。JobB713はプレビュー設定ONであるから、プレビュー用XPS文書B723が作成される。この時点で、プレビュー用XPS文書A725に基づくプレビューと、プレビュー用XPS文書B723に基づくプレビューが同時に行われていることになる。これは単一ユーザーに対して複数の印刷ジョブに対するプレビュー機能を提供する場合や、あるいは複数のユーザに対して同時にプレビュー機能を提供する場合に有用である。時間の経過と共にプレビュー用XPS文書B723が完成すると、印刷キューからJobB713が削除され図7(3)の状態になる。
図7(3)ではプレビュー用XPS文書A725に基づくプレビューと、プレビュー用文書B723に基づくプレビューは同時に実行中である。印刷キューの先頭の先頭の印刷ジョブにあたるJobC711の印刷状態は「印刷中」となる。JobC711はプレビュー設定OFFであるから、プレビューは実行されず、フィルターパイプラインによってプリンタが解釈可能な印刷コマンドが生成され、プリンタにより印刷用紙に像が形成されてゆく。一般的にプリンタによる印刷処理速度は遅く、アプリケーションが文書の印刷処理を行い印刷データがスプールされる時間の方が短い。ここで、JobC711の内容がプリンタにより印刷されている間に、プレビュー用XPS文書A725に基づくプレビューにおいて、ユーザにより印刷開始が指示されたとする。この場合、プレビュー制御モジュールは新規印刷ジョブをキューに作成し、プレビュー用XPS文書A725の内容をXPSスプールファイル205に格納する。この状態を図(4)に示す。
図7(4)ではプレビュー用文書B723に基づくプレビューは実行中である。印刷キュー先頭の印刷ジョブに当たるJobC711の印刷状態は「印刷中」で、図7(3)から引き続きプリンタによる印刷処理が行われている。ここでプレビュー用XPS文書A725を印刷続行するために新たに作成された印刷ジョブであるJobA'735の処理状態は「待機中」となる。時間の経過とともにJobC711の印刷処理が終了すると、図7(5)の状態になる。
図7(5)ではプレビュー用文書B723に基づくプレビューは実行中である。印刷キューの先頭の印刷ジョブに当たるJobA'735の処理状態は「印刷中」となる。JobA'735は既にプレビューされた印刷ジョブであることは、前述したように印刷設定にプレビュー済フラグが格納されていることで判断される。従ってJobA'735に対してプレビューは実行されず、フィルターパイプラインによってプリンタが解釈可能な印刷コマンドが生成され、プリンタにより印刷用紙に像が形成されてゆく。時間の経過とともにJobA'735の印刷処理が終了すると、印刷キューからJobA'735が削除され図7(6)の状態になる。
図7(6)ではプレビュー用文書B723に基づくプレビューは実行中である。印刷キューには印刷ジョブが一つも格納されていない状態となる。
以上のように、本実施例によれば複数のプレビューを同時に提供したり、プレビュー機能を提供中に印刷キュー中の印刷ジョブの実印刷を行うことができる。
ここで、本実施例ではキューという概念から逸脱しないよう、新規に作成した印刷ジョブは印刷キューの最後に格納されるように説明した。しかし、OSの印刷サポート機能によっては、新規の印刷ジョブを印刷キューの途中に格納できる場合もある。すなわち新規印刷ジョブを印刷キューに格納する際に、既存の印刷ジョブの前に格納しても良い。新規印刷ジョブを格納する印刷キュー中の位置が自由な場合、プレビュー制御モジュールは最適な位置を選択して新規印刷ジョブを格納できる。例えば、印刷キューに格納されている印刷ジョブはXPS文書であるから、総ページ数やジョブのサイズを取得することで、各印刷ジョブがプリンタにより印刷される処理時間を推定できる。このことから、新規印刷ジョブを追加する時点で、印刷キューに格納されている印刷ジョブがすべて印刷される時の、推定平均待ち時間を最小にするような位置を選択してもよい。また、新規印刷ジョブを格納する印刷キュー中の位置を、ユーザが選択できるようにユーザインタフェースを提供しても良い。以上のように、本発明の利点を阻害するものではないから、新規印刷ジョブを格納するキュー中の位置は任意であって構わない。
<PrintTicketとプレビュー済フラグ>
図6を用いてPTに格納するプレビュー済フラグについて説明する。前述したようにPTとはXML形式で記述された印刷設定である。従ってテキストで表現できる為、図6(A)のように視覚的に記述することができる。
図6(A)のPTはレイアウト設定として2−upが指定された印刷設定の一例を表している。PTの標準的な記載内容はPrintSchemaと呼ばれるスキーマにより規定されており、N−upに関する設定項目も存在する。なお、PrintSchemaは一般的に公開されている仕様である。PTにはN−up設定としてFDSに影響を及ぼすJobNUpAllDocumentsContiguouslyと、FDに影響を及ぼすDocumentNUpが存在する。これらはPrintSchemaにより規定されており、プリンタドライバはこれら二つの印刷設定を排他的に取り扱う必要があるが、どちらの設定を優先させるかはプリンタドライバにより異なる。ここではどちらの設定が優先されてもいいように、どちらの印刷設定にも2−upが指定されている。
印刷設定には他の設定項目も数多く存在するが、本実施例に関連のあるN−upのみについて説明した。また、設定項目によってはFDSとFDだけではなくFPにも影響を及ぼすものもある。
図6(B)は図6(A)のPTに前述したプレビュー済フラグを格納したPTの一例を示している。PTに格納するプレビュー済フラグはPrintSchemaで規定されていない独自の情報であるため、プライベートな名前空間を追加する必要がある。図6(B)ではプライベートな名前空間プレフィックスを“ns0000”としている。格納するプレビュー済フラグはPrintScheamaのフレームワークを利用してPropertyの値として表現している。ここではPropertyのname属性として“ns0000:PreviewFilterProcess”と記述している。また値として“Done”というstring値を記述することで、プレビュー済フラグを表現している。PTに“ns0000:PreviewFilterProcess”が存在しない場合、或いは、“ns0000:PreviewFilterProcess”が存在しその値が“Done”以外であれば、プレビューを行っていないと判断できる。
図6においてはプレビュー済フラグを格納するのに、フレームワークのPropertyを用いたが、この他にもFeature/Optionを用いても良いことは言うまでもない。また、プレビュー済フラグを示すプライベートな名前空間を用意し、当該名前空間の有無でプレビュー済フラグを表現してもよい。PTはXMLで記載されているため、PrintSchemaに則っていれば、この他のどのような表現でもプレビュー済フラグを格納しても構わない。
<参照用PrintTicket取得処理>
フィルターパイプラインの各フィルターにおいて、印刷設定情報を取得するには前述したようにXPSのPTをマージする必要がある。XPS文書の各パートはPTを持つことが可能だが、逆に持たないことも可能である。また、たとえXPSパートがPTを持っていたとしても、図6(A)で例示されるPTの様にN−upの情報しか記載されていなく、不完全なPTである可能性がある。従ってFDSのPTを取得する際もユーザのデフォルト印刷設定のPTとのマージ処理が必要である。ここでデフォルト印刷設定のPTには、プリンタドライバで扱える全ての設定項目が格納されている。従ってマージ後のPTも全ての印刷設定項目を含む。
図9はFDSのPTとユーザのデフォルト印刷設定のPTをマージし参照用PTを取得する処理のフローチャートの一例である。図9のフローチャートに係るプログラムは、データ処理装置の記憶部144のハードディスクに記憶されており、記憶部144のRAMに適時読み出されて中央制御部141のCPUにより実行される。
まずS201でユーザのデフォルト印刷設定を格納したデフォルトPTを取得する。続いてS203でXPS文書のFDSを取得する。続いてS205でFDSのPTを取得する。S207ではFDSのPTが取得できたかどうかを判定し、取得できていればS211に移り、取得できなければS209に移る。S211では取得したFDSのPTとデフォルトPTをマージしたPTを参照用PTとし終了する。S209ではFDSにPTが存在しなかったため、デフォルトPTを参照用PTとし終了する。
ここで、全ての印刷設定項目とは、少なくともアプリケーションが設定可能な全ての設定項目のことを指しており、プレビュー済フラグのようなプリンタドライバ内部の設定項目はこれに含まれないものとする。
このようにプリンタドライバが扱える全ての設定項目を含む参照用PTを取得することができる。
<レイアウトフィルタ処理>
図8を用いてレイアウトフィルターの処理について説明する。図8はレイアウトフィルターの処理を示すフローチャートの一例である。図8のフローチャートに係るプログラムは、データ処理装置の記憶部144のハードディスクに記憶されており、記憶部144のRAMに適時読み出されて中央制御部141のCPUにより実行される。
まずS101で前述したように参照用PTを取得する。続いてS103で参照用PTにプレビュー済フラグが格納されているかどうかを判断し、格納されていればS121に移り、格納されていなければS105に移る。
S105ではFDを取得し、S107でFDからPTを取得する。S109でFDのPTを取得できたか判断し、取得できればS111に移り、取得できなければS113に移る。S111では参照用PTに取得できたFDのPTをマージする。続くS113では参照用PTの印刷設定情報にレイアウト設定がされているか判断し、レイアウト設定がされていればS141に移り、レイアウト設定がされていなければS131に移る。
S131からS135まではレイアウト処理を行わないで入力のXPSデータをプレビューフィルターに出力するのみである。S131では取得済みのFDSをプレビューフィルターに出力し、S133では取得済みのFDをプレビューフィルターに出力し、S135では入力から残りのXPSパートを取得しプレビューフィルターに出力し、終了する。
S141からS145は入力のXPSデータにレイアウト処理を行いプレビューフィルターに出力する。S141では取得済みのFDSをプレビューフィルターに出力し、S143では取得済みのFDをプレビューフィルターに出力する。S145では入力から残りのXPSパートを順次取得し、FPのレイアウト処理を行ったレイアウト済みのFPを作成してプレビューフィルターに出力する。ここで前述したようにPTに格納されるレイアウト設定はFDSに影響を及ぼすものと、FDに影響を及ぼすものがあるため、必要に応じてFDもプレビューフィルターに出力する。このように新たに作成されたレイアウト済みのFPをプレビューフィルターに送信し、全てのFPをプレビューフィルターに出力した後に終了する。
S121とS123ではプレビュー済みの印刷ジョブは既にレイアウト処理は行われている為、レイアウト処理は行わない。S121では入力されたFDSをプレビューフィルターに出力する。続いてS123では残りのXPSパートを入力から順次取得しプレビューフィルターに出力した後、終了する。これにより出力したXPSデータは次のフィルター(プレビューフィルター)に送信される。
このようにPTに格納されたプレビュー済フラグを参照することで、プレビュー後に同一のレイアウト処理を重複して行わないようにすることができる。
<プレビューフィルター処理>
図10を用いてプレビューフィルターの処理について説明する。図10はプレビューフィルターの処理を示すフローチャートの一例である。図10のフローチャートに係るプログラムは、データ処理装置の記憶部144のハードディスクに記憶されており、記憶部144のRAMに適時読み出されて中央制御部141のCPUにより実行される。
まずS401で前述したように参照用PTを取得する。続いてS403で参照用PTにプレビュー済フラグが格納されているかどうかを判断し、格納されていればS441に移り、格納されていなければS405に移る。
S405では参照用PTの印刷設定情報のプレビュー設定がONかどうかを判定し、ONでなければS441に移り、ONであればS411に移る。
S411からS425まではプレビュー用XPS文書を作成するための処理となる。S411では取得済みのFDSがPTを持たなければ、FDSにPTを付加する。続くS413ではFDSのPTにプレビュー済フラグを格納する。続くS415ではプレビュー制御モジュールを起動する。続くS417ではプレビュー用XPS文書を作成し取得済みのFDSを追加する。なお、プレビュー用XPS文書は、レイアウト処理されたXPS文書にプレビュー済みフラグが付加されたXPS文書である。続くS421では入力から次のXPSパートを取得し、取得したXPSパートをキャッシュした後に、プレビュー用XPS文書に追加する。S423では取得したXPSパートが最終かどうか判断し、最終であればS451に移り、最終でなければS425に移る。取得したXPSパートが最終である場合、XPSデータは一切出力せず、S451でフィルターパイプラインの各フィルターに動作の終了を通知し、印刷キューから印刷ジョブが削除されるように処理する。S425ではプレビュー制御モジュールから印刷続行通知があったかどうか判断し、通知がなければS421に移りプレビュー用XPS文書の作成を継続し、通知があればS431に移る。
S431からS435はプレビュー用XPS文書を作成中に、ユーザから印刷開始が指示された場合の処理である。S431では取得済みのFDSを印刷コマンドフィルターに出力し、S433ではキャッシュ済みのXPSパートを順次印刷コマンドフィルターに送信する。続くS435では入力から残りのXPSパートを順次取得し印刷コマンドフィルターに出力し終了する。
S441とS443ではプレビュー済みの印刷ジョブは既にプレビュー処理は行われている為、プレビュー処理は行わない。S441では入力されたFDSを印刷コマンドフィルターに出力する。続いてS443では残りのXPSパートを入力から順次取得し印刷コマンドフィルターに出力した後、終了する。これにより出力したXPSデータは次のフィルター(印刷コマンドフィルター)に送信される。
ここではプレビュー用XPS文書を作成中に、入力のXPSパートをキャッシュし、作成中に印刷続行通知があった場合はキャッシュからXPSを印刷コマンドフィルターに出力するように記述したが、キャッシュしなくてもよい。XPSパートをキャッシュしない場合は、作成中のプレビュー用XPS文書からXPSパートを読込み、印刷コマンドフィルターに出力するようにすればよいことは明らかである。
このようにすることで、プレビュー用XPSファイルにプレビュー済フラグを格納することが可能となる。また、プレビュー用XPSファイルを作成中であっても、印刷開始指示に応じて、印刷コマンドを作成する為にXPSデータを出力することができる。また、プレビュー済みのXPSデータを再度プレビューすることを抑制できる。
<プレビュー制御モジュールの処理>
図11を用いてプレビュー制御モジュールの処理について説明する。図11はプレビュー制御モジュールの処理を示すフローチャートの一例である。
まずS351で前述したプレビューウィンドウを表示する。図11のフローチャートに係るプログラムは、データ処理装置の記憶部144のハードディスクに記憶されており、記憶部144のRAMに適時読み出されて中央制御部141のCPUにより実行される。
S301からS311までイベント処理ループとなる。S301はイベント処理ループの開始端であり、続くS303でイベントを取得し、続くS305でイベントが印刷開始かどうか判定する。イベントが印刷開始であればS321に移り、印刷開始でなければS307に移る。S307ではイベントが印刷中止かどうか判定し、印刷中止であればS331に移り、印刷中止でなければS309に移る。S309では印刷開始と印刷中止以外のイベントの処理を行う。例えば図4を用いて前述したようにプレビューウィンドウを介して発生するイベントが表示ページの切り替えであれば、プレビューウィンドウのプレビュー表示領域の内容を再描画する。また、タイマーイベントの処理にあたり、スプールされているページ数の表示を変更することもできる。このようにS309で行う処理はさまざまである。続くS311はイベント処理ループの終端でありS301に戻る。
S321からS325は印刷開始処理である。S321でプレビュー用XPS文書がプレビューフィルターにより作成中であるかどうか判定し、作成中であればS325に移り、作成が完了していればS323に移る。S325ではプレビューしている内容の印刷ジョブが印刷キュー内に残っている為、プレビューフィルターに印刷続行を通知した後、S341に移る。S323では、既に印刷ジョブは印刷キューから削除されているために、キューに新たな印刷ジョブを作成し、プレビュー用XPS文書の内容を入力とし、新たな印刷ジョブのXPS文書をスプールファイルに出力した後、S341に移る。
ここで、プレビュー制御モジュールによる印刷ジョブ作成手順について説明する。まず、OSに印刷ジョブの追加を通知し、OSからXPSスプールファイル205のパスを取得する。次に、XPSスプールファイル205に、印刷ジョブに対応するプレビュー用XPS文書の内容をコピーする。次に、 OSに追加した印刷ジョブのスケジューリングを依頼する。
S331とS333は印刷キャンセル処理である。S331でプレビュー用XPS文書がプレビューフィルターにより作成中であるかどうか判定し、作成中であればS333に移り、作成が完了していればS341に移る。S333ではプレビューしている内容の印刷ジョブが印刷キュー内に残っている為、当該印刷ジョブをキャンセルする。プレビュー用XPS文書の作成が完了していれば、プレビューしている内容の印刷ジョブは印刷キュー内に存在しないため、印刷ジョブのキャンセルは不要である。
S341ではプレビュー用XPS文書を削除し終了する。
このようにすることで、プレビュー中の印刷ジョブが存在する場合は、ユーザの印刷開始の指示に即座に従い、プリンタによる印刷を開始できる。また、もとの印刷ジョブごとにプレビュー用XPS文書を持つ為、同時に複数のプレビュー機能を提供することができる。
以上説明したように、本実施形態によれば次のような効果が得られる。
(1)プレビューアから印刷開始を指示しても同一のレイアウト処理は一回しか行わない為、コンピュータの負荷が軽減する。
(2)プレビュー用XPS文書の作成が終了していれば、プレビュー中でも印刷キュー中の後続の印刷ジョブを処理できる。
本発明の実施形態に係わる印刷システムの一例を示すブロック図 本発明の実施形態に係わるプリンタドライバ一例を示すブロック図 本発明の実施形態に係わる印刷設定ダイアログの一例を示す図 本発明の実施形態に係わるプレビューウィンドウの一例を示す図 XPSの論理構造の概念図 本発明の実施形態に係わるプレビュー済フラグの格納方法の一例を示す図 本発明の実施形態に係わる印刷キュー内の印刷ジョブとプレビューの関係を示す概念図 本発明の実施形態に係わるレイアウトフィルターの処理を示すフローチャート 本発明の実施形態に係わる参照用PrintTicketを取得する処理のフローチャート 本発明の実施形態に係わるプレビューフィルターの処理を示すフローチャート 本発明の実施形態に係わるプレビュー制御モジュールの処理を示すフローチャート
符号の説明
130 プリンタドライバ
134 印刷コマンド生成部
211 ユーザインタフェースモジュール
213 レイアウトフィルター
215 プレビューフィルター
217 印刷コマンドフィルター
219 プレビュー制御モジュール
301 印刷設定ダイアログ
327 プレビュー印刷設定部
401 印刷プレビューウィンドウ
405 印刷開始ボタン
406 印刷中止ボタン

Claims (10)

  1. スプールファイルから文書データを入力するレイアウト処理手段と、
    前記レイアウト処理手段から文書データを入力するプレビュー文書作成手段と、
    前記プレビュー文書作成手段から文書データを入力する印刷コマンド生成処理手段と、プレビュー用文書データに基づきプレビューを制御するプレビュー制御手段とを有し、前記レイアウト処理手段は、プレビュー済フラグが設定されている場合、スプールファイルから入力された文書データを印刷設定情報に基づきレイアウト処理することなく前記プレビュー文書作成手段に出力し、プレビュー済フラグが設定されていない場合、印刷設定情報に基づきスプールファイルから入力された文書データのレイアウト処理を行い、レイアウト処理された文書データを前記プレビュー文書作成手段に出力し、
    前記プレビュー文書作成手段は、プレビュー済みの場合またはプレビューが設定されていない場合、レイアウト処理された文書データを前記印刷コマンド生成処理手段に出力し、プレビュー済みでなくプレビューが設定されている場合、レイアウト処理された文書データにプレビュー済フラグを設定するとともに、プレビュー用文書データを作成し、前記プレビュー制御手段は、作成されたプレビュー用文書データを読み込み、印刷イメージを表示させ、印刷指示に基づきプレビュー済フラグが設定された文書データを前記スプールファイルに出力し、
    前記印刷コマンド生成処理手段は、レイアウト処理された文書データをプリンタが解釈可能な印刷コマンドに変換することを特徴とする情報処理装置。
  2. 前記プレビュー文書作成手段は、プレビュー用文書データの作成に応じて印刷キューのジョブが削除されるように処理することを特徴とする請求項1記載の情報処理装置。
  3. プレビュー時に印刷指示された場合、印刷キューにプレビュー用文書データを新規ジョブの文書データとして格納する格納手段を有することを特徴とする請求項2記載の情報処理装置。
  4. スプールファイルから文書データを入力するレイアウト処理手段と、
    前記レイアウト処理手段から文書データを入力するプレビュー文書作成手段と、前記プレビュー文書作成手段から文書データを入力する印刷コマンド生成処理手段と、プレビュー用文書データに基づきプレビューを制御するプレビュー制御手段とを有する情報処理装置におけるプレビュー方法であって、
    前記レイアウト処理手段は、プレビュー済フラグが設定されていない場合、印刷設定情報に基づきスプールファイルから入力された文書データのレイアウト処理を行い、レイアウト処理された文書データを前記プレビュー文書作成手段に出力し、
    前記プレビュー文書作成手段は、プレビューが設定されていない場合、レイアウト処理された文書データを前記印刷コマンド生成処理手段に出力し、プレビュー済みでなくプレビューが設定されている場合、レイアウト処理された文書データにプレビュー済フラグを設定するとともに、プレビュー用文書データを作成し、
    前記プレビュー制御手段は、作成されたプレビュー用文書データを読み込み、印刷イメージを表示させ、印刷指示に基づきプレビュー済フラグが設定された文書データを前記スプールファイルに出力し、
    前記レイアウト処理手段は、プレビュー済フラグが設定されている場合、スプールファイルから入力された文書データを印刷設定情報に基づきレイアウト処理することなく前記プレビュー文書作成手段に出力し、
    前記プレビュー文書作成手段は、プレビュー済みの場合、レイアウト処理された文書データを前記印刷コマンド生成処理手段に出力し、
    前記印刷コマンド生成処理手段は、レイアウト処理された文書データをプリンタが解釈可能な印刷コマンドに変換することを特徴とするプレビュー方法。
  5. 前記プレビュー文書作成手段は、プレビュー用文書データの作成に応じて印刷キューのジョブが削除されるように処理することを特徴とする請求項4記載のプレビュー方法。
  6. プレビュー時に印刷指示された場合、印刷キューにプレビュー用文書データを新規ジョブの文書データとして格納することを特徴とする請求項5記載のプレビュー方法。
  7. スプールファイルから文書データを入力するレイアウト処理手段と、
    前記レイアウト処理手段から文書データを入力するプレビュー文書作成手段と、前記プレビュー文書作成手段から文書データを入力する印刷コマンド生成処理手段と、プレビュー用文書データに基づきプレビューを制御するプレビュー制御手段としてコンピュータを機能させるためのプログラムであって、
    前記レイアウト処理手段は、プレビュー済フラグが設定されている場合、スプールファイルから入力された文書データを印刷設定情報に基づきレイアウト処理することなく前記プレビュー文書作成手段に出力し、プレビュー済フラグが設定されていない場合、印刷設定情報に基づきスプールファイルから入力された文書データのレイアウト処理を行い、レイアウト処理された文書データを前記プレビュー文書作成手段に出力し、
    前記プレビュー文書作成手段は、プレビュー済みの場合またはプレビューが設定されていない場合、レイアウト処理された文書データを前記印刷コマンド生成処理手段に出力し、プレビュー済みでなくプレビューが設定されている場合、レイアウト処理された文書データにプレビュー済フラグを設定するとともに、プレビュー用文書データを作成し、前記プレビュー制御手段は、作成されたプレビュー用文書データを読み込み、印刷イメージを表示させ、印刷指示に基づきプレビュー済フラグが設定された文書データを前記スプールファイルに出力し、
    前記印刷コマンド生成処理手段は、レイアウト処理された文書データをプリンタが解釈可能な印刷コマンドに変換することを特徴とするプログラム。
  8. プレビュー用文書データの作成に応じて印刷キューのジョブが削除されるように処理することをコンピュータに実行させることを特徴とする請求項7記載のプログラム。
  9. プレビュー時に印刷指示された場合、印刷キューにプレビュー用文書データを新規ジョブの文書データとして格納することをコンピュータに実行させることを特徴とする請求項8記載のプログラム。
  10. 請求項7乃至9いずれか1項記載のプログラムを記憶した記憶媒体。
JP2006342823A 2006-12-20 2006-12-20 情報処理装置、プレビュー方法、プログラム、及び記憶媒体 Expired - Fee Related JP4891052B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006342823A JP4891052B2 (ja) 2006-12-20 2006-12-20 情報処理装置、プレビュー方法、プログラム、及び記憶媒体
US11/953,747 US8537408B2 (en) 2006-12-20 2007-12-10 Information processing apparatus, information processing method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006342823A JP4891052B2 (ja) 2006-12-20 2006-12-20 情報処理装置、プレビュー方法、プログラム、及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2008152728A JP2008152728A (ja) 2008-07-03
JP2008152728A5 JP2008152728A5 (ja) 2010-01-28
JP4891052B2 true JP4891052B2 (ja) 2012-03-07

Family

ID=39654802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006342823A Expired - Fee Related JP4891052B2 (ja) 2006-12-20 2006-12-20 情報処理装置、プレビュー方法、プログラム、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4891052B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5408904B2 (ja) * 2008-05-23 2014-02-05 キヤノン株式会社 情報処理装置、プレビュー方法、及びプログラム
JP5729903B2 (ja) 2009-12-17 2015-06-03 キヤノン株式会社 情報処理装置、その方法およびプログラム
JP5871521B2 (ja) * 2011-08-26 2016-03-01 キヤノン株式会社 印刷データ処理方法、印刷データ処理装置及びプログラム
JP6376876B2 (ja) * 2014-07-24 2018-08-22 キヤノン株式会社 情報処理装置、プログラム及び制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102618A (ja) * 2002-09-09 2004-04-02 Canon Inc 印刷制御装置及び方法、コンピュータプログラム、コンピュータ読み取り可能な記憶媒体、プレビュー装置及び方法、プリンタドライバ及びそのプレビュー方法
JP2006039941A (ja) * 2004-07-27 2006-02-09 Canon Inc プログラム、情報処理装置、プレビュー方法
JP2006252130A (ja) * 2005-03-10 2006-09-21 Canon Inc 情報処理装置

Also Published As

Publication number Publication date
JP2008152728A (ja) 2008-07-03

Similar Documents

Publication Publication Date Title
JP5072676B2 (ja) 情報処理装置、情報処理方法及び印刷システム
JP5675047B2 (ja) 文書処理装置およびコンピュータプログラム
JP5408904B2 (ja) 情報処理装置、プレビュー方法、及びプログラム
US8537408B2 (en) Information processing apparatus, information processing method, program, and storage medium
JP4857135B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP5063101B2 (ja) 情報処理装置、情報処理方法、プログラム
US20190121587A1 (en) Information processing apparatus, information processing method, and storage medium
JP5782865B2 (ja) プリンタドライバ
JP2006039941A (ja) プログラム、情報処理装置、プレビュー方法
US9619183B2 (en) Document processing apparatus, control method, and storage medium
JP5031514B2 (ja) データ処理装置およびデータ処理方法
JP4891052B2 (ja) 情報処理装置、プレビュー方法、プログラム、及び記憶媒体
JP2009237609A (ja) 情報処理装置及びその制御方法、プリンタドライバプログラム
US20070146760A1 (en) Print System and Programs for Use in Print System
JP2003131836A (ja) スプールファイル加工装置、プログラム及び記録媒体
JP7467217B2 (ja) プログラム及び情報処理装置の制御方法
JP4029391B2 (ja) プリンタ
JP5268604B2 (ja) 情報処理装置及び情報処理方法
US10310788B2 (en) Control method for generating data used for printing and information processing apparatus
JP4442875B2 (ja) データ処理装置及び該装置における印刷制御方法、プログラム
JP5734089B2 (ja) 情報処理装置および制御方法およびプログラム
JP5677550B2 (ja) 情報処理装置、プレビュー方法、及びプログラム
JP4054544B2 (ja) 情報処理装置、情報処理方法、印刷制御プログラム、印刷処理装置、印刷処理方法及び印刷処理プログラム
JP4661832B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
JP2023034953A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111215

R151 Written notification of patent or utility model registration

Ref document number: 4891052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees