JP2024058153A - 情報処理装置、制御方法およびプログラム - Google Patents

情報処理装置、制御方法およびプログラム Download PDF

Info

Publication number
JP2024058153A
JP2024058153A JP2022165310A JP2022165310A JP2024058153A JP 2024058153 A JP2024058153 A JP 2024058153A JP 2022165310 A JP2022165310 A JP 2022165310A JP 2022165310 A JP2022165310 A JP 2022165310A JP 2024058153 A JP2024058153 A JP 2024058153A
Authority
JP
Japan
Prior art keywords
print
information
setting
application
setting screen
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.)
Pending
Application number
JP2022165310A
Other languages
English (en)
Inventor
洋一郎 渋谷
Yoichiro Shibuya
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 JP2022165310A priority Critical patent/JP2024058153A/ja
Priority to EP23202614.6A priority patent/EP4354273A1/en
Priority to US18/486,074 priority patent/US20240126490A1/en
Priority to CN202311324219.2A priority patent/CN117891417A/zh
Publication of JP2024058153A publication Critical patent/JP2024058153A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1258Configuration of print job parameters, e.g. using UI at the client by updating job settings at the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 本願明細書に記載のアプリケーションは、拡張アプリケーションが表示する印刷設定画面において、1つの印刷ジョブに対して設定することができない組合せの設定値で印刷設定画面の表示がなされてしまうことを抑制することを目的とする。【解決手段】 本願に記載のアプリケーションは、情報処理装置が提供する標準プリンタドライバと紐づけて記憶される印刷設定アプリケーションであって、印刷設定画面を介して設定された印刷設定を取得する取得手段と、前記取得手段が取得した印刷設定に禁則情報に一致する設定値の組合せが含まれているかを判定する判定手段と、前記判定により前記禁則情報に一致する設定値が含まれていると判定された場合、前記禁則情報に一致する設定値の少なくとも1つを他の設定値に変更する変更手段と、前記変更後の設定値に基づき、他の印刷設定画面を前記情報処理装置に表示させる制御手段と、を有することを特徴とする。【選択図】 図4

Description

本発明は、情報処理装置、制御方法およびプログラムに関する。
印刷装置の制御用ソフトウェアとしてホストコンピュータにインストールされたプリンタドライバを利用し、ホストコンピュータに接続された印刷装置に対して印刷指示を行う構成が知られている。ホストコンピュータには、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成され、OSから呼び出されて動作する。印刷装置を提供するベンダは、OSの仕様に適合するプリンタドライバを提供することにより、そのOSを用いて印刷装置に印刷を指示する手段を提供することができる。
近年、Windows(登録商標)において、複数のベンダの提供する印刷装置で共通して利用可能な標準的なクラスドライバ(以下、「標準ドライバ」とも呼ぶ)が提供されている。このような標準ドライバは、OSのパッケージの中に同梱されており、ホストコンピュータに任意の印刷装置を接続することにより簡易に利用可能となる。よって、印刷装置に適した機種固有のプリンタドライバを別途インストールする必要が無く、利便性が高い。また、標準ドライバは、接続した印刷装置から取得した情報に基づき生成されたPrintCapabilitiesに応じて印刷機能を指定可能に構成される。これにより、標準ドライバを利用するユーザは、1つの標準ドライバを利用しているにも関わらず、接続した印刷装置の能力に応じた印刷機能を指定することができる。
標準ドライバには機能拡張用のアプリケーション(以下、「拡張アプリケーション」とも呼ぶ)を関連付けることができる。拡張アプリケーションは、印刷装置を提供するベンダが提供することができる。拡張アプリケーションは標準ドライバが生成したPDCを編集することにより、標準ドライバのみでは実現できない機能(拡張機能)を提供することができる。特許文献1には、拡張アプリケーションにより、スタンプ機能等の機能を拡張する技術が開示されている。
特開2019-74906号公報
特許文献1の拡張アプリケーションは、スプールファイルを編集することができる。拡張アプリケーションは、スプールファイルを編集することで、割り付け印刷機能を実現することができる。拡張アプリケーションは情報処理装置にインストールされたアプリケーションやOSが表示する印刷設定画面におけるユーザ操作に基づき呼び出され、拡張印刷設定画面を表示する。このとき、アプリケーションやOSが表示する印刷設定画面を介して設定された印刷設定に、印刷装置が1つの印刷ジョブに対して実行することができない設定値の組合せが設定されていることが考えられる。そのような設定がなされたままであると、拡張印刷設定画面において、本来は設定することができない組合せの設定値を表示することとなってしまう。
上記の課題を鑑み、本願明細書に記載のアプリケーションは、拡張アプリケーションが表示する印刷設定画面において、1つの印刷ジョブに対して設定することができない組合せの設定値で印刷設定画面の表示がなされてしまうことを抑制することを目的とする。
本願に記載のアプリケーションは、情報処理装置にインストールされ、前記情報処理装置が提供する標準プリンタドライバと紐づけて記憶される印刷設定アプリケーションであって、前記情報処理装置のオペレーティングシステムからの通知に基づき、印刷設定画面を介して設定された印刷設定を取得する取得手段と、前記取得手段が取得した印刷設定に禁則情報に一致する設定値の組合せが含まれているかを判定する判定手段と、前記判定により前記禁則情報に一致する設定値が含まれていると判定された場合、前記禁則情報に一致する設定値の少なくとも1つを他の設定値に変更する変更手段と、前記変更後の設定値に基づき、他の印刷設定画面を前記情報処理装置に表示させる表示制御手段と、を有することを特徴とする。
本発明により、拡張アプリケーションが表示する印刷設定画面において、1つの印刷ジョブに対して設定することができない組合せの設定値で印刷設定画面の表示がなされてしまうことを抑制することができる。
本実施形態における印刷システムのハードウェア構成の一例を示すブロック図である。 本実施形態における印刷システムの構成の一例を示す図である。 本実施形態における印刷設定画面拡張ユニットが表示する画面の一例を示す図である。 本実施形態における禁則情報取得と編集の処理を示すフローチャートである。 本実施形態におけるモデル種別判断処理のフローチャートである。 本実施形態におけるコンフリクトリスト生成処理のフローチャートである。 本実施形態において、インクジェット方式の印刷装置から取得したmedia-col-databaseの一例を示す図である。 本実施形態において、インクジェット方式の印刷装置のコンフリクトリストの一例を示す図である。 本実施形態における印刷設定画面起動時のコンフリクト処理のフローチャートである。 本実施形態において、印刷装置がインクジェットプリンタである場合の印刷設定画面起動時のコンフリクト処理のフローチャートである。 本実施形態において、印刷装置がレーザービームプリンタである場合の印刷設定画面起動時のコンフリクト処理のフローチャートである。 本実施形態において、印刷装置がインクジェットプリンタである場合の、PDC禁則情報編集のフローチャートである。 本実施形態において、印刷装置がレーザービームプリンタである場合の、PDC禁則情報編集のフローチャートである。 本実施形態において、印刷装置がインクジェットプリンタである場合に、印刷データ生成ソフトウェアが生成するPDCの一例を示す図である。 本実施形態において、印刷装置がインクジェットプリンタである場合に、拡張アプリケーションが生成するPDCの一例を示す図である。 本実施形態において、印刷装置がレーザービームプリンタである場合に、印刷データ生成ソフトウェアが生成するPDCの一例を示す図である。 本実施形態において、印刷装置がレーザービームプリンタである場合に、拡張アプリケーションが生成するPDCの一例を示す図である。 本実施形態において、描画アプリの表示する画面の一例を示す図である。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
<<実施形態1>>
<印刷システムのハードウェア構成>
図1は、印刷システムのハードウェア構成を示すブロック図である。本図において、情報処理装置101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118、ポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。NETIF120は、ネットワークインタフェイスであり、ネットワークを介して外部機器との間でデータ転送を行うための制御を行う。
ROM112には、初期化プログラムが格納されている。外部記憶装置114には、アプリケーションプログラム群、オペレーティングシステム(OS)、印刷データ生成ソフトウェア、その他の各種のデータが格納されている。RAM113は、外部記憶装置114にストアされる各種のプログラムの実行の際のワークメモリ等として使用され、各種プログラムが情報処理装置101内で動作可能となっている。
なお、本実施形態では、CPU111が、ROM112に格納されたプログラムの手順に従って処理を行うことによって、情報処理装置101における後述の機能及び後述するフローチャートに係る処理を実行する。デバイスである印刷装置102は、入出力インタフェース116を介して、情報処理装置101と接続されている。ここでは、情報処理装置101と印刷装置102が分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。なお、印刷装置は、インクを紙面上に吐出することで印刷するインクジェットプリンタを例に説明するが、他の方法(例えば電子写真方式)で印刷が実行されても良い。また、情報処理装置101は、デスクトップパソコンでも、スマートフォンでも、ノートパソコンでも構わない。
<ソフトウェアを中心とした印刷システムの構成>
図2は、ソフトウェアを中心とした印刷システムの構成を模式的に示す図である。ここでは、OSとしてMicrosoft(登録商標)のWindows(登録商標)11を搭載した情報処理装置101を用いた印刷システムを前提として説明する。
図2(a)は、拡張アプリケーション204が、印刷データ生成ソフトウェア202および印刷装置102と関連付けられていない場合の一般的な構成を示す図である。
描画アプリケーション201は印刷されるコンテンツ(描画データ)を作成するソフトウェアである。例えば、文書作成アプリケーションや表計算アプリケーションが相当する。描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに通知する。印刷指示には、印刷データ生成ソフトウェア202及び印刷装置102の動作を指示するための印刷設定情報が含まれる。印刷設定情報はPrintTicket(以下、「PT」)とも呼ばれる。
描画アプリケーション201は、印刷データ生成ソフトウェア202、OS、もしくは描画アプリケーション201、のうちいずれかが提供する印刷設定画面を表示させることができる。印刷設定画面は、印刷データ生成ソフトウェア202から取得する能力情報(印刷設定として設定可能な情報)に従い、設定可能な印刷機能を示す設定アイテム(以下、「コントロールアイテム」とも呼ぶ)と、その設定値を示すコントロールアイテムを含む。能力情報は、PrintCapabilities(以下、「PC」)とも呼ばれる。
印刷データ生成ソフトウェア202は、印刷機能情報203に基づき、PCを決定する。印刷機能情報203は、設定可能なすべての印刷機能とその設定値、並びに、設定値同士の排他関係が記載されている印刷機能を示すデータである。印刷機能情報203は、PDC(Print Device Capabilities)とも呼ばれる。PDC203は、印刷データ生成ソフトウェア202の構成ファイルに含まれ、外部記憶装置114に配置される。印刷データ生成ソフトウェア202もしくはOSは、印刷装置102から印刷装置の属性データを取得し、取得した属性データ内の属性情報に応じてPDC203を更新する。なお、PDC203は、印刷データ生成ソフトウェア202やOSを用いることで編集することができるが、描画アプリケーション201や後述する拡張アプリケーション204が直接編集することはできない。
印刷装置102から取得される印刷装置の属性データは、印刷装置に対してIPP(Internet Print Protocol)のGet-Printer-Attributesオペレーションを発行することによりレスポンスとして取得される。レスポンスの中には、印刷装置102で指定可能な機能(印刷装置の能力)を示す属性情報とその属性情報に関連する設定値を含む。このレスポンスはRAM113に保存される。印刷データ生成ソフトウェア202やOSは、レスポンスとして取得された印刷装置の能力を示す属性情報に基づきPDC203を編集する。PDC203は印刷装置ごとに生成される。このように構成することで、印刷データ生成ソフトウェア202は、接続された印刷装置102に応じて、それぞれの印刷装置102で利用可能な印刷機能をユーザが指定可能に構成する事ができる。すなわち、印刷データ生成ソフトウェア202は、異なる機能を持つ印刷装置や、異なるベンダが開発した印刷装置を接続した場合であっても、接続した印刷装置に応じて利用可能な印刷機能をユーザが指定可能に構成することができる。
なお、ここでは、印刷データ生成ソフトウェア202として、Windows(登録商標)10に搭載されている、IPP Class Driverを利用した構成について説明する。IPP Class Driverは、IPP(Internet Print Protocol)と呼ばれる標準的な印刷プロトコルの仕様に従って印刷処理を実行するプリンタドライバであり、OSのパッケージの中に同梱されている。IPP Class Driverは、IPPに則って送信される、PDFやPWG-Rasterなど所定のフォーマットの画像データを生成するプリンタドライバである。IPP Class Driverは、印刷装置102の機種に応じた固有のプリンタドライバではなく、複数のベンダの複数の印刷装置で共通して利用可能な標準的なクラスドライバであり、標準プリンタドライバとして機能する。IPP Class Driverは、接続された印刷装置102でサポートする印刷機能をユーザが指定できるように、接続した印刷装置102の能力を示す属性情報を取得し、その情報を元にPDC203を生成する。
OSは、描画アプリケーション201から出力された印刷指示に基づき中間データ(入力データとも呼ぶ)を生成して、印刷データ生成ソフトウェア202に渡す。なお、描画アプリケーション201が印刷用に出力するデータは、Graphic Device Interface形式のデータ(GDI形式データ)またはXML Paper Specification形式のデータ(XPS形式のデータ)である。印刷データ生成ソフトウェア202として、IPP Class Driverを利用する場合、描画アプリケーション201が出力するGDI形式のデータは、OSによりXPS形式に変換されて、印刷データ生成ソフトウェア202に入力される。描画アプリケーション201が出力するデータがXPS形式のデータなら、OSは、XPS形式のデータを中間データとして印刷データ生成ソフトウェア202に渡す。なお、中間データには、紙面上に形成する絵の情報である描画データと、ユーザにより設定された印刷設定情報と、が含まれる。
印刷データ生成ソフトウェア202は、取得した中間データを印刷装置102が解釈可能な印刷データに変換し、印刷装置102に送信する。本実施形態において印刷データ生成ソフトウェア202は、入力された中間データをPDFまたはPWG-Raster形式の印刷データに変換して、印刷装置102に送信する。
なお、印刷データには、紙面上に形成する絵の情報である描画データと、ユーザにより設定された印刷設定情報に基づき生成された印刷設定属性情報(印刷設定を指定する属性情報)とが含まれる。印刷設定属性情報は、印刷装置102で指定可能な機能(印刷装置の能力)を示す属性情報とその属性情報に関連する設定値を含む。
印刷装置102は、印刷データ生成ソフトウェア202から送られた印刷データに基づき紙面への印刷を行う。この時、印刷装置102は、印刷データに含まれる印刷設定属性情報に従った動作で、印刷データに含まれる描画データを紙面上に形成する。印刷設定属性情報には、印刷品位(画質優先、速度優先、等)や、両面印刷等を指定するための属性情報とその設定値が含まれている。例えば、印刷設定属性情報に、両面印刷を指定する属 性情報が含まれる場合、印刷装置102は、両面印刷を実行する。
図2(b)は、拡張アプリケーション204が、印刷データ生成ソフトウェア202および印刷装置102と関連付けられている場合の構成を示す図である。なお、以下において特に言及しない構成や処理については、図2(a)と同等の構成となる。
拡張アプリケーション204は、印刷データ生成ソフトウェア202の機能を拡張するためのソフトウェアであり、OSに予め含まれていない(同梱されていない)ソフトウェアである。拡張アプリケーション204を用いることで、印刷データ生成ソフトウェア202だけでは設定することができない設定項目の設定値を設定したり、描画データのレイアウト処理を行うことができる。印刷データ生成ソフトウェア202は汎用的な設定項目にしか対応しておらず、針無しとじや製本印刷、特殊な種類の用紙には対応していないことがある。拡張アプリケーション204により表示される拡張印刷設定画面を介して設定を行うことで、印刷設定情報に書き込むことが可能となる。
拡張アプリケーション204は、ユーザがインターネットを介してサーバからダウンロードして、情報処理装置101にインストールする必要がある。若しくは、情報処理装置101に印刷装置102が接続されたことに基づき、自動的にインストールされてもよい。具体的には、情報処理装置101に印刷装置102が接続された場合、OSは印刷装置102からデバイス識別情報を取得する。OSは、取得されたデバイス識別情報に対応する拡張アプリケーション204を、インターネットを介してサーバからダウンロードし、インストールしても良い。つまり、印刷データ生成ソフトウェア202と、拡張アプリケーション204は別ファイルとして情報処理装置101に保持される。なお、本実施例において、印刷データ生成ソフトウェア202はOSに同梱されるソフトウェアであり、OSと同様のベンダにより提供されるソフトウェアであった。拡張アプリケーション204は、印刷装置102を提供するベンダにより提供されるアプリケーションであり、異なるベンダの印刷装置には適用しない。
なお、印刷データ生成ソフトウェア202および拡張アプリケーション204は、更新されてバージョンアップされることもあるが、この更新処理も別々のタイミングで行われる。つまり、情報処理装置101により印刷データ生成ソフトウェア202が取得されるタイミングと、拡張アプリケーション204が取得されるタイミングは異なる。
また、情報処理装置101により印刷データ生成ソフトウェア202が取得されるトリガーと、拡張アプリケーション204が取得されるトリガーも異なる。なお、拡張アプリケーション204がインストールされた場合、OSが、拡張アプリケーション204を、印刷データ生成ソフトウェア202および印刷装置102に関連付ける。
本実施形態で説明する拡張アプリケーション204は、印刷設定画面拡張ユニット205とスキップ制御ユニット206と印刷機能拡張ユニット207と印刷データ編集ユニット208と通知ユニット209を備える。また、拡張アプリケーション204は、各ユニットから共通してアクセス可能な共有情報210を備える。共有情報210の実態は、外部記憶装置114に保存されたファイル、もしくはRAM113上に格納された情報である。拡張アプリケーション204は、OSが提供するAPI(Application Program Interface)を利用することで、共有情報210への情報の書き込みや読み出しを行うことが可能である。また、共有情報210は、アプリケーション固有に情報を格納できる領域として割り振られており、印刷装置102の属性データ以外の情報を格納することも可能である。共有情報210は、接続された印刷装置102で利用可能な印刷機能を指定するために印刷データ生成ソフトウェア202もしくはOSにより生成されるPDC203とは異なる情報である。
拡張アプリケーション204は、各ユニットを使用する要求がOSからの通知されるたびに、起動される。この場合、各ユニットの処理が終わるたびに動作を終了する。その場合、各ユニットを使う要求を受ける度にOSが拡張アプリケーション204を起動することになる。また、別の形態も考えられる。例えば印刷設定画面拡張ユニット205の処理が終了するとOSは拡張アプリケーション204の動作を終了させるが、スキップ制御ユニット206の処理が終了してもOSは拡張アプリケーション204を起動させたままにしても良い。
さらに、拡張アプリケーション204は、各ユニットの処理の中で、処理をキャンセルしても良い。キャンセルした場合、印刷キュー上の処理中のジョブがOSにより削除される。
描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに発行する。本構成下でも、図2(a)の構成と同様、描画アプリケーション201は、印刷設定画面を表示させることができる。描画アプリケーション201が提供する印刷設定画面上に表示される「プロパティ設定」ボタンがユーザにより選択されると、拡張アプリケーションにより拡張印刷設定画面が表示される。
本構成下では、拡張アプリケーション204が提供する拡張印刷設定画面が表示される。具体的には、拡張アプリケーション204が備える印刷設定画面拡張ユニット205が提供する印刷設定画面が表示される。なお、印刷設定画面拡張ユニット205により提供される印刷設定画面が表示されるか否かはユーザの操作に依存する。印刷設定画面拡張ユニット205の詳細は、図4を用いて後述する。このように印刷設定拡張ユニットを有する拡張アプリケーション204は印刷設定アプリケーションとして機能する。
描画アプリケーション201がユーザから印刷要求を受けつけ、印刷指示がOSに発行されると、OSはスキップ制御ユニット206を起動する。スキップ制御ユニット206は、印刷データ生成ソフトウェア202の処理をスキップするか否かの制御を行う。スキップ制御ユニット206は、中間データや印刷設定情報を取得することはできない。スキップ制御ユニット206のスキップ制御処理の後、OSは、描画アプリケーション201から出力された印刷指示に基づき中間データを生成し、中間データが印刷データ生成ソフトウェア202に渡される。ここで、スキップ制御ユニット206でスキップ制御が行われない場合、中間データは印刷データ生成ソフトウェア202で印刷装置102が解釈可能な印刷データへ処理され、印刷データ編集ユニット208へ渡される。これにより、中間データを印刷データ編集ユニット208で処理することが可能となる。
一方、印刷データ生成ソフトウェア202のスキップが行われる場合は、中間データは印刷データ生成ソフトウェア202で処理されずに、印刷データ編集ユニット208に渡される。これにより、中間データを印刷データ編集ユニット208で処理することが可能となる。印刷データ生成ソフトウェア202をスキップした方が好ましい例として、拡大縮小処理を印刷データ編集ユニット208で行いたい場合が挙げられる。中間データはベクター形式でデータを保持可能であり、拡大縮小時の劣化が少ない。そのため、印刷データ生成ソフトウェア202がラスター形式で画像を出力するような形態においては、印刷データ生成ソフトウェア202の処理をスキップし、中間データを印刷データ編集ユニット208で処理するのが一般的に好ましい。なお、スキップ制御ユニット206が印刷データ生成ソフトウェア202による処理のスキップを指示するか否かは固定であってもよいし、印刷設定情報で設定されている設定値に基づき切り替えるとしてもよい。たとえば、印刷データ編集ユニット208にて処理が必要となる設定値が含まれる場合、スキップ処理を有効とし、印刷データ編集ユニット208での処理が必要となる設定値が含まれない場合はスキップ処理を無効とするとしてもよい。
印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から渡される中間データもしくは印刷データ生成ソフトウェア202により処理された印刷データの編集を行う。編集内容として、割り付け印刷を例にとると、印刷データ編集ユニット208は、OSから受け取った割り付け印刷の印刷設定情報に基づいて、中間データもしくは印刷データのレイアウトを変更する。また、印刷データ編集ユニット208は表示部119にUI画面を表示することが可能であり、中間データもしくは印刷データのレイアウト結果をプレビュー画面として表示することができる。なお、印刷データ編集ユニット208では、UI画面を開いたままの状態では印刷データは印刷装置102に送信されず、UI画面を閉じることで印刷データの送信処理が動作する。
印刷データ編集ユニット208が印刷データを編集した後、印刷データはOSを経由して印刷装置102へ渡される。印刷装置102は、受け付けた印刷データに基づき紙面への印刷を行う。なお、スキップ制御ユニット206で印刷データ生成ソフトウェア202がスキップされた場合、印刷データ編集ユニット208が、受け取った中間データを印刷装置102が解釈可能な印刷データへ変換しても良い。また、中間データを印刷データへ変換するために、OSが提供する機能を利用しても良い。
拡張アプリケーション204は、印刷機能拡張ユニット207を有する。印刷機能拡張ユニット207は、印刷データ生成ソフトウェア202もしくはOSが生成したPDC203を編集することができる。印刷機能拡張ユニット207は、PDC203に書き込みたい情報をOSのAPIを用いてPDC203に書き込むことでPDC203を編集する。これにより、印刷機能拡張ユニット207は、拡張アプリケーション204が提供する機能の追加を行う。そのほかにも、PDCの編集により印刷装置102はサポートしているが印刷データ生成ソフトウェア202がサポートしていない機能の追加、印刷機能の設定値同士の排他関係の追加、等が可能である。
OSは、拡張アプリケーション204が印刷装置102と印刷データ生成ソフトウェア202に最初に関連付けられた時に、印刷機能拡張ユニット207を起動する。さらに、OSは、OS起動時等、それ以外のタイミングで印刷機能拡張ユニット207を起動してもよい。このようにすることで、印刷装置102に対して後からオプション装置(例えば、フィニッシャー等)が追加され、印刷に関わる機能が拡張されるようなケースにおいて、印刷機能拡張ユニット207は、拡張機能を検知し、PDC203に追加することができる。
また、拡張アプリケーション204は通知ユニット209を有する。通知ユニット209は、印刷装置102のエラー発生に呼応してユーザに対して通知を表示することが可能である。例えば、印刷装置102で用紙なしエラーが発生すると、それを印刷データ生成ソフトウェア202が検知し、OSは、OSの機能であるトースト通知と呼ばれる通知機能を使って、メッセージを表示部119に表示させる。ユーザがこのトースト通知を押下することで、拡張アプリケーション204の通知ユニット209がOSにより呼び出され、通知ユニット209のUI画面が表示される。通知ユニット209のUI画面では、例えば用紙なしエラーの詳細メッセージや用紙充填方法などの表示を行うことができる。
なお、拡張アプリケーション204は印刷装置102へ印刷データを送信してしまうと、各ユニットの処理途中で印刷データに紐づくガイドなどの画面表示は行うことができない。
また、本実施形態を実現するための拡張アプリケーション204の構成は、前述の機能(ユニット)を全て備えるものに限定されず、機能の一部のみを持つものや、他の機能を有するものでもよい。また、拡張アプリケーション204は、単に印刷ソフトウェアと呼ばれることもある。
<印刷設定画面拡張ユニットの表示する画面例>
次に、印刷設定画面拡張ユニット205により表示される拡張印刷設定画面について図3を用いて説明する。上述の通り、描画アプリケーション201またはOSにより表示される印刷設定画面において「プロパティ設定」ボタンが選択された場合、OSは印刷機能拡張ユニット207を呼び出す。呼び出された印刷機能拡張ユニット207は、拡張印刷設定画面を表示させる。後述の図18(b)が描画アプリケーション201により表示される印刷設定画面の一例である。図18(b)以外にも、印刷に用いるプリンタの設定や印刷部数、汎用的な設定項目に関する印刷設定を行うことができる画面であってもよい。
印刷機能拡張ユニット207により編集されたPDC203に基づき、PCが生成される。図3(a)の拡張印刷設定画面301は、生成されたPCに基づき、印刷設定画面拡張ユニット205が表示する画面の一例である。印刷設定画面拡張ユニット205は、描画アプリケーション201上でユーザが「プロパティ設定」ボタンを選択し拡張印刷設定画面の表示を指示した場合に、OSから呼び出される。印刷設定画面拡張ユニット205は、OSから取得できるPCに基づき、印刷データ生成ソフトウェア202で指定可能な印刷機能の設定値をユーザが指定可能な画面を表示する。
コントロールアイテム302は印刷に使用する用紙の種類を設定可能なコントロールアイテムであり、例えば、普通紙や写真用紙といった項目を設定可能である。コントロールアイテム303は印刷に使用する用紙サイズを設定可能なコントロールアイテムであり、例えば、A4やレターといった項目を設定可能である。図3(b)に示すリスト310はコントロールアイテム303を展開した際の表示状態を示しており、ユーザは展開されたリストの中から用紙サイズを選択可能である。
コントロールアイテム304は印刷装置102の印刷用紙の給紙口を設定可能なコントロールであり、例えば、メイントレイやリアトレイといった項目を設定可能である。
コントロールアイテム305は印刷の向きを設定可能なコントロールアイテムであり、縦および横の設定が可能である。コントロールアイテム306は両面印刷の有効・無効を切り替え可能なコントロールアイテムである。コントロールアイテム307は両面印刷時のとじ方向を設定可能なコントロールアイテムであり、例えば長辺とじ、短辺とじといった項目が設定可能である。コントロールアイテム309はキャンセルボタンであり、設定を反映せずに画面が閉じられる。コントロールアイテム308はOKボタンであり、設定を反映して画面が閉じられる。
OKボタンが選択された場合、印刷設定画面拡張ユニット205は拡張印刷設定画面を介して設定された設定値でPTを更新する様、OSに指示をする。OSは、印刷設定画面拡張ユニットから受信した設定値に基づきPTを更新する。描画アプリケーション201またはOSは、更新後のPTに基づき印刷設定画面を表示する。印刷設定画面を介して印刷指示がなされたことに従って、印刷のための処理が開始される。なお、キャンセルボタンが選択された場合、印刷設定画面拡張ユニット205はPTの更新を行うことなく表示を終了する。
<印刷機能拡張ユニットによる禁則情報の拡張>
インクジェットプリンタや、レーザービームプリンタにおいては、1つの印刷ジョブに対して設定することができない設定値の禁則(コンフリクト)が存在する。禁則情報は、禁則となる複数の設定値について、当該設定値の属性(Feature)と設定値(Option)の組合せで表される。
禁則該当するFeatureおよびOptionを選択して印刷を実行した場合、印刷がエラーになってしまったり、禁則に該当する設定値が変更され、意図した設定値を異なる設定値で印刷が実行されてしまう。PTに禁則情報に一致する設定値が含まれていた場合、ユーザが設定を変更して再度印刷ジョブを投入することが必要となったり、インクやトナーの浪費につながってしまう。
IPP Class Driverにおいては、IPPのGet-Printer-Attributesオペレーションを発行することで、印刷装置102から組み合わせて使用可能な機能を示す属性情報と設定値の組み合わせを取得することができる。以下、印刷装置から取得される機能である属性をFeature、各機能の選択肢である設定値をOptionと記載する。取得した組み合わせの情報から、描画アプリケーション201やOSが表示する印刷設定画面においてなされた印刷設定が利用可能であるか否かを判定することができる。
しかしながら、IPP Class Driverではいずれのプリンタでも用いられるような汎用的な属性情報や設定値しか想定されていない。具体的には、IPP Class Driverが独自に実施するコンフリクト制御処理は、フチなし印刷を適用した際にいくつかのFeature、Optionとの間で実施する制御処理のみである。
一方で、拡張アプリケーション204を用いることで、プリンタベンダ特有の属性情報や設定値を設定することが可能となる。しかしながら、IPP Class Driverはそれらの属性情報や設定値について利用可能な組み合わせ情報を取得していないため、禁則情報に一致する設定が含まれているか否かを判定することができなかった。
本実施形態では、拡張アプリケーション204の印刷機能拡張ユニット207が、印刷装置102におけるコンフリクトを取得、保存し、印刷設定画面拡張ユニット205の提供する印刷設定画面起動時においてコンフリクト制御処理を実施する。描画アプリケーション201からの印刷指示により印刷設定画面拡張ユニット205が起動された場合に、印刷設定画面拡張ユニット205がコンフリクトを解消した印刷設定画面を表示することで、印刷が失敗することを未然に防止する。
以降、拡張アプリケーション204の印刷機能拡張ユニット207ないし印刷設定画面拡張ユニット205を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
まず、拡張アプリケーション204の印刷機能拡張ユニット207が印刷装置102からコンフリクトの発生するFeatureとOptionの組み合わせを取得し、自身の共有情報210へ保存する処理を、図4を用いて説明する。
図4の処理フローは、印刷機能拡張ユニット207が共有情報210に禁則情報を保存した後に、OSの生成するPDC203への禁則情報(禁則情報)を編集する処理も含むが、PDC203への禁則情報の編集に関しては後述する。
図4の処理フローは、OSが拡張アプリケーション204と初めて関連付けられたタイミング以降、ユーザによって拡張アプリケーション204と関連付けられた印刷キューが選択されることによって開始する。印刷キューの選択は、描画アプリケーション201またはOSが表示するプリンタ選択用のオブジェクトを介して行われる。
まず、S401で拡張アプリケーション204の印刷機能拡張ユニット207は印刷装置102から能力情報を取得する。能力情報は、印刷機能拡張ユニット207が印刷装置に対してIPP(Internet Print Protocol)のGet-Printer-Attributesオペレーションを発行することにより、印刷装置102からのレスポンスとして取得する。印刷装置102の能力情報を取得し、印刷機能拡張ユニット207は、処理をS402へ進める。
次にS402で、印刷機能拡張ユニット207は印刷装置102から、印刷装置102のデバイス種別を判別するためのデバイス種別識別情報を取得し、S403へ処理を進める。
S403では、印刷機能拡張ユニット207は、印刷装置102から取得した印刷装置102のデバイス種別識別情報に基づき、印刷装置のデバイス種別を判別する。デバイス種別とは、印刷装置の印字方式に基づく種別である。本実施例では、拡張アプリケーション204が、インクジェット方式と電子写真(レーザービーム)方式の2つのデバイス種別に対応するとする。
デバイス種別識別情報を使用してデバイス種別を判別する具体的な方法を、図5を用いて説明する。図5は、印刷機能拡張ユニット207が上述のIPP(Internet Print Protocol)のGet-Printer-Attributesオペレーションを発行し、印刷装置102からレスポンスを取得してから開始される。
S501で、印刷機能拡張ユニット207は、印刷装置102のGet-Printer-Attributesのレスポンスにmarker-types属性が含まれるかを確認し、処理を以降に進める。
S501でYesと判断した場合、印刷機能拡張ユニット207は、S502へ処理を進める。
S502では、印刷装置102のIPPのGet-Printer-Attributeオペレーションのレスポンスのmarker-types属性値がink-cartridgeであるかを確認する。S502でYesと判断した場合、印刷機能拡張ユニット207は処理をS503へ進め、デバイス種別をインクジェットプリンタと判断する。
なお、本実施形態における印刷装置102は、ローカル接続のインクジェットプリンタを例としているが、印刷装置102はクラウドを介して接続されていても良い。その場合、IPPのGet-Printer-Attributeオペレーションのレスポンスのprinter-device-id属性値にクラウド接続を意味する値を付加しても良い。
もしくは、印刷装置102と情報処理装置101がクラウド経由で接続される場合、情報処理装置101においてクラウド接続用の印刷データ生成ソフトウェア202が利用される。印刷機能拡張ユニット207は、印刷データ生成ソフトウェア202の名称や種類を判定することで、印刷装置102がクラウド経由の接続であるか、クラウドを介さない接続であるかを判定しても良い。印刷機能拡張ユニット207は、印刷装置102と情報処理装置101がクラウドサービスを介して接続されていると判定した場合、印刷装置102の能力情報等の取得要求をクラウドサービスに対して行う。この場合、情報処理装置101は、クラウドサービスから当該クラウドサービスに登録された印刷装置102の情報を取得する。
S501へ処理を戻す。S501でNoと判断された場合、印刷機能拡張ユニット207は、S504へ処理を進める。
S504で、印刷機能拡張ユニット207は、印刷装置102のIPPのGet-Printer-Attributeオペレーションのレスポンスにprinter-supply属性が含まれるかを確認する。S504でYesと判断した場合、印刷機能拡張ユニット207は、S505へ処理を進める。S505で、印刷機能拡張ユニット207は、印刷装置102のIPPのGet-Printer-Attributeオペレーションのレスポンスのprinter-supply属性値にtype=tonerが含まれているかを確認する。S505でYesと判断した場合、印刷機能拡張ユニット207は、処理をS506へ移し、印刷装置102のデバイス種別をレーザービームプリンタと判断する。
印刷機能拡張ユニット207は、S502,S504,S505でNoと判断した場合、処理をS507へ移し、印刷装置102のデバイス種別をその他であると判断する。
なお、図5では、印刷機能拡張ユニット207は、印刷装置102のIPPのGet-Printer-Attributeオペレーションのレスポンスによって得られる情報に基づきデバイス種別を判断するが、それ以外の情報に基づき判断しても良い。例えば、印刷装置102から別の方法で取得した情報に基づき判断しても良い。また、印刷装置102から取得した印刷装置102の名称等の情報と、拡張アプリケーション204が有するテーブル情報に基づき判断しても良い。また、テーブル情報は、不図示のサーバから取得するように構成しても良い。
図5で説明した処理によって、拡張アプリケーション204は、接続された印刷装置102、並びにそのデバイス種別に応じて最適な禁則情報の処理を実施することが可能となる。
図4の処理フローの説明へ戻る。S404において、印刷機能拡張ユニット207はS403において判別した印刷装置102のデバイス種別を共有情報210へ格納する。格納した印刷装置102のデバイス種別情報は、本実施形態においては印刷設定画面拡張ユニット205が、提供する印刷設定画面の表示時にコンフリクトを制御するために用いる。 しかしながら、拡張アプリケーション204の他のユニットが、その他の用途で用いてもよい。また、印刷装置のデバイス種別情報が共有情報210に既に含まれている場合、以降の拡張アプリケーション204の起動時に印刷機能拡張ユニット207は、S401からS404の処理をスキップするように構成しても良い。S404で印刷機能拡張ユニット207は共有情報210へデバイス種別を格納し、処理をS405へ移す。
S405で、印刷機能拡張ユニット207は、共有情報210に格納した印刷装置102のデバイス種別がインクジェットプリンタであるか否かを判定する。印刷機能拡張ユニット207が取得したデバイス種別がインクジェットプリンタの場合、S405の処理結果をYesと判断し、S406へ処理を進める。
S406では、印刷機能拡張ユニット207はmedia-col-database属性の値を取得する。
インクジェットプリンタ独自の禁則情報の生成について説明する。S407で、印刷機能拡張ユニット207は禁則情報を取得するために、印刷装置102からIPPのGet-Printer-Attributeのレスポンス値のmedia-col-database属性の値を取得する。media-col-database属性値には、印刷装置102において、印刷設定として設定可能なOption値の組み合わせ一覧のうち、印刷装置102において印刷可能な組み合わせ一覧の情報が含まれる。
図7は、media-col-database属性に含まれる組み合わせ情報の一例を模式的に示した表701である。701の各列の値は、各Featureに属するOption値を示しており、各行が一つの組み合わせを表している。例えば、表701の1行目は、サイズ:A4、給紙口:自動、メディア:普通紙の組み合わせが指定される場合に印刷装置102での印刷が可能であることを示している。表701には、Featureとしてサイズ、給紙口、メディアの3つが記載されているが、その他のFeatureが記載される場合もある。
図4の説明に戻る。S407で、印刷機能拡張ユニット207はS406で取得したmedia-col-database属性値を解析し、印刷設定画面拡張ユニット205が利用するコンフリクトリストを作成する。
コンフリクトリストの作成について、図6を用いて具体的に説明する。
S601で、印刷機能拡張ユニット207は印刷装置102のGet-Printer-Attributeのレスポンスとして取得したmedia-col-database属性値から、印刷装置102で印刷が可能なOption値の組み合わせを取得する。
S602において、印刷機能拡張ユニット207はS601で取得したmedia-col-databaseのOptionの組み合わせに基づき、二項目間のFeatureとOptionの組み合わせ情報を生成する。たとえば、図7に示すmedia-col-database701の1行目について組み合わせ情報を生成するとする。印刷機能拡張ユニット207は、「サイズ:A4とメディア:普通紙」「サイズ:A4と給紙口:自動」「給紙口:自動とメディア:普通紙」の3つの組み合わせ情報を生成する。なお、ここではFeatureの一例としてサイズ、給紙口、メディアを、Optionの一例としてA4、自動、普通紙を挙げるが、他のFeatureおよびOptionの組み合わせであっても構わない。印刷機能拡張ユニット207は、media-col-database属性値から二項目間の印刷可能な組み合わせ情報を生成し、S603へ処理を進める。
S603で、印刷機能拡張ユニット207は印刷装置102が特定のFeatureをサポートしているか否かを示す情報を取得する。S603において、印刷機能拡張ユニット207は、あらかじめ印刷装置102のIPPのGet-Printer-Attributeオペレーションのレスポンスで取得した値を参照する。本実施形態においては、印刷機能拡張ユニット207は印刷装置102がフチなし印刷をサポートしているか、両面印刷をサポートしているか、を示す情報を取得する。フチなし印刷は、用紙端に余白を設けずに印刷する機能である。
印刷装置102がmedia-col-database属性値で返却できる情報はIPP印刷の仕様として定義されているが、両面印刷はこの定義に含まれないFeatureである。このため、印刷装置102は仕様に則り、media-col-database属性値で両面印刷に関する情報を含んだ組み合わせ情報を返却しない。また、フチなし印刷に関しても、印刷装置102が返却する情報はmedia-col-database属性値ではサイズの情報の一部としてマージン情報を含むのみであり、印刷装置102はフチなし印刷に関する情報を含んだ組み合わせ情報は返却していない。従って、本実施形態では、印刷装置102が返却しないFeatureに関しては、拡張アプリケーション自身の持つ情報に基づき、二項目間の印刷可能な組み合わせとして整理することとする。なお、印刷装置102がmedia-col-database属性として返却しない情報は前述のFeatureに限定されるものではなく、他のFeature、もしくはOptionであっても構わない。
S604からS606においては、禁則情報をコンフリクトに追加する処理を行う。印刷機能拡張ユニット207は、media-col-databaseに出現したFetureに対して、S602で生成した二項目間の組み合わせ情報に基づき、禁則情報を特定し、当該禁則情報をコンフリクトリストに追加する。
まず、S604では、印刷機能拡張ユニット207は印刷装置102が特定のFeatureをサポートするか否かを判別する。具体的には、印刷機能拡張ユニット207は、S603で取得した印刷装置102がフチなし印刷、両面印刷それぞれをサポートするか否かの情報を元に処理を切り替える。印刷装置102がフチなし印刷または両面印刷のいずれかをサポートすると判定した場合、印刷機能拡張ユニット207はS605へと処理を進める。一方で、印刷装置102がフチなし印刷と両面印刷の両方をサポートしていないと判定した場合、印刷機能拡張ユニット207はS606へと処理を進める。
S605において、印刷機能拡張ユニット207は、フチなし印刷と両面印刷のそれぞれについて、同時に設定できないFeatureおよびOptionを禁則情報としてコンフリクトリストへ追加する。なお、印刷装置102がフチなし印刷、両面印刷のいずれかのみをサポートする場合、印刷機能拡張ユニット207は、サポートしている機能について、当該機能とともに使用することができないOptionに関する情報をコンフリクトリストに追加する。
図8は、印刷機能拡張ユニット207が作成するコンフリクトリストの一例である。コンフリクトリストは、印刷装置102にとって1つの印刷ジョブに対して設定することができない二つの機能の組み合わせを表す情報を模式的に表したリスト801である。リスト801の機能1と機能2のそれぞれは、Feature名とOption名の組み合わせから成る。コンフリクトリストの各行が禁則情報となる。たとえば、リスト801の1行目「機能1:メディア,封筒機能2:フチなし印刷,オン」は、印刷に使用するメディアが封筒である場合、フチなし印刷を有効に設定することができないことを意味している。
また、機能1と機能2では、機能1の優先度が高い。優先度は、印刷機能拡張ユニット207が禁則を解消するために設定値を変更する際に参照するパラメータである。禁則を解消するにあたり、優先度の高い機能1ではなく、優先度の低い機能2が変更される。リスト801の一行目を例とすると、リスト801の1行目「機能1:メディア,封筒機能2:フチなし印刷,オン」が選択された場合には、機能1であるメディア:封筒は保持され、フチなし印刷がオンからオフに変更される。
図6の説明に戻る。S606において、印刷機能拡張ユニット207は、各FeatureについてS602で生成した二項目間の組み合わせ情報に基づき、組み合わせ情報に含まれていない組み合わせを禁則情報としてコンフリクトリストへ追加する。S606において、印刷機能拡張ユニット207は、media-col-databaseで記述される各featureについて禁則情報に相当する設定値の組合せを特定する。印刷機能拡張ユニット207は特定した設定値の組合せを禁則情報としてコンフリクトリストに追加する。図8のリスト801の行802がS606によりコンフリクトリストに追加される禁則情報の一例である。印刷機能拡張ユニット207は、S602において生成した組み合わせ情報に「メディア:光沢ゴールド、給紙口:メイントレイ」が含まれていなかったと判断し、当該組み合わせをコンフリクトリストへ追加する。このようにすることで、media-col-databaseを用いて取得される情報に基づく禁則情報と、media-col-databaseでは取得できない属性情報に関する禁則情報を一つのコンフリクトリストにまとめることができる。
S604からS606で、印刷機能拡張ユニット207は各Featureに対して、同時に設定できないFeatureとOptionの組み合わせである禁則情報をコンフリクトリストへ追加していく。印刷装置102がサポートするすべてのFeatureで前述の処理を行った後、S607へ処理を進める。
S607で、印刷機能拡張ユニット207は、インクジェットプリンタの全ての機種にとって共通となる禁則情報をコンフリクトリストへ追加する。例えば、図8のリスト801における行803の部分で、Featureフチなし印刷、Optionがオンの場合には、Featureが両面印刷、Optionが両面(長辺とじ)は選択できないことなどが一例である。S607で機種共通の禁則情報をコンフリクトリストへ追加し、印刷機能拡張ユニット207は処理をS608へ進める。所定の種別の印刷装置であれば印刷装置の機種に寄らず共通の禁則情報は予め拡張アプリケーション204が記憶している。印刷機能拡張ユニット207は、予め記憶している禁則情報をコンフリクトリストに追加する。このようにすることで、印刷装置102から取得するコンフリクトに関する情報のデータ量を少なくし、コンフリクトリストの作成に係る処理を減らすことができる。
S608で、印刷機能拡張ユニット207はS607までで作成、整理したコンフリクトリストを拡張アプリケーション204の共有情報210へ格納する。次回以降、拡張アプリケーション204を起動した際には、印刷機能拡張ユニット207は、共有情報210にコンフリクトリストを問い合わせ、情報をRAMに展開し、使用するとしても良い。以上が、印刷装置102のデバイス種別がインクジェットプリンタだった場合におけるコンフリクト処理の詳細である。
説明を図4へ戻す。S407までの処理を行い、印刷機能拡張ユニット207は処理をS408へ進める。S408ではインクジェットプリンタのPDC203における禁則情報編集処理を行う。インクジェットプリンタのPDC203における禁則情報編集処理については後述する。S408において、PDC203の更新を行うことで、描画アプリケーション201や情報処理装置101のOSがPTに禁則情報に一致する設定値の組合せが含まれていないかを判定する際に、更新されたPDC203を使用することができる。
図4のS405でNoだった場合、印刷機能拡張ユニット207は処理をS409へ進める。
S409では、印刷機能拡張ユニット207は、共有情報210に格納した印刷装置102のデバイス種別を取得する。印刷機能拡張ユニット207が取得したデバイス種別がレーザービームプリンタの場合、S409の処理結果をYesと判断し、S410へ処理を進める。なお、S409の結果がNoと判断した場合、印刷機能拡張ユニット207はデバイス種別をその他と判断し、前述のS406以降へ処理を進める。
S409で印刷機能拡張ユニット207が取得したデバイス種別がレーザービームプリンタの場合、印刷機能拡張ユニットはコンフリクトリストの作成をスキップする。デバイス種別がレーザービームプリンタである場合、media-col-database属性値として、印刷装置102において印刷設定として設定可能なOption値の組み合わせ一覧の情報を返却していない。印刷設定として設定可能なOption値を印刷装置102が返却しないため、拡張アプリケーション204はあらかじめ共有情報210に格納しておいた禁則情報を使用し、コンフリクト制御処理を実行する。
S410で、印刷機能拡張ユニット207はレーザービームプリンタのPDC禁則情報編集処理を行う。レーザービームプリンタのPDC禁則情報編集処理については後述する。
なお、上記の実施形態では、S409においてデバイス種別がレーザービームプリンタであるか否かに応じてS410とS406の処理を切り替えると説明した。印刷機能拡張ユニット207が、印刷装置102からmedia-col-database属性値を取得できているか否かに応じてS410の処理を行うか、S406~S408の処理を行うかを切り替えるとしてもよい。この場合、印刷装置102からmedia-col-database属性値が取得できている場合、印刷機能拡張ユニット207はS406~S409に記載の処理を実行する。一方で、media-col-database属性値が取得できていない場合、印刷機能拡張ユニット207はS410の処理を実行する。
このようにすることで、印刷装置102が利用可能な設定値の組合せに関する情報を情報処理装置101に応答している場合にはコンフリクトリストの作成を行うとすることができる。
<印刷設定画面拡張ユニットによる印刷設定画面起動時のコンフリクト制御>
次に、印刷設定画面拡張ユニット205による、印刷設定画面起動時のコンフリクト制御に関して図9を用いて説明する。
まず、図9の処理フローは、描画アプリケーション201またはOSが表示する印刷設定画面において、「プロパティ設定」ボタンが選択され、印刷設定画面拡張ユニット205がOSから呼び出されて開始される。なお、印刷設定画面拡張ユニット205の呼び出しは他のオブジェクトや指示によって行われるとしてもよい。
S901で印刷設定画面拡張ユニット205は、共有情報210からデバイス種別を取得し、処理をS902へ進める。
S902において、印刷設定画面拡張ユニット205はS901で取得したデバイス種別に基づき、印刷装置102のデバイス種別がインクジェットプリンタか否かを判断する。印刷装置102のデバイス種別がインクジェットプリンタである場合、印刷機能拡張ユニット207は処理をS903へ進める。印刷装置102のデバイス種別がインクジェットプリンタでない場合、印刷設定画面拡張ユニット205は処理をS904へ進める。なお、図5のS507においてデバイス種別がその他と判断された場合、S902において印刷設定画面拡張ユニット205は処理をS903へ進める。
S903において、印刷設定画面拡張ユニット205はインクジェットプリンタのコンフリクト制御処理を行う。インクジェットプリンタのコンフリクト制御処理については、図10の処理フローを用いて説明する。
図10のS1001で、印刷設定画面拡張ユニット205は、描画アプリケーション201上でユーザが設定した各FeatureとOptionの組み合わせをPrintTicketの形でOSから取得する。
S1002において、印刷設定画面拡張ユニット205は、前述の図4の処理フローによって作成したコンフリクトリストを共有情報210より取得する。
S1003以降、S1006まで、印刷設定画面拡張ユニット205は取得したコンフリクトリストの各行に対して、以降に説明する処理を繰り返し実施する。
S1003において、印刷設定画面拡張ユニット205は、PrintTicketとコンフリクトリストに基づき、機能1に該当するFeatureのOptionが、取得したPrintTicketで設定されているか否かを判定する。機能1に該当するFeatureのOptionがPrintTicketに含まれている場合、印刷設定画面拡張ユニット205は処理をS1004へ進める。機能1に該当するFeatureのOptionがPrintTicketに含まれていない場合、印刷設定画面拡張ユニット205は該当するコンフリクトリストの行に対する処理を終了する。
次に、S1004で、印刷設定画面拡張ユニット205は、図8のコンフリクトリストの機能2に該当するFeatureのOptionが、PrintTicketで設定されているか否かを判定する。機能2に該当するFeatureのOptionがPrintTicketに含まれている場合、印刷設定画面拡張ユニット205は処理をS1005へ進める。該当するFeatureのOptionがPrintTicketに含まれていない場合、印刷設定画面拡張ユニット205は該当するコンフリクトリストの行に対する処理を終了する。S1003、S1004がともにYesの場合、コンフリクトに一致する設定値の組合せがPrintTicketに含まれていることとなる。そこでS1005、S1006の処理を行い、コンフリクトを解消するように設定値を変更する。
S1005において、印刷設定画面拡張ユニット205は、機能2で設定されているFeatureのOptionを、機能1で設定されているFeatureのOptionに対してコンフリクトが発生しない値へと変更する。これにより、当該PrintTicketに存在するコンフリクトを解消する。機能2のOptionが二つの場合は、印刷設定画面拡張ユニット205はOptionをコンフリクトの発生しないもう一方のOptionへ変更する。機能2のOptionが複数の値からなる場合は、印刷設定画面拡張ユニット205はOptionをデフォルトのOptionへ変更する。
上記の処理をコンフリクトリストのすべての行に対して実行することでPrintTicketのコンフリクトを解消する。
以上が、印刷装置102のデバイス種別がインクジェットプリンタの場合における、印刷設定画面拡張ユニット205が実行するコンフリクト制御処理の一例である。
図9の説明に戻る。S903のインクジェットのコンフリクト制御処理を終了すると、印刷設定画面拡張ユニット205は、処理をS905へ移す。
S905において、印刷設定画面拡張ユニット205は印刷設定画面へ表示する各FeatureとOptionを取得し、取得した値に基づき印刷設定画面を表示させる。このようにすることで、描画アプリケーション201やOSが表示する印刷設定画面においてコンフリクトする組み合わせの設定値が設定されていたとしても、コンフリクトが解消された状態の拡張印刷設定画面を表示することができる。
図9の処理フロー中のS902で印刷設定画面拡張ユニット205がNoと判断し、処理をS904へ進めた場合、S904で印刷設定画面拡張ユニット205はレーザービームプリンタのコンフリクト制御を実施する。レーザービームプリンタのコンフリクト制御処理に関しては、図11を用いて説明する。
図11のS1101で、印刷設定画面拡張ユニット205は、描画アプリケーション201上でユーザが設定した各FeatureとOptionの組み合わせをPrintTicketの形でOSから取得する。
S1102において、印刷設定画面拡張ユニット205は、共有情報210へ予め格納しておいたレーザービームプリンタ用の禁則情報を取得する。レーザービーム用の禁則情報とは、たとえば「用紙種類:写真用用紙、ステイプル:有効」という設定値の組合せがある。レーザービームプリンタ用の禁則情報は予め拡張アプリケーション204に設定された状態で拡張アプリケーション204が配布されるものとする。
本実施形態では、レーザービームプリンタ用の禁則情報は、拡張アプリケーション204とともに情報処理装置101にダウンロードされる。拡張アプリケーション204のインストールに伴い共有情報210としてメモリに展開され、参照可能となる。本実施形態では、上記のようにレーザービームプリンタ用の禁則情報は拡張アプリケーション204に包含されてダウンロードされるとする。しかしながら、禁則情報を不図示のサーバ上に置き、拡張アプリケーション204がサーバにアクセスし禁則情報を取得するとしても良い。S1102で印刷設定画面拡張ユニット205は共有情報210から禁則情報を取得し、処理をS1103へ進める。
S1103において、印刷設定画面拡張ユニット205は、S1101で取得したPrintTicketに所定のFeatureとOptionが選択されているかを判定する。本実施形態では、所定のFeatureとしてステイプル、もしくはパンチのOptinonが選択されているか否かを判定する。PrintTicketにおいて、ステイプルまたはパンチのOptionが設定されている場合、印刷設定画面拡張ユニット205はS1104へ処理を進める。PrintTicketにおいてステイプル、パンチいずれの設定もなされていない場合、印刷設定画面拡張ユニット205は、図11のフローを終了する。
S1104において、S1103で取得したステイプル、もしくはパンチに対して選択されているOptionの値とコンフリクトするFeature、Optionの組み合わせがPrintTicketに含まれるか否かを判定する。S1104における処理は取得した禁則情報に基づき行われる。
ステイプルまたはパンチの設定とコンフリクトするFeature、Optionの組み合わせがPrintTicketに含まれると判定した場合、印刷設定画面拡張ユニット205は、S1105へ処理を進める。S1104でNoと判定した場合、印刷設定画面拡張ユニット205は、図11のフローを終了する。
S1105において、印刷設定画面拡張ユニット205は、ステイプルもしくはパンチに対して選択されているOptionの値を禁則情報へ抵触しない値へと変更し、処理をS1106へ進める。
S1106において、印刷設定画面拡張ユニット205は、変更後のステイプル、もしくはパンチのOptionをPrintTicketに反映する。
以上がレーザービームプリンタにおいて印刷設定画面拡張ユニット205が実行するコンフリクト制御処理の一例である。なお、本実施形態ではFeatureとしてステイプルとパンチにOptionが設定された場合にコンフリクト制御処理を行うことを想定している。印刷設定画面拡張ユニット205は、接続される印刷装置102が備える各FeatureとFeatureのOptionに関しコンフリクトが発生するかを逐次確認するとしてもよい。そして、コンフリクトが発生する場合、印刷設定画面拡張ユニット205は各Featureの優先順位を元にコンフリクトを解消しても良い。
再度、図9の説明に戻る。S905で、印刷設定画面拡張ユニット205はコンフリクトを解消したPrintTicketを元にして印刷設定画面へ表示する各FeatureとOptionを取得し、取得した値を元に印刷設定画面を表示する。
以上の構成により、印刷設定画面拡張ユニット205は、提供する印刷設定画面の表示時にコンフリクト制御処理を行うことにより、あらかじめコンフリクトを解消した状態で印刷設定画面を表示することが可能となる。これにより、ユーザにとっては印刷が失敗してしまう、もしくは、印刷装置102によってコンフリクトを解消するためにOptionが変更されるなどして印刷結果が意図しないものとなる可能性を事前に防ぐことが可能となる。ユーザにとっては印刷の利便性向上が期待でき、インクやトナーの浪費を防ぐこともできる。
また、本実施形態では、印刷機能拡張ユニット207がデバイス種別を判定し、作成するコンフリクトリストの作成処理をデバイス種別に応じて切り替える。これにより、情報処理装置101に接続された印刷装置102のデバイス種別に応じた禁則処理が可能となる。また、印刷設定画面拡張ユニット205がデバイス種別に応じて実施するコンフリクト制御処理を切り替えることによって、返却する情報が異なるデバイスの種別に応じた、適切な方法でコンフリクトを解消することが可能となる。すなわち、本実施形態においては、1つの拡張アプリケーション204によって、接続された印刷装置102に最適な印刷機能拡張と印刷設定画面の提供を実現することができる。
なお、本実施形態においては、印刷設定画面拡張ユニット205が拡張印刷設定画面の表示を開始するタイミングで図9に記載の処理を実行するとして説明した。上記以外のタイミングにおいて図9に記載の処理を実行するとしてもよい。たとえば、拡張印刷設定画面においてユーザが設定値を変更する度に、図9に記載の処理を行うとしてもよい。その時は、ユーザから設定値の変更を受け付けた後、変更後の設定値について図9に記載の処理を実行する。なお、拡張印刷設定画面が開かれている間は、拡張印刷設定画面上で設定された設定値はすぐにはPrintTicketに書き込まれず、拡張アプリケーション204が参照可能なメモリ領域に記憶される。印刷設定画面拡張ユニット205は、図10のS1001、または、図11のS1101において、PrintTicketの代わりに当該メモリ領域から変更後の設定値を取得する。以降の処理は図10、図11と同様である。変更後の設定にコンフリクトする設定値の組合せが含まれている場合、優先度の低い設定項目の設定値を変更し、コンフリクトを解消する。この時にいずれの設定項目の設定値を変更したかユーザがわかる様に拡張印刷設定画面に表示をするとしてもよい。
図3(c)は印刷装置102がインクジェットプリンタであり、ユーザが拡張印刷設定画面上で「用紙種類:写真用紙、両面印刷:有効(長辺とじ)」と設定しようとした場合に表示される画面である。両面印刷の設定が有効から無効に変更され、「設定値を変更しました」というメッセージが表示される。このようにすることでユーザに設定値の変更があったことを知らせることができる。なお、印刷設定画面拡張ユニット205が拡張印刷設定画面の表示を開始したときに、コンフリクトを解消した場合に当該メッセージの表示を行ってもよいし、行わなくてもよい。
このあと、描画アプリケーション201またはOSが提供する印刷設定画面において印刷指示がなされた場合の動作について以下に記載する。
描画アプリケーション201またはOSの印刷設定画面において印刷指示がなされると、描画アプリケーション201は描画データを生成し、印刷データ生成ソフトウェア202に当該描画データと印刷設定が入力される。印刷データ生成ソフトウェア202は、描画アプリケーション201から受信した印刷設定にコンフリクトする設定値の組合せが設定されているか否かを判定する。当該判定は、後述するPDC203に記述された禁則情報と描画アプリケーション201から受信した印刷設定を比較することで行われる。描画アプリケーション201から受信した印刷設定にコンフリクトする設定値の組合せが含まれている場合、組み合わせに含まれる少なくとも1つの設定値を変更することでコンフリクトを解消する。
印刷データ生成ソフトウェア202は、描画データに基づきPDLデータを生成する。本実施形態では、印刷データ生成ソフトウェア202は、PDFデータまたは所定のフォーマットのラスター画像データを生成する。
生成されたPDLデータと印刷設定は印刷データ編集ユニット208を経由して、印刷装置102に送信される。
上記の説明では、印刷データ生成ソフトウェア202がPDLデータの生成、印刷設定に禁則情報に一致する設定値が含まれるか否かの判定を行った。印刷データ編集ユニット208がPDLデータの生成、印刷設定に禁則情報に一致する設定値が含まれるか否かの判定を行うとしてもよい。この場合、描画アプリケーション201が印刷指示を受け付けると、スキップ制御ユニット206に通知が入力される。スキップ制御ユニット206は、印刷データ生成ソフトウェア202にPDLデータの生成処理のスキップを指示する。描画アプリケーション201は、描画データと印刷設定を印刷データ生成ソフトウェア202は受け取った描画データと印刷設定を変換せずに印刷データ編集ユニット208へと送信する。印刷データ編集ユニット208は、受信した描画データと印刷設定に基づき、PDFデータまたは所定のフォーマットのラスター画像データを生成する。このとき、印刷データ編集ユニット208は共有情報210に記憶されているコンフリクトリストを参照し、印刷データ生成ソフトウェア202から受信した印刷設定に禁則情報に一致する設定値の組合せが含まれているか否かを判定する。禁則情報に一致する設定値の組合せが含まれている場合、禁則情報で指定される機能の優先順位が低い機能の設定値を変更し、コンフリクトを解消する。PDLデータと印刷設定は印刷装置102に送信される。
<印刷機能拡張ユニットによるPDCレベルでのコンフリクト処理>
次に、印刷機能拡張ユニット207が行うPDC203に対するコンフリクト編集処理について説明する。なお、本実施形態に記載の無い構成に関しては、実施形態1と同等の構成であり、説明を省略する。
実施形態1で前述した通り、印刷装置102において同時に設定することのできない二項目間のFeatureとOption値の組み合わせは複数存在する。しかしながら、印刷データ生成ソフトウェア202が生成する印刷装置102のPDC203に記載されている禁則情報は限定的である。本来設定不可とすべきOption値の組み合わせが指定されて印刷装置102への印刷が行われた場合、印刷装置102が予期せぬ動作を起こす可能性がある。そのため、印刷装置102のPDC203には、禁則情報として、本来設定不可とすべきOption値の組み合わせが記載されることが望ましい。
ここで、図14を用いて説明する。図14は、印刷データ生成ソフトウェア202が生成するPDC1401を表したものである。印刷データ生成ソフトウェア202は、印刷装置102から構成情報を取得する。この時にコンフリクトする設定値の組合せを印刷装置102に問い合わせることが可能である。印刷データ生成ソフトウェア202は、印刷装置102からコンフリクトする設定値の組合せを含む構成情報を取得し、取得した構成情報に基づきPDCを更新する。図14は更新後のPDC1401である。
PDC1401には、印刷装置102で使用できるFeatureやOptionなどが記述されている。その中の情報1402は、記載した二項同士を同時に指定した印刷を禁止するようにOSに制御させるための禁則情報である。PDC1401の例では、メディアとしてPhotographic(写真用紙)、給紙口として、Main(メイントレイ)を指定した印刷はOSにより禁止されることを示している。なお、PDC1401に記載した情報はあくまで一例であって、実際にはその他の禁則情報が記載されても良い。
PDC1401上に禁則情報を書き込むことによって、OSがPDCに則ってコンフリクト制御を行う。そのため、前述の印刷設定画面拡張ユニット205が起動する前の段階で、OSによってコンフリクトが解消され、PrintTicketが生成されることが期待できる。
次に図12を用いて拡張アプリケーション204がインクジェットプリンタのPDC禁則情報を編集するフローについて説明する。図12の編集フローは、まず図4のPDC禁則情報編集フローの全体構成におけるS405、S406において、印刷機能拡張ユニット207によってデバイス種別を判定する。デバイス種別に応じたコンフリクト処理が実行された後、S408、もしくはS410でPDCコンフリクト編集処理が実行されることにより開始される。
インクジェットプリンタとレーザービームプリンタとでは後述する背景によりPDCコンフリクト編集処理が異なる。ここでは、まずインクジェットプリンタのPDC編集処理について説明する。
図12の処理フローのS1201で、印刷機能拡張ユニット207は、共有情報210からコンフリクトリストを取得し、S1202へ処理を移す。
S1202からS1203では、印刷機能拡張ユニット207は取得したコンフリクトリストの各行に対して処理を実行する。
S1202において、印刷機能拡張ユニット207は、取得したコンフリクトリストの1行の情報につき、図14のPDC1401に既に記載のある禁則情報と一致するか否かを判定する。S1202がYesの場合、印刷機能拡張ユニット207はS1203へ処理を進める。Noの場合、印刷機能拡張ユニット207はコンフリクトリストの該当する行の情報をPDC1401に禁則情報として追加する必要はないと判断し、図12の処理を終了する。
S1203において、印刷機能拡張ユニット207はOSから取得したPDC1401を編集する。印刷機能拡張ユニット207は、印刷装置102から取得したmedia-col-database属性を元に作成したコンフリクトリストの禁則情報、もしくは機種共通ルールをPDC1401に追加する。
印刷機能拡張ユニット207がS1202からS1203までの処理を、取得したコンフリクトリストの1行ずつに対し繰り返し実行する。それにより、拡張アプリケーション204の持つ禁則情報をPDC1401へ追加し、OSのコンフリクト制御に使用することを可能とする。
印刷機能拡張ユニット207が、PDC1401に対して、図13の処理を実行した後のPDCの例を図15のPDC1501に示す。PDC1401に対して、PDC1501には、追加の禁則情報1502が追加されていることがわかる。
以上の処理によって、デバイス種別がインクジェットプリンタである場合に、印刷データ生成ソフトウェア202の生成するPDCに対して、拡張アプリケーション204が持つ禁則情報の追加を実現することができる。
次に、デバイス種別がレーザービームプリンタである場合、3つ以上のFeatureのOption間で印刷可能な組み合わせが決められている。すなわち、禁則情報は3つ以上のFeatureのOptionの組み合わせで構成される。そのため、禁則情報の数がインクジェットプリンタと比べて多くなる。
図16はデバイス種別レーザービームプリンタの場合に印刷データ生成ソフトウェア202が生成するPDCの一例1601である。レーザービームプリンタはインクジェットプリンタよりも禁則情報の数が多く、処理に時間がかかるという問題が生じる。
図13は、デバイス種別がレーザービームプリンタである場合に印刷機能拡張ユニット207が実施するPDC編集処理の詳細フローを示す図である。
S1301で、印刷機能拡張ユニット207は、OSから取得した印刷装置102のPDC1601に記載された禁則情報1602を削除する。
図17は、印刷機能拡張ユニット207が禁則情報1602を削除した編集後のPDC1701である。
以上が、図4の410のレーザービームプリンタのPDCコンフリクト編集処理の詳細である。
拡張アプリケーション204は、前述の図5において判断したデバイス種別に基づき、PDCコンフリクト編集処理を切り替えて実行する。デバイス種別がインクジェットプリンタである場合、拡張アプリケーション204は、図12の処理で禁則情報をPDC203に追加する。他方、デバイス種別がレーザービームプリンタである場合、拡張アプリケーション204は、図13の処理で禁則情報をPDC203から削除する。この処理によって、拡張アプリケーション204は、接続された印刷装置102、並びにそのデバイス種別に応じて最適な機能拡張処理を実現することができる。さらには、印刷装置102がインクジェットの場合には、PDC203に印刷装置102から取得した情報を元に禁則情報を追加することで、OSのコンフリクト制御処理を拡張することも可能である。
本実施形態では、デバイス種別としてインクジェットプリンタとレーザービームプリンタの2種類で処理を切り替える構成としているが、さらに複数のデバイス種別を判断し、判断したデバイス種別に応じて処理を切り替えても良い。以上の構成により、本実施形態における拡張アプリケーション204は、1つの拡張アプリケーション204によって、接続された印刷装置102に最適な機能拡張処理を実現することができる。
<PDCによるコンフリクト制御の例>
以上の通りPDCを編集することによって、OSはPDCに記載された二項目間の禁則情報に基づいてコンフリクト制御処理を行う。このため、描画アプリケーション201がユーザから印刷要求を受けたときに設定されている印刷設定にコンフリクトする2つの設定値の組合せが含まれていたとしても、PDC203を参照することで当該コンフリクトを解消することが可能となる。すなわち、OSがPrintTicketに記述されたFeatureとOptionの値とPDC203に記述された禁則情報を参照し、コンフリクトに該当する設定値の組合せが設定されているか否かを判定する。このようにすることで、拡張アプリケーション204へコンフリクトの解消されたPrintTicketを渡すことができる。
また、このようにPDCを編集することにより、描画アプリケーション201によっては、PDC203を元に生成されるPrintCapabilitiesを参照し、コンフリクトの発生する組み合わせを同時に選択できないようにすることも可能である。
描画アプリケーション201の表示する画面を、図18を用いて説明する。図18の画面1801は、本実施形態では、Microsoft社のWindowsが標準で提供しているフォトビューワーを一例として挙げる。
図18(a)の1802は、用紙サイズを選択するためのコントロールアイテムであり、用紙サイズ:A4が選択されている。また、1803は用紙の種類を選択するためのコントロールアイテムであり、用紙の種類:写真用紙が選択されている。図18(a)ではコンフリクトが発生していない場合の一例である。なお、図18のコントロールアイテム1804を選択した場合、図18(b)の通り、印刷の設定に関するダイアログ1805が表示される。ダイアログ1805に配置されたコントロールアイテム1806をユーザが選択した場合、OSによって拡張アプリケーション204が呼び出され、拡張アプリケーション204の備える印刷設定画面拡張ユニット205の提供する拡張印刷設定画面が表示される。
一方、図18(c)の画面1807はコンフリクトが発生した場合の画面を表した図である。画面1807のコントロールアイテム1808では、用紙サイズ:多目的トレイが選択されている。この時、画面1807のコントロールアイテム1809はコントロールを展開した際の表示状態を示している。ユーザは展開されたリストの中から用紙の種類を選択可能である。画面1807のコントロール1809では、用紙サイズで多目的トレイが選択されているため、用紙サイズ:多目的トレイとコンフリクトが発生しうる用紙の種類はあらかじめ展開されたコントロールの選択肢に表示されない。このようにすることで、ユーザが描画アプリケーションで印刷要求を発行する段階において、コンフリクトの発生する組み合わせを意図せずに選択してしまうことを防ぐことができる。この制御方法について、説明する。描画アプリケーション201は、ユーザが設定値を変更する設定項目を選択したことに基づき、選択された設定項目に対応するFeatureを選択する。描画アプリケーション201は、PDC203の禁則情報を読み出す。読み出した禁則情報から、ユーザが選択した設定項目に対応するFeatureを含む禁則情報を特定する。特定した禁則情報のうち、ユーザが選択したFeatureと異なるFeatureのOptionを参照し、現在設定されているOptionと一致するOptionの禁則情報を特定する。描画アプリケーション201は、特定した禁則情報に基づき、ユーザが選択した設定項目に対応するFeatureで選択することのできるOptionから、現在の設定とコンフリクトするOptionを除く。描画アプリケーション201は、残ったOptionを印刷設定画面にユーザにより選択された設定項目の選択肢として表示する。
このようにすることで、ユーザが印刷設定画面を操作して設定を変更しても、コンフリクトが発生しないように制御することができる。
また、上記以外にも次のような方法でPDCに記述された禁則情報を用いてもよい。たとえば、描画アプリケーション201やOSが表示する印刷設定画面で、ユーザが禁則情報に一致する設定値の組み合わせを設定した場合に、一方での設定値をデフォルトの値に変更することで禁則を解消するとしてもよい。また、禁則が発生していることをユーザに通知するメッセージ表示をおこなうとしてもよい。
<その他の実施形態>
なお、本実施形態においてはインクジェットプリンタのコンフリクトリストを作成するにあたり、インクジェットプリンタで利用可能な設定値の組合せであるmedia-col-databaseを取得した。そして取得したmedia-col-databaseに含まれない設定値の組合せを禁則情報とした。しかしながら、インクジェットプリンタから、禁則情報を取得するとしてもよい。その場合は、インクジェットプリンタから取得した禁則情報をそのままコンフリクトリストに追加する。
また、上述の実施形態では、インクジェットプリンタとレーザービームプリンタでコンフリクトリストの作成処理を変えた。印刷装置の印刷方法にかかわらず同様の方法でコンフリクトリストを生成するとしてもよい。PDCで記述される禁則情報についても、印刷方式にかかわらず同様の方法で編集するとしてもよい。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (10)

  1. 情報処理装置にインストールされ、前記情報処理装置が提供する標準プリンタドライバと紐づけて記憶される印刷設定アプリケーションであって、
    前記情報処理装置のオペレーティングシステムからの通知に基づき、印刷設定画面を介して設定された印刷設定を取得する取得工程と、
    前記取得工程において取得した印刷設定に禁則情報に一致する設定値の組合せが含まれているかを判定する判定工程と、
    前記判定により前記禁則情報に一致する設定値が含まれていると判定された場合、前記禁則情報に一致する設定値の少なくとも1つを他の設定値に変更する変更工程と、
    変更後の前記設定値に基づき、他の印刷設定画面を前記情報処理装置に表示させる制御工程と、を有することを特徴とするアプリケーション。
  2. 前記禁則情報は一つの印刷データに対して設定することができない複数の設定値の組合せを示すことを特徴とする請求項1に記載のアプリケーション。
  3. 前記禁則情報は、印刷装置から取得された情報に基づき特定された情報であることを特徴とする請求項1に記載のアプリケーション。
  4. 前記判定工程は、前記他の印刷設定画面を介して設定された複数の設定値に前記禁則情報に一致する設定値が含まれているかを判定し、
    前記制御工程は、前記他の印刷設定画面を介して設定された複数の設定値に前記禁則情報に一致する設定値が含まれている場合、前記禁則情報に一致する設定値の少なくとも1つの値を変更することを特徴とする請求項1に記載のアプリケーション。
  5. 前記制御工程は、前記他の印刷設定画面を介して設定された複数の設定値に前記禁則情報に一致する設定値が含まれている場合、値を変更した設定項目を通知することを特徴とする請求項4に記載のアプリケーション。
  6. 前記標準プリンタドライバは、複数のベンダのプリンタに対応するプリンタドライバであることを特徴とする請求項1に記載のアプリケーション。
  7. 前記禁則情報は、用紙端まで画像を印刷するフチなし印刷機能に関する禁則情報であることを特徴とする請求項1に記載のアプリケーション。
  8. 前記判定工程は、前記印刷設定に他の禁則情報に一致する設定値の組合せが含まれるかを判定し、
    前記他の禁則情報は、予め前記印刷設定アプリケーションに設定された情報であることを特徴とする請求項1に記載のアプリケーション。
  9. 情報処理装置のオペレーティングシステムが提供する標準プリンタドライバに紐づけて印刷設定アプリケーションがインストールされた情報処理装置であって、
    前記情報処理装置のオペレーティングシステムからの通知に基づき、印刷設定画面を介して設定された印刷設定を取得する取得手段と、
    前記取得手段が取得した印刷設定に禁則情報に一致する設定値の組合せが含まれているかを判定する判定手段と、
    前記判定により前記禁則情報に一致する設定値が含まれていると判定された場合、前記禁則情報に一致する設定値の少なくとも1つを他の設定値に変更する変更手段と、
    変更後の前記設定値に基づき、他の印刷設定画面を前記情報処理装置に表示させる制御手段と、を有することを特徴とする情報処理装置。
  10. 情報処理装置のオペレーティングシステムが提供する標準プリンタドライバに紐づけて印刷設定アプリケーションがインストールされた情報処理装置の制御方法であって、
    前記情報処理装置のオペレーティングシステムからの通知に基づき、印刷設定画面を介して設定された印刷設定を取得する取得工程と、
    前記取得工程において取得した印刷設定に禁則情報に一致する設定値の組合せが含まれているかを判定する判定工程と、
    前記判定により前記禁則情報に一致する設定値が含まれていると判定された場合、前記禁則情報に一致する設定値の少なくとも1つを他の設定値に変更する変更工程と、
    変更後の前記設定値に基づき、他の印刷設定画面を前記情報処理装置に表示させる制御工程と、を有することを特徴とする情報処理装置の制御方法。
JP2022165310A 2022-10-14 2022-10-14 情報処理装置、制御方法およびプログラム Pending JP2024058153A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022165310A JP2024058153A (ja) 2022-10-14 2022-10-14 情報処理装置、制御方法およびプログラム
EP23202614.6A EP4354273A1 (en) 2022-10-14 2023-10-10 Information processing apparatus, control method, and storage medium
US18/486,074 US20240126490A1 (en) 2022-10-14 2023-10-12 Information processing apparatus, control method, and storage medium
CN202311324219.2A CN117891417A (zh) 2022-10-14 2023-10-12 信息处理装置、控制方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022165310A JP2024058153A (ja) 2022-10-14 2022-10-14 情報処理装置、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2024058153A true JP2024058153A (ja) 2024-04-25

Family

ID=88511538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022165310A Pending JP2024058153A (ja) 2022-10-14 2022-10-14 情報処理装置、制御方法およびプログラム

Country Status (4)

Country Link
US (1) US20240126490A1 (ja)
EP (1) EP4354273A1 (ja)
JP (1) JP2024058153A (ja)
CN (1) CN117891417A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6478850B2 (ja) * 2015-07-13 2019-03-06 キヤノン株式会社 情報処理装置、アプリケーションプログラム及び制御方法
JP6983614B2 (ja) 2017-10-16 2021-12-17 キヤノン株式会社 プログラム
JP2019144814A (ja) * 2018-02-20 2019-08-29 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Also Published As

Publication number Publication date
CN117891417A (zh) 2024-04-16
US20240126490A1 (en) 2024-04-18
EP4354273A1 (en) 2024-04-17

Similar Documents

Publication Publication Date Title
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
US20230214162A1 (en) Control method and information processing apparatus
JP7467217B2 (ja) プログラム及び情報処理装置の制御方法
US10795617B2 (en) Information processing apparatus and control method
JP2024052771A (ja) 情報処理装置、制御方法およびプログラム
US11954386B2 (en) Information processing apparatus having enhanced printing functions, controlling method of information processing apparatus, and storage medium
JP2024058153A (ja) 情報処理装置、制御方法およびプログラム
JP2023034958A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
US20240036787A1 (en) Information processing apparatus, method, and non-transitory computer-readable storage medium storing program
US20230251806A1 (en) Storage medium, information processing apparatus, and control method
US11875066B2 (en) Controlling an information processing apparatus to execute an extension application associated with printing data generation software
US20240036775A1 (en) Information processing apparatus and storage medium
JP7422463B2 (ja) プログラム、及び情報処理装置
CN118426714A (zh) 信息处理装置、方法和非暂态计算机可读存储介质
US20220276810A1 (en) Information processing apparatus, control method thereof, and storage medium
JP2024018088A (ja) 情報処理装置、情報処理方法およびプログラム
JP2024018087A (ja) 情報処理装置、情報処理方法およびプログラム
JP2024018086A (ja) 情報処理装置、情報処理方法およびプログラム
JP2004213185A (ja) 印刷制御方法及び印刷制御装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213