以下、添付図面を参照して本発明の実施形態を詳しく説明する。図1は、本発明の実施形である印刷システムの構成を説明する図である。
LAN(Local Area Network)100上には、印刷装置101、AP(アクセスポイント)102が互いに通信可能に接続されている。本実施例では印刷装置を例に説明するが、印刷装置にスキャナやFAX機能を含むMFP(Multi Function Peripheral)等の印刷装置であってもよい。また情報処理装置の一例として、タブレットやスマートフォンなどの携帯端末103,104を例に説明する。尚、以下の説明では、タブレット103とスマートフォン104などを総称して情報処理装置と呼ぶ。この情報処理装置は、AP102を介してLAN100上の印刷装置101と互いに通信することができる。尚、本実施形では、印刷システムの一例として上記の構成例で説明するが、本発明はこれに限定されるものではなく、少なくとも1つ以上の情報処理装置と印刷装置とがネットワークを介して通信可能に接続されていればよい。またネットワークは無線であっても有線であっても良い。
印刷装置101は、原稿上の画像を読み取る読取機能、シート(記録媒体)に画像を印刷する印刷機能を有する。印刷装置101は、ネットワークを介して受信した印刷データに基づく印刷処理を実行できる。
図2は情報処理装置(携帯端末103、104)のハードウェアブロック図である。
CPU(Central Processing Unit)201を含む制御部200は、情報処理装置全体の動作を制御する。CPU201は、ROM(Read Only Memory)204又はストレージ203に記憶されたプログラムをRAM202に展開し、それを実行して印刷設定画面の制御や印刷データの生成、印刷ジョブの転送などの各種制御を行う。ROM204は、CPU201で実行可能な制御プログラムやブートプログラム等を格納する。RAM(Random Access Memory)202は、CPU201の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。ストレージ203は、OS、印刷アプリケーション、OS印刷フレームワーク、OS印刷フレームワークが生成する印刷ジョブ、及び各種設定情報を記憶する。OS印刷フレームワークは印刷サービスの一例である。本実施例ではストレージ203としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、SSD(Solid State Drive)などの不揮発性メモリを用いても良い。タッチパネル206は操作部I/F205に接続されており、各アプリケーションや印刷設定画面に対する画面描画だけでなく、ユーザーのタッチ操作をCPU201上で動作するアプリケーションへ通知する。ユーザーからの指示を受けるマウス・キーボード(208)等の入力デバイスはBluetooth(登録商標)(207)を経由して接続されており、外部機器との通信はWiFiモジュール(209)を介して行われる。
図3では、情報処理装置(携帯端末103、104)のソフトウェア構成を説明する機能ブロック図を示す。尚、各機能ブロックはソフトウェアを模式的に描いたものである。各機能ブロックは、ストレージ203に記憶されている。各機能ブロックは、CPUによりRAM202へ展開され実行される。これにより、各機能ブロックに期待されている機能を実現する。
アプリケーション301とは、情報処理装置上にユーザーがインストールする任意のアプリケーションであり、ワープロ、表計算、データベース、メール、ウェブブラウザなどの一般的なアプリケーションである。OS印刷フレームワーク(302)は、IPPクライアント制御部(303)、プリントスプーラー(309)、印刷画面制御部(311)から構成される。
IPPクライアント制御部(303)はプリンタ情報管理部(304)、印刷ジョブ生成部(305)から構成される。プリンタ情報管理部(304)はデータ通信制御部(310)を通じて印刷装置(101)に問い合わせを行い、印刷装置(101)の能力情報、登録されているプリセットを取得する。取得したプリセットはプリセット解析部(315)により解析し、プリセット保存部(316)に保存する。印刷装置(101)の能力情報は、
・カラーモード:print-color-mode-supported
・部数対応の可否:copies-supported
・プリンタのフィニッシング能力:finishings-supported
・画像の最適な生成向き:feed-orientation-supported
などであり、これらの情報は印刷ジョブ生成部(305)が参照する。
印刷画面制御部(311)はアプリケーション(301)の呼び出しに応じて印刷設定画面を表示する。ユーザーは印刷設定画面から印刷設定を行い印刷開始する。
印刷設定画面に表示する印刷設定項目は印刷装置(101)が提供可能な機能セットの能力情報を取得し、提供可能な範囲内で設定画面・設定項目を表示する。印刷設定画面でプリセットが選択された時、印刷設定画面に表示する印刷設定項目は設定管理部(312)のプリセット処理部(317)により決定される。プリセット処理部(317)は、プリンタ情報管理部(304)への問い合わせを行う。プリンタ情報管理部(304)は、プリセット解析部(315)でプリセット保存部(316)に保存されたプリセットの各属性値の解析を行う。プリセット処理部(317)は、プリセット解析部(315)の解析結果から設定画面・設定項目を表示する。
印刷ジョブ生成部(305)はジョブ属性生成部(306)、ページ生成部(307)、PDL生成部(308)から構成される。
印刷ジョブ生成部(305)は印刷画面制御部(311)の指示を受け、印刷ジョブを生成する。ジョブ属性生成部(306)は設定管理部(312)と連携し、印刷画面の設定項目からIPPジョブのジョブ属性とドキュメント属性を生成する。その後、IPPパケットとしてプリントスプーラー(309)、データ通信制御部(310)を通して印刷装置のIPP・プリントサービスへ送信する。
ページ生成部(307)はアプリケーション(301)がOS描画エンジン(314)を通して生成したデータを印刷装置(101)のサポートフォーマットに合わせてPDL生成部(308)にてOS描画フォーマットを印刷フォーマットに変換する。印刷装置のサポートフォーマットや画像生成向きはプリンタ情報管理部(304)から取得し、指定されたフォーマット・画像向きに従う。OS描画エンジン(314)はアプリケーション(301)の要求に従い、印刷ページデータをOS標準の描画フォーマットで描画し、OS印刷フレームワーク(302)のページ生成部(307)に渡す。データ通信制御部(310)はIPPクライアント制御部が生成する、プリンタ管理のための通信、およびジョブ送信・ジョブ管理のためのIPPパケットを印刷装置へ送受信する。印刷装置(101)がPWG-Rasterフォーマットしかサポートしない場合、情報処理装置に通知するサポートフォーマットはPWG-Rasterとなる。このため、PDL生成部(308)は印刷装置(101)から指定された画像向きに最適化してPWG-Rasterフォーマットのデータを生成する。
図4に印刷装置へのプリセット登録から印刷までのシーケンス一例を示す。S401でユーザーは印刷装置(101)に任意の印刷プリセットを登録する。S402でユーザーは情報処理装置(103、104)から印刷装置(101)を検索する。S403で印刷装置(101)は情報処理装置(103、104)へ検索応答する。情報処理装置(103、104)の印刷装置選択画面のリストには、応答のあった印刷装置(101)が表示される。S404でユーザーは情報処理装置(103、104)の印刷装置選択画面(720)から印刷装置(101)の選択を行う。S405で情報処理装置(103、104)は印刷装置選択画面(720)でユーザーが選択した印刷装置(101)に能力の問い合わせを行う。
S406で印刷装置(101)は情報処理装置(103、104)に印刷装置(101)の能力情報、および、印刷装置(101)に登録されているプリセット情報を送付する。S407で情報処理装置(103、104)は印刷装置(101)からの情報に基づき印刷装置(101)を登録する。S408で情報処理装置(103、104)は印刷装置(101)が送付してきた能力情報、および、プリセット情報を解析しプリンタ情報管理部(304)に登録・保持する。
S409でユーザーは、情報処理装置(103、104)の印刷設定画面(710)の呼び出しを行う。S410にて印刷設定画面(710)内にプリセット保存部(316)で保持している当該印刷装置(101)のプリセットリストをプルダウンメニューとしてリスト生成する(731)。S411では情報処理装置(103、104)の印刷画面制御部(311)がプリセットのプルダウンメニューを含む、印刷設定画面(710)を生成・表示する。S412でユーザーはプリセット選択リスト(731)でプリセットを1つ選択する。
S413では情報処理装置のプリセット処理部(317)が設定管理部(312)配下の印刷設定項目にプリセットに含まれる設定項目を反映する。必要に応じて、プリセット処理部(317)は排他・禁則が必要な場合はプリセット反映後の設定項目を変更不可にする。S414でユーザーは必要に応じて、プリセット適用後でも変更可能な設定項目を修正し、S415で情報処理装置(103、104)はユーザーの選択内容を反映する。
S416で印刷ボタンの押下と同時に印刷ジョブ生成部(305)は設定内容に基づいたプリントチケットを生成し、印刷装置(101)へジョブを送信(S417)する。S418で印刷装置(101)は設定内容に応じた印刷を実行する。
図5に本実施例における印刷装置(101)のプリセットの一例を示す。プリセットは複合設定の一例である。プリセットは印刷装置(101)のストレージ1104に記憶される。
印刷装置(101)は501に示すIPP属性をプリセット項目としてサポートしている。具体的には、(1)部数指定(Copies)、(2)カラーモード(ColorMode)をプリセットに含められる。さらに、(3)両面指定(Duplex)、(4)Nup指定(Nup)、(5)針綴じ(Staple)、(6)針なし綴じ(Stapleless-Stich)の6項目をプリセットに含めることが可能である。プリセット例として、502に示す、内容の異なる6種類(見積書(Quatation)、申請書(Application)、経費(Expense)、図面(Drawing)、カタログ(Catalog)、DM(DM)のプリセットが登録されている。
503列は属性・値域の分類で、“std“は、印刷装置と情報処理装置の双方でプリセット項目としてサポートする属性、および、属性値であることを示す(標準属性と表現する)。”ext“は、印刷装置側でプリセット項目としてサポートするが、情報処理装置側でプリセット項目としてサポートしない属性、および、属性値であることを示す(ベンダー拡張属性と表現する)。更に、”ext“は、印刷装置と情報処理装置の双方でサポートする属性であるが、属性値が情報処理装置側でサポートしない値であることも示す(標準拡張と表現する)。例えば、「カタログ印刷」用のプリセット(504)は(1)部数指定、(2)カラーモード、(3)両面指定、(5)針綴じの4項目を含むプリセットであり、針綴じに関しては情報処理装置がサポートしない設定値を包含している。「○(白丸)」は情報処理装置がサポートする属性・属性値であることを示す。「●(黒丸)」は情報処理装置がサポートしない属性・属性値であることを示す。情報処理装置がサポートしない属性・属性値を含むプリセットの処理については後述する。ここで、情報処理装置がサポートすると説明したが、情報処理装置の印刷サービスがサポートする属性という意味である。印刷サービスとは、例えば、OS標準のプリントサービスや所定の印刷規格に従った印刷サービスなどがあげられる。本実施形態の印刷サービスは、所定のOS標準として定義された印刷設定を受け付けるとともに、その印刷設定に基づき印刷データを生成する。そしてその印刷データを印刷装置へ送信する。“std“とマーキングされているのが、所定のOS標準として定義された印刷設定の一例である。印刷データは所定のPDL、Post Script, PDF、ラスタイメージデータおよびこれらの圧縮データなどがあげられる。
図6に印刷装置と情報処理装置のプリセットを含むメッセージの例を示す。
図6-1は印刷装置が情報処理装置に通知する印刷装置の能力情報である。
610が印刷装置の能力情報の通知メッセージであり、その中でも611で示す部分がプリンタに登録されているプリセットを示している。図の例では612が見積書印刷用プリセット、614がカタログ印刷用のプリセット、616が図面印刷用のプリセットである。見積書のプリセット(612)はベンダー拡張属性としての針なし綴じ設定613を包含している。カタログのプリセット(614)はIPPで定義された標準属性ではあるが、情報処理装置が印刷設定画面においてベンダー拡張の設定値、右2箇所の針綴じ(515)を包含している。図面用のプリセット(616)は情報処理装置がプリセットに含まれる標準属性である。プリンタにより能力通知される情報には、プリンタのプリセットが複数含まれうる。そして、プリセットは、1または複数の印刷設定を含んでいる。
図6-2は情報処理装置が印刷装置に送信するジョブチケットの情報の例である。
621はプリセット612を適用した印刷ジョブ(針なし綴じのベンダー拡張属性631を含む)のプリントジョブの例である。
623はプリセット614を適用した印刷ジョブ(右2か所の針綴じの標準拡張624を含む)のプリントジョブの例である。
625はプリセット616を適用した印刷ジョブ(左2か所の針綴じの標準属性626を含む)のプリントジョブの例である。
621は情報処理装置がサポートしていない属性および属性値を含み、623は情報処理装置がサポートしていない属性値を含むため、プリセットを適用後にユーザーが印刷設定を変更すると、元のプリセットに含まれる属性とコンフリクトを起こす可能性がある。621のコンフリクト例が631、623のコンフリクト例が641である。631ではベンダー拡張の針なし綴じ(632)と印刷設定画面で追加可能な標準属性の針綴じ(633)が競合しており、641では標準拡張の針綴じ(642)と印刷設定画面で追加可能な標準属性の針綴じ(643)が競合することになる。また、それぞれのプリセットには他の印刷設定、例えば、両面または片面を示す設定その他の設定が含まれてもよいし、含まれなくてもよい。
このようにIPP属性のベンダー拡張属性や標準属性であっても次の問題がある。すなわち、IPPクライアントがサポートしていない拡張を含むプリセットの場合、情報処理装置上の印刷設定画面でユーザーが設定変更を行う。すると、ユーザーが行った設定とプリセットのオリジナル設定の両方が印刷ジョブに反映され、競合設定となることが問題になる。本実施形態では631や641のようなジョブチケットが発生させないことを目的とする。
図7は情報処理装置の印刷設定画面の例である。
710は印刷設定画面で、印刷装置からの能力通知に沿って印刷設定項目を表示したものである。印刷設定項目は各プリンタからの能力通知によって異なるため、711に示す選択プリンタを画面720のプリンタ選択リスト721から切り替えた場合は、印刷設定画面710に示される設定項目も変化する。712には730のプリセット選択リスト(731)で選択されたプリセットが表示される。プリセットを適用する、あるいは切り替える場合は画面730のプリセット選択リストから適用するプリセットを選択する。730のプリセット選択リスト(731)にはプリンタから通知されたプリセットがリスト表示される。プリセット適用時に設定変更に制限が発生する場合は「!」が表示される。「!」の表示はプリセット解析部(315)の判定結果に基づき行われる。プリセット解析部(315)における処理は図9の9104、9200にて説明する。
プリセットを適用すると印刷設定画面710の表示内容に反映される。また、プリセットに情報処理装置がサポートしない属性や属性値が含まれる場合は、設定項目の一部、あるいは全てが変更不可能になる。変更不可能な項目には「鍵」マークが表示され、設定値はグレー表示される。741は設定項目の一部、Staple(針綴じ)が変更不可となる例である。742は設定項目全てが変更不可となる例である。印刷設定画面710の項目の制限は、印刷画面制御部(311)のプリセット処理部(317)により行われる。それぞれの処理例は9108、9300、9400にて説明する。変更不可の一例としては、競合した設定の入力は設定画面上できるが、変更後の印刷設定を印刷装置側へ送信させない処理、若しくは送信させるがその設定で印刷実行させない処理も含む。
図11の1100は、本実施例に係る印刷装置101のハードウェア構成を説明するブロック図である。印刷装置101はシートに画像を印刷する印刷機能を有する。本実施例では印刷装置を例に説明するが、印刷装置にスキャナやFAX機能を含むMFP(Multi Function Peripheral)等の印刷装置であってもよい。CPU(Central Processing Unit)1101を含む制御部1100は、印刷装置110全体の動作を制御する。CPU1101は、ROM(Read Only Memory)1102又はストレージ1104に記憶されたプログラムをRAM1103に展開し、それを実行して印刷制御や読取制御などの各種制御を行う。ROM1102は、CPU1101で実行可能な制御プログラムやブートプログラム等を格納する。RAM(Random Access Memory)1103は、CPU1101の主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ1104は、印刷データ、画像データ、各種プログラム、及び各種設定情報を記憶する。本実施例ではストレージ1104としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、SSD(Solid State Drive)などの不揮発性メモリを用いても良い。
尚、本実施例に係る印刷装置101では、1つのCPU1101が1つのメモリ(RAM1103)を用いて図8のフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のCPU、RAM、ROM、及びストレージを協働させて、後述するフローチャートに示す各処理を実行しても良い。またASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて一部の処理を実行するようにしてもよい。
操作部インタフェース(I/F)1106は、操作部1107と制御部1100とを接続する。操作部1106には、タッチパネル機能を有する表示部や各種ハードキーなどが備えられ、情報を表示する表示部や、ユーザーの指示を受け付ける受付部として機能する。印刷部I/F1108は、印刷部(プリンタエンジン)1109と制御部1100とを接続する。情報処理装置から受信した印刷ジョブを解析して生成された画像データは、印刷部I/F1108を介して制御部1100から印刷部1109に転送される。印刷部1109は制御部1100を介して制御コマンド及び印刷すべき印刷ジョブを受信し、その印刷ジョブに基づいて給紙カセット(不図示)から給送されたシートに画像を印刷する。尚、印刷部1109の印刷方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。また熱転写方式などその他の印刷方式を適用することもできる。また制御部1109は、通信部I/F1112を介してLAN100に接続される。
画像処理部1105は、通信部I/F1112を介して受信した印刷ジョブを展開して印刷に用いる画像データを生成するRIP(Raster Image Processor)の機能を備えている。また画像処理部1105は、印刷ジョブを展開して得られた画像データの解像度変換や補正処理を行うこともできる。尚、本実施例では、画像処理部1105がハードウェア回路(ASIC又はFPGAなど)で実現されることを想定しているが、これに限定されるものではない。例えば、印刷装置101が画像処理用途向けのプロセッサを更に備え、そのプロセッサが画像処理プログラムを実行することにより、画像処理や、印刷データへの展開処理を実現してもよい。この場合、このプロセッサとCPU1101とが協働して後述するフローチャートを実現するものとする。更には、画像処理を行うためのプログラムをCPU1101が実行し、画像処理や印刷データの展開処理を行うように構成することもできる。また、これらのいずれかの組み合わせにより画像処理を行うようにしてもよい。
シート処理部I/F1110は、制御部1100とシート処理部1111とを接続する。シート処理部1111は、制御部1100から制御コマンドを受信し、その制御コマンドに従って印刷部1109により印刷されたシートに後処理を施す。
図8は印刷装置101の操作部パネル1107で行うプリセット登録の例を示す処理フローチャートである。図8に示す各動作(ステップ)は、次のように実現する。CPU1101がROM1102又はストレージ1104に記憶されたプログラムをRAM1103に読み出し、実行することにより各処理は実行される。
S8001でCPU1101が印刷装置101の操作部パネル1107に表示されるプリセット追加ボタン(非図示)を押下されたことを検知する。すると、プリセット追加処理を開始する。CPU1102は、操作部パネル1107へプリセット設定入力画面(非図示)を表示する。
S8002でユーザーからのプリセット名称をCPU1101は受け付ける。
S8003でユーザーからのプリセットの部数を、入力をCPU1101は受け付ける。
S8004でのプリセットのカラーモードのユーザからの選択をCPU1101は受け付ける。
S8005でプリセットの両面印刷の設定のユーザからの選択をCPU1101は受け付ける。
S8006でプリセットのNup設定のユーザの選択をCPU1101は受け付ける。
S8007でユーザーは登録プリセットの綴じ処理を選択する。S8007で針綴じが選択された場合S8008へ進む。S8007で針無し綴じが選択された場合S8009へ進む。
S8008で針綴じの綴じ位置の選択をCPU1101は受け付ける。
S8009でユーザーは針無し綴じの綴じ位置の選択をCPU1101は受け付ける。
S8010でプリセット保存ボタン(非図示)を押下されたことをCPU1101が検知するとS8011へ進む。
S8011でCPU1101は入力された内容のプリセットをストレージ1104へ保存し処理を終了する。
本実施例では、印刷装置101の操作部パネル1107でプリセット登録を行うとしているが、印刷装置の101の内臓Webサービスに対して情報処理装置(103、104)内のブラウザがプリセット登録を行う構成としても良い。
図9は情報処理装置が印刷プリセットを取得し、印刷画面に選択肢として表示するフローチャート、および、ユーザーによりプリセットが選択されたことを検知して設定画面の設定値を変更するフローチャートである。図9のフローチャートに示す各動作(ステップ)は、CPU201がROM204又はストレージ203に記憶されたプログラムをRAM202に読み出し、実行する。これにより、図9の各処理が実行される。ただし、各動作を引き起こす主体となる制御プログラムを明確に示すため、各プログラムに基づく機能を主体として各動作を記載するものとする。
S9101において、印刷画面制御部(311)はアプリケーション(301)からの印刷要求を受け付け、印刷設定画面を表示する。S9102において、印刷画面制御部(311)は、出力先プリンタを選択するユーザー操作を受け付けたことを検知すると、プリンタ選択リストを印刷設定画面内に表示する。S9103において、印刷制御部(313)は、出力先プリンタを選択するユーザー操作を受け付けると、プリンタ情報管理部(304)と連携して当該選択されたプリンタの能力情報、およびプリセット情報を取得する。S9104において、プリセット解析部(315)は、取得したプリセットの解析とプリセット保存部(316)への保存を行う。S9104に示す解析・保存処理の詳細はフローチャート9200にて述べる。S9105において、プリセット解析部は、プリセットの解析が完了したか否かを判断する。最終のプリセットまで解析を終えた場合は、処理をS9106に進め、解析を終えていない場合は、S9104に戻り、プリセットの解析を行う。S9106において、設定画面制御部(311)は、プリセット保存部(316)から出力先プリンタに対応するプリセット情報を受け取り、リスト化して設定画面上に表示する。S9107において、設定画面制御部(311)は、設定画面を介してリストから1つのプリセットを選択するユーザー操作を受け付けたことを検知する。すると、S9108で、プリセットに含まれる設定内容をプリセット解析部(315)で行い、解析結果を印刷設定画面に反映する。S9108に示すプリセットの印刷画面への反映の詳細はフローチャート9300、9400にて述べる。上記の印刷設定画面は、タッチパネル206に表示してもよい。
フローチャート9200はプリセット解析部(315)がS9104にて行う解析・保存処理を詳細化したものである。
S9201において、プリセット解析部(315)は、解析対象のプリセットに部数設定が含まれるか判別する。プリセットに部数設定が含まれる場合、設定値がサポート範囲内か検証する。設定値がサポート範囲内であればS9202へ進み、範囲外であればS9206に進む。なお、本処理で「サポート範囲内かどうか」とは、情報処理装置内の印刷サービスがサポートするかどうかという意味である。情報処理装置内の印刷サービスは、OS印刷フレームワーク302に相当する。プリセット解析部は、例えば図5の503のうちstdと示されている設定の属性を記憶している。つまり、プリセットの設定の中に例えば図5の503のうちstdと示されている設定の属性のみが含まれていれば設定値がサポート範囲内であると判断する。つまり、プリセットの設定の中に例えば図5の503のうちstdと示されている設定の属性以外の属性の設定が含まれていれば設定値がサポート範囲外であると判断するよい。以下のサポート範囲外か否かの判断処理は同様に行う。図5の503のうちstdと示されている設定の属性以外の属性は、ベンダー拡張属性であると考えられる。
S9202において、プリセット解析部(315)は、解析対象のプリセットにカラーモード設定が含まれるか判別する。プリセットにカラーモード設定が含まれる場合、カラーモード設定値がサポート範囲内か検証する。カラーモード設定値がサポート範囲内であればS9203へ進み、範囲外であればS9206に進む。
S9203において、プリセット解析部(315)は、解析対象のプリセットに両面設定が含まれるか判別する。プリセットに設定値として両面設定が含まれる場合、両面設定値がサポート範囲内か検証する。両面設定値がサポート範囲内であればS9204へ進み、範囲外であればS9206に進む。
S9204において、プリセット解析部(315)は、解析対象のプリセットにステイプル属性の設定が含まれるか判別する。プリセットにステイプル設定が含まれる場合、ステイプル設定値がサポートの範囲内か検証する。ステイプル設定値がサポート範囲内であればS9205へ進み、範囲外であればS9206に進む。
S9205において、プリセット解析部(315)は、解析対象のプリセットに情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)を含んでいないか判別する。プリセットに情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)を含む場合S9206へ進む。プリセットに情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)を含んでいない場合、S9207へ進む。
S9206では、印刷設定変更に制限があること示す制限フラグを有効にし、S9207へ進む。
S9207で、プリセット解析部(315)は、印刷装置101から取得したプリセットおよび解析結果(制限フラグ)をセットにし、プリセット保存部(316)に保存する。解析結果はプリセット選択リスト(731)表示時に参照される。
上述したように、ステイプル設定、カラーモード設定、部数設定の項目ごとに、サポート外の設定を含むかを判断する。そして、下記の処理で、サポート外と判断された設定項目を変更不可とする。
フローチャート9300、9400は設定画面制御部(311)が印刷設定画面を表示する際に行うS9108の処理を詳細化したものである。フローチャート9300、9400のいずれかを実行することで、印刷設定画面の設定項目の一部、または、全部を変更不可とすることが可能となる。
フローチャート9300印刷設定画面の設定項目ごとにサポート範囲外の値か検証し、サポート範囲外の値を検知した設定項目を変更不可とする例(741)である。設定画面制御部(311)は、選択されたプリセットの設定内容に関する解析結果をプリセット解析部(315)から受け取る。プリセット解析部(315)は選択されたプリセットをプリセット保存部(316)から読み出し、設定内容の解析を行う。
S9301において、設定画面制御部(311)は、プリセット解析部(315)から部数設定に関する解析結果を受け取る。プリセットの部数設定がサポート範囲内の値である場合S9302へ進み、サポート範囲外の値である場合はS9303へ進む。
S9302で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面の部数設定項目にプリセット設定値を反映する。
S9303で、設定画面制御部(311)は、部数設定項目を変更不可能の状態にする。
S9304において、設定画面制御部(311)は、プリセット解析部(315)からカラーモード設定に関する解析結果を受け取る。プリセットのカラーモード設定がサポート範囲内の値である場合S9305へ進み、サポート範囲外の値である場合はS9306へ進む。
S9305で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面のカラーモード設定項目にプリセット設定値を反映する。
S9306で、設定画面制御部(311)は、カラーモード設定項目を変更不可能の状態にする。
S9307において、設定画面制御部(311)は、プリセット解析部(315)から両面設定に関する解析結果を受け取る。プリセットの両面設定がサポート範囲内の値である場合S9308へ進み、サポート範囲外の値である場合はS9309へ進む。
S9308で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面の両面設定項目にプリセット設定値を反映する。
S9309で、設定画面制御部(311)は、両面設定項目を変更不可能の状態にする。
S9310において、設定画面制御部(311)は、プリセット解析部(315)からステイプル設定に関する解析結果を受け取る。プリセットのステイプル設定がサポート範囲内の値である場合S9311へ進み、サポート範囲外の値である場合はS9312へ進む。
S9311で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面のステイプル設定項目にプリセット設定値を反映する。
S9312で、設定画面制御部(311)は、両面設定項目を変更不可能の状態にする。
S9313において、設定画面制御部(311)は、プリセット解析部(315)からプリセットに情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)が含まれていないかに関する解析結果を受け取る。ベンダー拡張属性が含まれていない場合処理を終了する。ベンダー拡張属性が含まれている場合はS9314へ進む。
S9314で、設定画面制御部(311)は、全ての設定項目を変更不可能の状態にし、処理を終了する。
フローチャート9400は、プリセットにサポート範囲外の属性、設定値を1つでも検出した場合、印刷設定画面の設定項目の全てを変更不可とする例(742)である。設定画面制御部(311)は、選択されたプリセットの設定内容に関する解析結果をプリセット解析部(315)から受け取る。プリセット解析部(315)は選択されたプリセットをプリセット保存部(316)から読み出し、設定内容の解析を行う。
S9401において、設定画面制御部(311)は、プリセット解析部(315)から部数設定に関する解析結果を受け取る。プリセットの部数設定がサポート範囲内の値である場合S9402へ進み、サポート範囲外の値である場合はS9411へ進む。なお、サポート範囲内、外の判断についてはこれまでの説明と同様である。以下の処理でも同様である。
S9402で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面の部数設定項目にプリセット設定値を反映する。
S9403において、設定画面制御部(311)は、プリセット解析部(315)からカラーモード設定に関する解析結果を受け取る。プリセットのカラーモード設定がサポート範囲内の値である場合S9404へ進み、サポート範囲外の値である場合はS9411へ進む。
S9404で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面のカラーモード設定項目にプリセット設定値を反映する。
S9405において、設定画面制御部(311)は、プリセット解析部(315)から両面設定に関する解析結果を受け取る。プリセットの両面設定がサポート範囲内の値である場合S9406へ進み、サポート範囲外の値である場合はS9411へ進む。
S9406で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面の両面設定項目にプリセット設定値を反映する。
S9407において、設定画面制御部(311)は、プリセット解析部(315)からステイプル設定に関する解析結果を受け取る。プリセットのステイプル設定がサポート範囲内の値である場合S9408へ進み、サポート範囲外の値である場合はS9411へ進む。
S9408で、設定画面制御部(311)は、プリセットで指定された値を印刷設定画面のステイプル設定項目にプリセット設定値を反映する。
S9409において、設定画面制御部(311)は、プリセット解析部(315)から情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)をプリセットに情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)が含まれていないか検証する。ベンダー拡張属性が含まれていない場合処理を終了する。ベンダー拡張属性が含まれている場合はS9314へ進む。
S9409において、設定画面制御部(311)は、プリセット解析部(315)からプリセットに情報処理装置側でサポート範囲外の属性(ベンダー拡張属性)が含まれていないかに関する解析結果を受け取る。ベンダー拡張属性が含まれていない場合処理を終了する。ベンダー拡張属性が含まれている場合はS9411へ進む。
S9411で、設定画面制御部(311)は、全ての設定項目を変更不可能の状態にし、処理を終了する。
図10は印刷装置101において、プリセット設定を含む印刷ジョブを受信したときの処理フローである。図10に示す各動作(ステップ)は、CPU1101がROM1102又はストレージ1104に記憶された各制御モジュールを実現するためのプログラムをRAM1103に読み出し、実行することにより実現される。
S1001で、印刷装置101は通信部I/F1112を介して印刷ジョブを受信する。
S1002で、S1001で印刷ジョブを受信したことを検知すると、CPU1101は、RAM1103に管理されるジョブリストに受信データを登録する。
S1003~1006で、CPU1101は、IPPのジョブ属性・ドキュメント属性を順に参照し、RAM1103上の内部処理変数にマッピングする。S1003ではカラーモード設定を、S1004では両面印刷の設定を、S1005ではNupレイアウトの設定を、S1006では針綴じ、あるいは針無し綴じの綴じ設定を反映する。
S1007で、CPU1101は、属性間で制御上の矛盾を検証する。属性値の矛盾がなく処理可能な場合、S1008~S1010のPDL解析・RIP・印刷処理を各ページ分繰り返し、処理を終了する。
S1007で、属性値に矛盾があると判定した場合、S1011で操作部パネル1107へエラーを表示し、ジョブを終了する。エラー表示には、矛盾の内容や矛盾が生じていると判断した理由を含ませてもよい。
印刷に関する設定がなされた印刷データを送信する印刷サービスを実行する情報処理装置の一例として103、104を説明した。
印刷に関する設定を複数含む複合設定を画像形成装置から受信する受信手段の一例が206である。複合設定に含まれる印刷に関する設定のうち、前記印刷サービスがサポートしない設定を変更させることなく保持する保持手段の一例が、ストレージである。複合設定に含まれる印刷に関する設定のうち、前記印刷サービスがサポートする設定に対する変更指示が可能とする設定画面を表示する表示手段の一例が2067である。
前記設定画面を介した指示に応じて設定された印刷に関する設定と、前記保持手段が保持する印刷に関する設定とを前記画像形成装置に対して送信する送信手段の一例は206である。207が受信した印刷に関する設定情報が、前記印刷サービスがサポートしていない印刷に関する設定を含まなければ、207が受信した印刷に関する設定に関連する表示を含む設定画面をタッチパネル206は表示する。206は、表示手段の一例である。設定画面に対する指示に応じて前記設定の変更を可能にするよう前記206をCPU201が制御する。
207が受信した印刷に関する設定情報が、印刷サービスがサポートしていない印刷に関する設定を含めば、当該印刷に関する設定に応じた設定項目の変更ができない前記設定画面を206に表示させる。CPU201は制御手段の一例であり206を制御する。
207が受信した印刷に関する設定情報が、印刷サービスがサポートしていない印刷に関する設定を含まなければ、207が受信した印刷に関する設定の設定項目の値を変更可能な設定画面を206は表示する。また、設定画面に対する指示に応じて前記設定項目の設定値の変更を可能にするよう206を制御する。設定画面の一例は、図7に記載されている。設定画面に対する指示に応じて前記設定項目の設定値の変更を可能にする意味としては、当該画面から別の設定画面を呼び出して設定させる形態を含む。
207が受信した印刷に関する設定情報が、印刷サービスがサポートしていない印刷に関する設定を含めば、当該印刷に関する設定に応じた設定項目をグレーアウト若しくは表示しない状態になる。グレーアウトのほか、鍵マークを付けることでロックすることも考えられる。
206が受信した印刷に関する設定情報は、フィニッシング、カラーモード、部数指定に関する情報のうち少なくとも一つを含む。もちろん、これらの組み合わせを含んでもよい。
206が受信した印刷に関する設定情報が、印刷サービスがサポートしていない印刷に関する設定を含めば、フィニッシング、カラーモード、部数指定の少なくともひとつに対応する設定項目の少なくとも一部を次のようにする。フィニッシングであれば、例えばステイプルのみ変更をできない状態とし、ステイプル以外のフィニッシング設定項目は変更できる状態とすることは考えられる。設定項目をグレーアウト若しくは表示しない状態の前記設定画面を207に表示させる。なお、印刷サービスがサポートする印刷に関する設定のすべてを表示しなくてもよい。例えば、印刷サービスが設定A,B,Cをサポートしている際でも、Aのみを表示してもよい。
206が受信した印刷に関する設定情報は、ステイプル指定に関する情報を含んでいるとする。そして、206が受信した印刷に関する設定情報が、前記印刷サービスがサポートしていないステイプル設定の引数を含めば、ステイプル指定に対応する設定項目をグレーアウト若しくは表示しない状態の設定画面を207に表示させる。
印刷サービスがサポートしていない印刷に関する設定は、標準OSにおける印刷サービスがサポートしていない設定であってもよい。
上述のように制御することで、プリセットを適用後にユーザーが印刷設定変更を制限することが可能となり、印刷設定のコンフリクトを防ぐことが可能となる。これにより、IPP-Presetsに期待される2つの役割(複数項目の一括設定手段の提供、および拡張設定を含むお気に入り設定手段の提供)を可能な限り両立させるためのホスト端末(IPP-Client)のコンフリクト回避が可能になる。
すなわち、印刷装置が提供するPresets情報に拡張情報を含める場合、ホスト側のPresets編集を不可とすることで印刷ジョブの設定におけるコンフリクトの発生を防止する。そして、Presets内に拡張情報が含まれない場合は、ホスト側のPresets編集を可とし、ユーザーにPresetsの一部変更手段を提供する。
これにより、1)Presetsの簡易設定の適用とユーザーによる部分変更、および2)Presetsによる拡張情報の適用、をIPPにおいて両立できるという効果がある。