説明

情報処理装置

【課題】 XPSのような階層構造を保持し各階層にて印刷設定が設定可能な印刷ジョブの結合を行うことが可能とする。
更に、結合した際に印刷ジョブの上位階層に設定されている印刷設定の丸め処理を減少させ、ユーザーの意図する印刷を可能とする。
【解決手段】 (1)ジョブリスト、プレビュー、印刷設定UIを保持するアプリケーションに対してプリンタドライバから印刷データをスプールする。
(2)ジョブリストを表示しユーザーの指示に従い結合処理を行う。
(3)結合を行う各ジョブをドキュメントの階層として作成する。
(4)ジョブの階層に設定されていた印刷設定を可能な限りドキュメントの階層の設定に変更し前記作成したドキュメントに設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば図12に示すようなXPS(Xml Paper Specification)のようにジョブ(Fixed Document Sequence)、ドキュメント(Fixed Document)、ページ(Fixed Page)などの階層構造を有し、さらに各階層にてプリントチケットなどの印刷設定を有する印刷データを用いて印刷を行うプリントシステムに関するものであり、特にプリンタドライバにて実行する印刷システムおよび印刷処理制御方法に関するものである。
【背景技術】
【0002】
従来、あるアプリケーションにより生成された1つの印刷ジョブを印刷する際に通常その印刷ジョブに対して予めプリンタドライバにて設定される複数の印刷設定項目からなる一組の印刷設定属性が定義されている。また、アプリケーションで印刷指示した文書データをプリンタに出力せずにクライアントに保持しておき、複数の文書データをまとめて1つのジョブとしてプリンタに送信する「まとめ印刷」機能を有するソフトウェアがある。
【0003】
ユーザーが複数のアプリケーション、例えば、文書を作成するのに適したアプリケーションA、表を作成するのに適したアプリケーションB、図面を作成するのに適したアプリケーションC等により生成した印刷ジョブをまとめて印刷したい場合があるが、しかしながら「まとめ印刷」機能は、複数の印刷ジョブをまとめて1つの印刷ジョブにしているだけであり、まとめ印刷するという指示がされ、まとめ印刷用にデータをスプールした順番で印刷時も出力されるため、ユーザーは出力したページにスプールしなければならず、使い勝手が悪いという問題があった。例えば、文書、図面、文書、表、文書と1ページずつなる資料を印刷したい場合には、アプリケーションAにより1ページ目を作成し、スプールさせ、アプリケーションBにより2ページ目を作成し、スプールさせ、再度アプリケーションAにより3ページ目を作成し、スプールさせ、アプリケーションCにより4ページ目を作成し、スプールさせ、アプリケーションAにより5ページ目を作成して、スプールしなければならなかった。また、そのため複数のアプリケーション・ファイルをまとめて1つの印刷ジョブとして印刷したい場合プリンタドライバにて提供される機能を反映したプレビューを見ることもできないという問題があった。上記のような問題点を解決するために一度スプールした印刷ジョブをさらに編集・結合する仕組みが提供されている(例えば特許文献1)。
【特許文献1】特許第03619087号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら従来の技術についてはXPSのような階層構造をもつ印刷設定の場合については言及されておらず、各階層が保持している印刷設定についての処理が不十分であった。そのため、ジョブスコープの印刷設定について丸め処理が多数起こってしまい結合前のオリジナル印刷ジョブの印刷設定が失われユーザーの意図する印刷結果にならないことがあった。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る情報処理装置は、
印刷装置に送信すべき印刷データを生成する情報処理装置であって、アプリケーションにより生成された印刷すべきデータをスプールする手段と、
前記スプール手段によりスプールされた印刷データを印刷データに付随する印刷設定情報とともにユーザーインターフェースを表示する表示制御手段と、
前記スプールされた印刷データに基づいて1つの結合された印刷ジョブを生成するジョブ結合手段とを有し、
前記ジョブ結合手段は前記スプールされた印刷データの保持する階層構造を解析する印刷ジョブ階層構造解析手段と、
前記印刷ジョブ解析手段により解析された階層に付与されている印刷設定を取得する階層印刷設定取得手段と、
前記階層印刷設定取得手段により取得された印刷設定の適用範囲を変換する印刷設定適用範囲変更手段と、
前記階層印刷設定取得手段により取得された印刷設定が指定対象範囲内に存在するかを検索する印刷設定検索手段と
を有することを特徴とする。
【発明の効果】
【0006】
本発明を適用することでXPSのような階層構造を保持し各階層にて印刷設定が設定可能な印刷ジョブの結合を行うことが可能となる。さらに、結合した際に印刷ジョブの上位階層に設定されている印刷設定の丸め処理を減少させ、ユーザーの意図する印刷結果が可能となる。
【発明を実施するための最良の形態】
【0007】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0008】
以下、本発明を適用するのに好適である実施例について説明を行う。
【0009】
<システムの構成>
印刷システムの構成
図1は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続され、処理が行われるシステムであっても本発明を適用できる。
【0010】
同図において、コンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、以降で後述される本発明の各実施形態に係わる処理を含む、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理およびそれに基づく印刷処理の実行を制御するCPU1を備えている。このCPU1がシステムバス4に接続される各デバイスの制御を総括する。また、ROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されている。また、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データが記憶されている。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
【0011】
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、地紋画像の表示を含む、CRTディスプレイ(CRT)10による表示を制御する。7はディスクコントローラ(DKC)を示し、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下印刷制御装置)等を記憶するハードディスク(HD)、フレキシブルディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インターフェース(インターフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。
【0012】
なお、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含む印刷制御装置に対する印刷処理方法の設定を行うことができる。
【0013】
プリンタ1500は、そのCPU12によって制御される。プリンタCPU12は、ROM13に記憶された制御プログラム等、あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に印刷出力情報としての画像信号を出力する。
【0014】
また、このROM13のプログラムROMには、CPU12の制御プログラム等が記憶される。また、ROM13のフォント用ROMには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
【0015】
CPU12は入力部18を介してコンピュータとの通信処理が可能となっている。これにより、プリンタ内の情報等をコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMである。また、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
【0016】
前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等である。
【0017】
また、プリンタ1500は図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0018】
印刷部17は本実施形態では電子写真方式のエンジンとしている。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。
【0019】
図2は、図1に示したコンピュータ3000における印刷処理のための一構成を示す図である。アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在する。そして、これらは、OSやそのモジュールを利用するモジュールによってRAM2にロードされて実行されるプログラムモジュールである。
【0020】
また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
【0021】
グラフィックエンジン202は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ203を外部メモリ11からRAM2にロードし、アプリケーション201の出力を印刷制御装置203に設定する。また、グラフィックエンジン202はアプリケーション201から印刷設定もしくは印刷用データを受け取り、プリンタドライバ203へ出力する。プリンタドライバ203のUIコンポーネント205は、グラフィックエンジン202から印刷設定を受取り、印刷設定を表示、変更などを行いグラフィックエンジンを通してアプリケーションに返却する。プリンタドライバ203のグラフィックコンポーネント206はグラフィックエンジン202から印刷用データを受取り、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインターフェース21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
【0022】
<印刷設定処理>
本発明における印刷設定の処理について図3、図4を用いて説明する。
【0023】
図3は本発明の印刷設定におけるシステムのデータフローを示した図である。図4は本発明のプリンタドライバにおける印刷設定の変更に関する処理全般についてのフローチャートである。
【0024】
図3を用いて本発明の印刷設定におけるシステムのデータフローを説明する。301は印刷設定制御部であり禁則処理を行う。302はUI表示部であり禁則処理を行った印刷設定を基にプリンタドライバユーザーインターフェースの表示を行う。303はアプリケーションが設定し、プリンタドライバのUIコンポーネント205に投入された印刷設定である。304はプリンタドライバにより設定された印刷設定である。UIコンポーネント205はアプリケーション印刷設定303を受取り表示し加工後プリンタドライバ印刷設定304としてアプリケーションに返却する。
【0025】
図4、図7を用いて印刷設定の処理全般について説明する。ステップS401にてUIコンポーネント205は印刷設定を受信する。次にステップS402にて受信した印刷設定の解析を行う。そしてステップS403にて禁則処理を行いコンフリクトの発生していない状態の印刷設定に変換しステップS404にて図7のプリンタドライバユーザインターフェース701を表示する。702〜704はプリンタドライバユーザインターフェース701が保持する印刷機能の設定の一部である。例えば702により出力用紙サイズを変更可能であり、703はページレイアウトを変更することが可能であり、704はスタンプを付加、編集することが可能である。また、705にて印刷ジョブのプレビューや編集・結合を行う。S405でプリンタドライバユーザインターフェース701において702や703や704や705などの印刷設定の変更がユーザーから指示されているかを検知し印刷設定の変更が指示されている場合には再び変更後の印刷設定をもとにステップ402へと進む。706を押下することでステップS406に進み印刷設定の作成が完了する。
【0026】
<印刷実行時の処理>
図5は本発明における実施例の印刷実行処理のデータフローを示す図である。図6は印刷実行処理全体を示すフローチャートである。
【0027】
図5、図6を用いて印刷実行処理の全体を説明する。
【0028】
ステップS601においてグラフィックコンポーネント205はアプリケーションが作成した印刷用データ501をグラフィックエンジン202を通じて取得もしくは受信する。ステップS602にて印刷設定の解析を行う。続いてステップS603ではS602の解析結果をもとにグラフィックコンポーネントスプーラー502はプレビューの設定があるかを判断し、プレビュー設定がなしと判断された場合にはステップS604に進みプレビュー設定が有りと判断された場合にはステップS606に進む。ステップS604ではS602にて解析された印刷設定に基づいて機能(たとえばレイアウトの変更やスタンプの付加など)処理を実行する。続いてステップS605にてプリンタが理解可能な形、たとえばPDLなどに変換し、システムスプーラ204を通してプリンタへ印刷データ505を送信し、処理を終了する。ステップS606にてグラフィックコンポーネントスプーラー502はプレビュー・編集モジュール506を起動する。ステップS606ではあわせてユーザー名などの情報を通知してもよい。続いてステップS607にてグラフィックコンポーネントスプーラー502はS601に取得した印刷用データ501−2をスプールする。続いてステップS608にてグラフィックコンポーネントスプーラー502はプレビュー・編集モジュール506にスプールした場所を通知し処理を終了する。
【0029】
<印刷ジョブプレビュー・編集モジュールユーザーインターフェースの説明>
図10の1001は図6におけるステップS606にて起動されたプレビュー・編集モジュール506のユーザーインターフェースの一例である。1002では本モジュールにおける種々の操作を行うことが可能なメニューでありメニュー内に結合を指示するメニューアイテムを保持する。1003は印刷ジョブに対する種々の操作をボタンを押下することで可能なツールバーである。1004は現在本モジュールにスプールされた印刷ジョブの内容を表示するジョブリスト領域である(以下ジョブリスト)。ジョブリスト内では印刷ジョブに付属する情報としてジョブ名称やページ数、レイアウト、出力方法、状態などを表示することが可能である。さらに、印刷ジョブ内に存在するドキュメントなどの階層構造を表示する。1005現在ジョブリスト1004にてフォーカスの存在するジョブ内のページを表示するプレビュー領域である(以下プレビュー領域)。1006はジョブリスト1004にてフォーカスの存在する印刷ジョブに対する印刷設定を行う印刷設定領域(以下印刷設定領域)である。1007は印刷ジョブの部数を設定するスピンボックスである。1008は印刷ジョブの出力方法を印刷ジョブに対して行うことを可能とするためのチェックボックスであり、ONの状態にすることで1009を選択可能な状態とする。1009は印刷方法(たとえば片面印刷や両面印刷、製本印刷など)を選択するためのコンボボックスである。1010は印刷ジョブの出力用紙サイズを印刷ジョブに対して行うことを可能とするためのチェックボックスであり、ONの状態にすることで1011を選択可能な状態とする。1011は出力用紙サイズ(たとえばA4やA3)を選択するためのコンボボックスである。1012は印刷ジョブのレイアウトを印刷ジョブに対して行うことを可能とするためのチェックボックスであり、ONの状態にすることで1014を選択可能な状態とする。1013は現在選択されているレイアウト情報を表示する。1014はレイアウト(例えば2Upや4Up)を選択するためのリストボックスである。1015は後述する結合ジョブに対してどのような区切りを行うかの選択を可能にするためのチェックボックスであり、ONの状態にすることで1016を選択可能とする。1016は印刷ジョブ結合時にドキュメントの区切り方法(例えばなし、面変え、用紙変え)を設定するコンボボックスである。1017は印刷ジョブの印刷設定を初期状態に戻すことが可能なボタンである。1018はドライバUI701を表示し詳細な印刷設定を可能とするボタンである。1019はセンタ中のジョブを印刷するためのボタンである。1020は選択中の印刷ジョブを削除するためのボタンである。1021はジョブリスト1004にてフォーカス中の印刷ジョブ(プレビュー領域1005にて表示中の印刷ジョブ)に対して操作を行うためのツールバーであり、例えば表示モードを1ページ表示や2ページ表示に変更、表示倍率、表示ページを変更することが可能である。
【0030】
<印刷ジョブの結合処理>
図8は本発明における実施例の印刷ジョブの結合処理のフローチャートである。図9は印刷ジョブプレビュー・編集モジュールのブロック図である。
【0031】
ジョブリスト1004において複数のジョブを選択しメニュー1002内の結合メニューアイテムもしくはツールバー1003内の結合ボタンもしくは不図示の結合を開始するボタンを配置し押下することで印刷ジョブの結合処理が開始される。印刷ジョブとして本実施例では図12に示すXPSによる印刷ジョブに対する結合処理について記載する。XPS以外の階層構造を持つようなジョブの結合処理に適用することも可能である。
【0032】
ステップS801では印刷ジョブ結合実行部903は結合印刷ジョブとして新規印刷ジョブを空の状態で作成する。続いてステップS802にてジョブリスト1005においてユーザーにより選択状態となっている印刷ジョブのデータを1つ取得する。続いてステップS803にてジョブの階層に付与されている印刷設定を取得する。ステップS804では印刷設定解析部902にて取得した印刷設定がジョブのスコープかどうかの判断を行い、ジョブスコープであればステップS805に進み、ジョブスコープでなければステップS809に進む。ここでスコープとはどの範囲に対して有効であるかを示しジョブスコープの印刷設定とはジョブ全体に対して有効な設定であるということである。ステップS805では印刷設定解析部902はジョブスコープの印刷設定がドキュメントスコープの印刷設定に変換可能かを判断する。変更不可であればステップS806に進み、変更可能であればステップS808に進む。ステップS806では印刷ジョブ結合実行部903は作成中の結合新規印刷ジョブに取得したジョブスコープの該当印刷設定が存在するかを判断する。存在しなかった場合にはステップS807に進み、存在した場合にはステップS811に進む。ステップS808では印刷設定解析部902はジョブスコープの印刷設定をドキュメントスコープの印刷設定に変更する。例えばジョブスコープのNUp印刷設定をドキュメントスコープのNUp印刷設定への変換などが考えられる。ステップS809では印刷ジョブ結合実行部903は現在取得している結合対象ジョブのドキュメント階層にすでに該当印刷設定が存在するかどうかを判断する。存在しない場合にはステップS810に進み、存在した場合にはステップS811に進む。ステップS811では印刷ジョブ結合実行部903はジョブ階層に付与されている印刷設定がすべて処理を完了したかどうかを判断しすべて完了していなければステップS803に進み、すべて完了していればステップS812に進む。ステップS812では印刷ジョブ結合実行部903は新規結合ジョブに現在取得している結合対象ジョブのドキュメントを追加する。本処理においては新規結合ジョブにはドキュメントに付与されているドキュメント階層の印刷設定、ページ、ページ階層に付与されている印刷設定も合わせて追加される。続いてステップS813にて印刷ジョブ結合実行部903はユーザーが選択している結合対象印刷ジョブに対する処理がすべて終了したかどうかを判断しすべて終了していればステップS814に進み、終了していなければステップS802に進む。ステップS814では本結合処理における終了処理を行う。例えば印刷ジョブデータ管理部904は結合対象ジョブの削除などを行い、処理を終了する。本処理の終了後にはUI制御部905は図11のように図10を更新したUIを表示する。
【0033】
本結合処理の実行後印刷設定領域1006にて印刷設定の変更を行うことが可能である。さらに印刷実行部906を通して再度結合印刷ジョブを印刷することが可能である。
【図面の簡単な説明】
【0034】
【図1】本発明の実施形態に係る印刷システムの構成を示すブロック図。
【図2】コンピュータ3000における印刷処理のための一構成を示す図。
【図3】印刷設定の関する処理のデータフロー図。
【図4】印刷設定に関する処理の概要を示すフローチャート。
【図5】印刷実行時のデータフロー図。
【図6】印刷実行時のフローチャート。
【図7】本発明に関するプリンタドライバユーザーインターフェースの一例を示す図。
【図8】結合処理のフローチャート。
【図9】印刷ジョブプレビュー・編集モジュールのブロック図。
【図10】印刷ジョブプレビュー・編集モジュールユーザーインターフェースの一例を示す図。
【図11】印刷ジョブプレビュー・編集モジュールユーザーインターフェースの印刷ジョブ結合後の一例を示す図。
【図12】XPSの階層構造を示す図。

【特許請求の範囲】
【請求項1】
印刷装置に送信すべき印刷データを生成する情報処理装置であって、アプリケーションにより生成された印刷すべきデータをスプールする手段と、
前記スプール手段によりスプールされた印刷データと印刷データに付随する印刷設定情報とに基づいてユーザーインターフェースを表示する表示制御手段と、
前記スプールされた印刷データに基づいて1つの結合された印刷ジョブを生成するジョブ結合手段とを有し、
前記ジョブ結合手段は前記スプールされた印刷データの保持する階層構造を解析する印刷ジョブ階層構造解析手段と、
前記印刷ジョブ解析手段により解析された階層に付与されている印刷設定を取得する階層印刷設定取得手段と、
前記階層印刷設定取得手段により取得された印刷設定の適用範囲を変換する印刷設定適用範囲変更手段と、
前記階層印刷設定取得手段により取得された印刷設定が指定対象範囲内に存在するかを検索する印刷設定検索手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記表示制御手段は前記スプールされた印刷データの内容を表示する印刷ジョブプレビュー表示手段と、
前記表示制御手段は前記スプールされた印刷データの印刷設定の変更を行う印刷設定変更表示手段と、
前記表示制御手段は前記スプールされた印刷データのジョブ情報を表示する印刷ジョブ情報表示手段とを更に
有することを特徴とする請求項1に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−26924(P2010−26924A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−189930(P2008−189930)
【出願日】平成20年7月23日(2008.7.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】