JP6587515B2 - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents

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

Info

Publication number
JP6587515B2
JP6587515B2 JP2015221945A JP2015221945A JP6587515B2 JP 6587515 B2 JP6587515 B2 JP 6587515B2 JP 2015221945 A JP2015221945 A JP 2015221945A JP 2015221945 A JP2015221945 A JP 2015221945A JP 6587515 B2 JP6587515 B2 JP 6587515B2
Authority
JP
Japan
Prior art keywords
paper
size
setting
user
conflict
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.)
Active
Application number
JP2015221945A
Other languages
English (en)
Other versions
JP2016146167A (ja
JP2016146167A5 (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 US15/001,801 priority Critical patent/US10346110B2/en
Publication of JP2016146167A publication Critical patent/JP2016146167A/ja
Publication of JP2016146167A5 publication Critical patent/JP2016146167A5/ja
Application granted granted Critical
Publication of JP6587515B2 publication Critical patent/JP6587515B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷システム、印刷システムの制御方法、及びプログラムに関し、特に、プリンタドライバにおいて、ユーザが設定する任意の印刷設定を制御する印刷システムに関する。
Microsoft(登録商標)のWindows(登録商標)8.1等では、V4プリンタドライバと呼ばれる新しいアーキテクチャで動作するプリンタドライバが導入された。V4プリンタドライバは、V3プリンタドライバのアーキテクチャとして提供されていたXPS(XML Paper Specification)プリンタドライバの後継となるアーキテクチャである。またXPS文書を利用した印刷パスを利用している。
このXPS印刷パスにおいて、印刷物の体裁を決定するために利用されるものがPrint Capabilitiesと呼ばれるXML形式で記述された印刷機能情報と、Print Ticketと呼ばれるXML形式で記述された印刷設定情報である。V4プリンタドライバは、GPD(Generic Printer Description)と呼ばれる印刷設定定義ファイルを同梱している。このGPDを含んだプリンタドライバをOS(Operating System)にインストールすることで、ユーザに対してPrint CapabilitiesやPrint Ticketを利用した印刷設定変更機能を提供することができる。
この印刷設定変更機能には、デバイスが同時に実行できない印刷設定を制御する「禁則」と呼ばれる機能が備わっている。例えば、「はがき」の用紙サイズに対して「両面印刷」ができないデバイスに対応したプリンタドライバの場合、プリンタドライバは、ユーザに対してこれらの設定を同時に設定させない制御を行う必要がある。OSが提供する標準の印刷設定UI(User Interface)は、この「禁則」の定義をGPDファイルに記述することで、禁則処理を実行することができる。
近年、デバイス側の機能が複雑化することにより、プリンタドライバの禁則処理も複雑化してきている。以前からユーザが用紙サイズの幅と高さを任意で設定する「ユーザ定義サイズ」で印刷することは可能だった(例えば、特許文献1参照)。
V4プリンタドライバは、OSが提供する標準の印刷設定UIに加え、従来の各ベンダーが用意する独自のデスクトップ用の印刷設定UIも表示することが可能である。さらに、Windows(登録商標)8以降のOSに搭載されている「スタート画面」と呼ばれるタッチで操作し易いタッチパネル環境専用の印刷設定UIもベンダー独自のUIを表示することも可能となった。上述したデスクトップ用の印刷設定UIも、タッチパネル環境専用の印刷設定UIも同じ印刷設定なので、それぞれの禁則処理においてはできるだけ共通化することが望ましい。元々、V4プリンタドライバはGPDファイルにて、禁則情報を定義しているので、どちらのUIもこの禁則情報して禁則処理を行うことで、それぞれのUIで禁則処理の統一化が図れる。
特開2004−326040号公報
しかしながら、特許文献1において、その「ユーザ定義サイズ」において、特定の幅と高さでは「両面印刷」が可能だが、それ以外のサイズでは不可能となる場合がある。その印刷をユーザが確実に行えるようにするには、プリンタドライバの印刷設定UIで、ユーザが設定した用紙サイズの幅と高さに応じて「両面印刷」の禁則処理を行う必要がある。
また、OSが提供するGPDファイルに記述する禁則の標準フォーマットでは、昨今の禁則処理の複雑化に追従できていない。上述したように、同じ「ユーザ定義サイズ」でも用紙サイズの幅と高さによって、ある機能が使用できないという禁則情報は定義できない。その結果、例えば、ユーザが設定したユーザ定義サイズの幅と高さによっては印刷設定UIで両面印刷が設定できても、印刷した結果、両面印刷できなかったという状況が発生する。
本発明は、上記課題を鑑みて、ユーザ任意に設定した用紙サイズ等の印刷設定に対し、禁則処理を行うことで、適切な印刷が可能な印刷システムを提供することを目的とする。
上記課題を解決するために、本発明の情報処理装置は、ユーザによってサイズが指定されるユーザ定義サイズの設定を受け付け、ジョブに対応付けるべき印刷設定に設定する設定手段と、前記印刷設定に含まれる用紙サイズがユーザ定義サイズであるか否かを判定する判定手段と、前記判定手段により前記用紙サイズが前記ユーザ定義サイズであると判定された場合、前記ユーザ定義サイズの幅と高さに基づいて、複数の異なる定形サイズの候補の中から、代替となる定形サイズを決定する決定手段と、前記決定手段によって決定した定形サイズと、ジョブに対応付けるべき印刷設定と、互いに競合する印刷設定の組み合わせを示すコンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているかどうかを判断する判断手段と、前記判断手段によってコンフリクトが発生していると判断された場合に、前記ジョブに対応付けるべき印刷設定のうち少なくとも1つを変更することで前記印刷設定のコンフリクトを解消させる制御手段と、を有することを特徴とする。
本発明によれば、ユーザ任意に設定した用紙サイズ等の印刷設定に対し、禁則処理を行うことで、適切な印刷が可能な印刷システムを提供することができる。これにより、V4プリンタドライバにおいて、ユーザ定義サイズの幅、高さのサイズごとに適切な禁則処理が行われ、ユーザがユーザ定義サイズの任意の幅、高さに応じて、各機能のできる/できないが把握できるようになる。
一般的なコンピュータを用いた印刷システムのブロック図である。 ドライバー印刷システムのブロック図である。 プリンタエクステンションが制御する設定画面の一例を示す図である。 禁則処理を示すフローチャートである。 ユーザ定義サイズのカテゴリ分けのマトリックス図である。 ユーザ定義サイズのカテゴリ分けの一例を示す表である。 ユーザ定義サイズのカテゴリを取得する処理のフローチャートである。 GPDファイルの記載例を示す図である。 DriverPropertyBagの記載例を示す図である。 第2実施形態に係るGPDファイルの記載例を示す図である。 ユーザ定義サイズのカテゴリ分けの一例を示す図である。 第3実施形態に係る禁則処理を示すフローチャートである。 DriverPropertyBagの記載例を示す。 第4実施形態に係るGPDファイルの記載例を示す図である。 第5実施形態に係る禁則処理を示すフローチャートである。 第5実施形態に係るQueuePropertyBagの記載例を示す。 DriverPropertyBagの記載例を示す。
以下、本発明を実施するための最良の形態について図面などを参照して説明する。
(第1実施形態)
図1は、本実施形態に係る一般的なコンピュータを用いた印刷システムシステムのブロック構成図を示す。CPU101は、主記憶装置102のROM1021またはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022は、CPU101が各種処理を行う際のワークエリアとしても使用される。本実施形態における各コンポーネントの処理は、全てRAM1022に読み込んで動作する。
補助記憶装置105は、アプリケーション1051やプリンタドライバ1052、オペレーティングシステム(OS)1053等を記録する。プリンタドライバ1052は、印刷機能を持つデバイスに対して、印刷指示を行う。キーボード1031やマウス・タッチパネルなどに代表されるポインティングデバイス1032などの入力機器は、入力I/F103を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニタ1041やプリンタ1042などの出力機器に対してデータを出力する。プリンタ1042とは直接接続されるローカルI/Oのみならず、通信I/F106を通じて接続されるネットワーク1061を通して接続されていてもよい。また、共通データシステムバス107は、各I/Fやモジュール間でデータのやりとりを行う。
図2は、本実施形態に係るドライバー印刷システムのブロック構成を示す図である。本実施形態に係るドライバー印刷システムは、XPSファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ドライバー印刷システムは、オペレーティングシステム1053上で動作している。オペレーティングシステム1053は、プリントマネージャ(スプーラ)218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニタ219を含む。ここで、GDIとは、プリンタの印刷イメージの生成を行うグラフィックスコンポーネントであり、GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を有する。フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。
ポートモニタ219は、デバイスにアクセスするプリントマネージャ218とプリンタドライバ間で通信を制御することができ、プリンタドライバは、ポートモニタ219を経由して印刷処理を行う。プリンタドライバ1052は、GDItoXPS変換モジュール207、コンフィギュレーションモジュール208、フィルタパイプラインマネージャ212は、を含む。本実施形態では、プリンタドライバ1052は、オペレーティングシステム1053から提供されているモジュールという位置づけである。コンフィギュレーションモジュール208は、プリンタドライバが提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができる。印刷設定編集モジュール2081は、Constraint Scriptと呼ばれるスクリプト言語で記載される。また、プリンタドライバが提供するDriverPropertyBag2082やQueuePropertyBag2083を利用して印刷設定情報を編集する。ここで、DriverPropertyBag2082とは、プリンタの機種依存情報として利用するためのデータ群であり、QueuePropertyBag2083とは、プリントキューに紐づいたデータ群が保持された領域を指す。
DriverPropertyBag2082は、ドライバーパッケージ内に存在するプリンタの機種依存データであり、プリンタドライバインストール後にOS1053内の特定の領域に読み取り専用としてデータ群が保持される。QueuePropertyBag2083は、Key−Valueペアのxml定義ファイルをOS1053に登録することで利用することが可能であり、Valueに関して一定の権限上で編集が可能である。また、印刷設定定義ファイルであるGPDにもQueuePropertyBag2083の定義を記載することができる。プリンタドライバ1052とフィルタパイプラインマネージャ212の各フィルタは、図1に示す補助記憶装置105にプリンタドライバ1052として格納されている。GDI印刷アプリケーション201とXPS印刷アプリケーション202は、図1に示す補助記憶装置105にアプリケーション1051として格納されている。ユーザは、キーボード1031やタッチパネル/マウスなどに代表されるポインティングデバイス1032などといった入力装置を使用して、出力装置のモニタ1041に映し出されたアプリケーション1051から印刷する。このアプリケーションとは、GDI印刷アプリケーション201(以下、GDIアプリと略す)、またはXPS印刷アプリケーション202(以下、XPSアプリと略す)を指す。プリンタの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで印刷処理が実行される。
まず、印刷したいプリンタ1042の選択をする。ユーザから見るとプリンタ1042の選択は、印刷を実行するプリンタ1042に対応したプリンタドライバ1052を選択することと同義である。プリンタドライバ1052の選択には、不図示のプリントキューを利用する。次に、印刷設定を作成する。印刷設定は、まず、アプリケーション1051が印刷設定用のメモリ領域をRAM1022に確保する。そして、アプリケーション1051は、プリンタドライバ1052のコンフィギュレーションモジュール208を呼び出して、印刷設定データを作成して格納する。なお、アプリケーション1051は、印刷設定データとしてユーザ定義サイズを指定することも可能である。GDIアプリ201では、印刷設定データとしてバイナリのDEVMODE構造体203を用い、XPSアプリ202では、マークアップ言語のXMLで記載されたPrint Ticket204を用いる。DEVMODE構造体203は、オペレーティングシステム1053が定義する標準領域とプリンタドライバ1052が独自で定義する拡張領域を有する。Print Ticket204は、XML形式で記述された印刷設定情報で、標準領域と拡張領域は、名前空間によって記載が分かれている。
また、印刷設定データには、機種固有の情報も含まれているので、コンフィギュレーションモジュール208は、機種依存ファイル209を利用して、印刷設定データを作成する。このDEVMODE構造体203またはPrint Ticket204が印刷設定を保持しており、アプリケーション1051が直接、値を書き換えることで印刷設定を変更する。機種依存ファイル209は、GPDと呼ばれる印刷設定定義ファイルを指し、後述の図8に示すようにテキストベースで記載されている。さらに、機種依存ファイル209には、「禁則」の定義を記載することができる。ユーザが印刷設定を変更することによって、GPDに記載された無効な組み合わせになった場合、プリンタドライバ1052は、定義された禁則に従い、優先順位が最も低い機能を使用しないように強制的に設定を変更する。このように印刷設定の無効な組み合わせが指定された際に行われる無効な組み合わせを解消するような設定の変更処理を禁則処理と呼ぶ。例えば、Microsoft(商標登録)が定義した記述法に基づき、InvalidCombinationの項目に、同時に設定できない印刷設定の情報を記載することで、ユーザに対して禁則機能を提供する。ここで、ユーザに同時に設定できない印刷設定とは、デバイス1032の機能として提供できないものの他に、意図的にユーザに使用してほしくない項目も含まれる。プリンタドライバ1052は、上記手段を利用して「禁則」を実現する手段と、印刷設定編集モジュール2081を利用して「禁則」を実現する手段の2通り存在する。本実施形態では、GPDのInvalidCombinationを利用して実現する禁則について記述することとする。プリンタエクステンション210は、後述の図3に示す印刷設定画面を介して、印刷設定の変更をする機能を有する。また、プリンタドライバ1052と紐づく印刷設定用のアプリケーションとしてCPU101により実行される。
図3は、本実施形態に係るプリンタエクステンション210が制御する設定画面(表示部)の一例を示す図である。本実施形態では、まず、ユーザがユーザ定義サイズを設定する方法として、原稿サイズに「原稿/出力用紙サイズ指定」を選択する。その次に表示された「原稿/出力用紙サイズ指定」の詳細ダイアログボックス301において、サイズの幅と高さ302に所望するサイズを入力することで、ユーザ定義サイズを設定することが可能となる。プリンタエクステンション210は、ユーザからユーザ定義サイズが設定されると、その用紙サイズの幅と高さを取得して使用できない機能を判定し禁則する。例えば、設定されたユーザ定義サイズの幅と高さに応じて、使用できない両面印刷機能を禁則し、印刷設定画面の「両面印刷」303をチェックオフでグレイアウトし、設定ができないようにしてもよい。
図4は、本実施形態に係る禁則処理を示すフローチャートである。特に明示しない限り、本実施形態は、プリンタエクステンション210が行う処理である。プリンタエクステンション210は、RAM1022にロードされ、CPU101によって実行される。
まず、印刷設定を取得する(ステップS301)。禁則処理に係る印刷設定を取得する方法としては、主にコンフィギュレーションモジュール208から呼び出される際にパラメータとして渡されてよい。次に、取得した印刷設定から用紙サイズの情報を取得する(ステップS302)。取得した用紙サイズの情報から、その用紙サイズがドライバーの定義している固定サイズの定形サイズか、ユーザが用紙サイズの幅、高さを設定するユーザ定義サイズかを判定する(ステップS303)。判定する方法として、例えば、用紙サイズの設定値が「ユーザ定義サイズ」専用の値か否かで判定する。また、ドライバーの定義している固定の定形サイズ以外の値か否かで判定してもよい。なお、ユーザ定義サイズは前述のとおり、アプリケーション1051が指定するか、又はプリンタエクステンション210が制御する設定画面により指定され、ステップS301の印刷設定の一部としてプリンタエクステンション210に渡される。判定した結果、用紙サイズが「ユーザ定義サイズ」である場合(Yes)、DriverPropertyBag2082からユーザ定義サイズテーブルを取得する(ステップS304)。ここで、ユーザ定義サイズテーブルとは、そのデバイス1032がサポートする用紙サイズ内の幅、高さのサイズに応じてカテゴリ分けを行っている変換テーブルである。詳細については後述する。ユーザ定義サイズテーブルを取得し、印刷設定から取得したユーザ定義サイズの幅と高さから、該当するユーザ定義サイズのカテゴリを決定する(ステップS305)。次に、決定したユーザ定義サイズのカテゴリを印刷設定に設定し直し(ステップS306)、その印刷設定を用いてGPDの禁則処理を行う(ステップS307)。
次に、ユーザ定義サイズテーブル(用紙サイズテーブル)について説明する。図5は、本実施形態に係るユーザ定義サイズのカテゴリ分けのマトリックスの一例を示す図である。本実施形態では、用紙サイズの幅方向、送り方向でサイズに応じて不定形0−1から不定形8までのカテゴリ分けをして、そのカテゴリ別に印刷の機能のサポート状況を示している。例えば、用紙サイズの幅が100.0〜330.2(単位:mm)の間で、かつ高さが487.8〜762.0(単位:mm)の間であれば不定形サイズのカテゴリが「不定形8」となり、「不定形8」では、両面印刷を非サポートとしている。そのマトリックス図を一覧の表にしたのが図6に示すユーザ定義サイズテーブルである。図6に示す表から、例えば、「不定形3−3」は、パンチは非サポートだが、ステイプルはサポートということがわかる。
図7は、本実施形態に係るユーザ定義サイズのカテゴリを決定する処理のフローチャートである。この処理は、図6に示した、ユーザ定義サイズテーブルを取得し、印刷設定から取得したユーザ定義サイズの幅と高さから、該当するユーザ定義サイズのカテゴリを決定する処理(ステップS305)を詳細に説明するものである。
まず、図4のステップS302で取得した用紙サイズの情報からユーザ定義サイズの幅と高さの情報を取得する(ステップS501)。なお、該ユーザ定義サイズを便宜上「不定形A」とする。また、図4のステップS304で取得したユーザ定義サイズテーブルから、最初のユーザ定義サイズのカテゴリ情報を取得する(ステップS502)。なお、現在取得したカテゴリのユーザ定義サイズを便宜上「不定形B」とする。これより、不定形Aの用紙サイズがどのカテゴリに入るのかを調べる処理である。
次に、不定形Aの幅が不定形Bの幅の最小サイズ以上であるか否かを判定する(ステップS503)。不定形Aの幅が不定形Bの幅の最小サイズ以上である場合(Yes)、ステップS504に進み、不定形Aの幅が不定形Bの幅の最小サイズ未満である場合(No)、ステップS508に進む。
次に、不定形Aの幅が不定形Bの幅の最大きいサイズより小さいか否かを判定する(ステップS504)。不定形Aの幅が不定形Bの幅の最大きいサイズより小さい場合(Yes)、ステップS505に進み、不定形Aの幅が不定形Bの幅の最大きいサイズ以上である場合(No)、ステップS508に進む。
次に、不定形Aの高さが不定形Bの高さの最小サイズ以上であるか否かを判定する(ステップS505)。不定形Aの高さが不定形Bの高さの最小サイズ以上である場合(Yes)、ステップS506に進み、不定形Aの高さが不定形Bの高さの最小サイズ未満である場合(No)、ステップS508に進む。
そして、不定形Aの高さが不定形Bの高さの最大きいサイズより小さいか否かを判定する(ステップS506)。不定形Aの高さが不定形Bの高さの最大きいサイズより小さい場合(Yes)、ステップS507に進み、ユーザ定義サイズのカテゴリを採用する(ステップS507)。一方、不定形Aの高さが不定形Bの高さの最大きいサイズ以上である場合(No)、ステップS508に進む。
そして、ユーザ定義サイズテーブルの次のカテゴリのユーザ定義サイズの情報を参照する(ステップS508)。次に、全てのカテゴリを参照したか否かを判定する(ステップS509)。すなわち、ユーザ定義サイズテーブルの次のカテゴリがあるか否かを判定する。ユーザ定義サイズテーブルの次のカテゴリが無く、全てのカテゴリを参照した場合(Yes)、ユーザ定義サイズのデフォルトのカテゴリを採用する(ステップS510)。一方、ユーザ定義サイズテーブルの次のカテゴリがある場合(No)、ステップS503に戻って再度処理を実行する。
図8は、本実施形態に係るGPDファイルの記載例を示す図である。まず、「Feature」に「CostomPaperSize」501を定義する。そして、図6に記載したカテゴリの分だけOptionを定義する。本実施形態では、例えば、図6のカテゴリに示した「不定形8」は、GPDファイルでは、「Option:8」502となる。また、禁則処理を定義する情報は、「InvalidCombination」503に示すように「不定形8」と「両面印刷(長辺とじ、短辺とじ)」が同時に設定できないことを意味している。
図9は、本実施形態に係るDriverPropertyBag2082の記載例を示す図である。DriverPropertyBag2082には、用紙サイズの幅と高さのそれぞれ最大値と最小値およびデフォルト値を記述する。たとえば、ユーザ定義サイズの用紙サイズが以下の条件を満たす場合、不定形サイズのカテゴリが「“name”:“ns0000:8”」601となる。すなわち、「name」が「ns0000:8」である不定形8となる。
・幅の最小値(MinBasisWidth602)が100.0から最大値(MaxBasisWidth603)330.2(単位:mm)の間にある。
・高さの最小値(MinBasisLength604)は、487.8から最大値(MaxBasisLength605)762.0(単位:mm)の間にある。
このように、DriverPropertyBag2082で任意の設定から一意に決定したカテゴリをOptionに変換し、GPDファイルの禁則処理を参照することによって、任意の数値でもOSの標準フォーマットを使用した禁則が行われるようになる。その結果、ユーザは、ユーザ定義サイズの各サイズに応じたサポート機能をプリンタドライバで事前に知ることができる。
(第2実施形態)
第1実施形態では、「ユーザ定義サイズ」のサイズに応じてカテゴリ分けをし、それぞれのカテゴリのOptionに応じた禁則処理を行うことができた。しかしながら、全てのカテゴリの禁則処理を記述すると膨大の量になってしまう。これは、OS1053が保障する禁則処理の最大行数が約10000行であるため、すぐに上限に達してしまい、その結果、全てを記述することができないからである。
そこで、本実施形態では、禁則情報を減らすことなく、OS1053が正しく動作し、禁則処理の全てを記述することができるようにする。図10は、本実施形態に係るGPDファイルの一例を示す図である。図10に示すように、「Costom Paper Size」の「Feature」を「♯Ifdef:」701と「#Endif:」702で挟む。
このような記述とすることで、プリンタエクステンション210のみ参照できるようになり、OS1053からは参照できなくなる。その結果、OS1053による禁則処理が膨大になることを抑止することができる。
(第3実施形態)
第1実施形態では、「ユーザ定義サイズ」のサイズに応じてカテゴリ分けをし、それぞれのカテゴリのOptionに応じた禁則処理を行うことができた。しかしながら、全てのカテゴリの禁則処理を記述すると膨大の量になってしまう。これは、OS1053が保障する禁則処理の最大行数が約10000行であるため、すぐに上限に達してしまい、その結果、全てを記述することができないからである。
そこで、本実施形態では、カテゴリのOptionを減らすことにより、禁則処理の行数を減らすことで禁則処理の全てを記述することができるようにする。具体的には、図11に示すように、各カテゴリのサポート機能について類似する定形用紙サイズがある場合、その定形用紙サイズで禁則する。図11では、カテゴリが「不定形 0−2」の場合、「両面印刷」が可能で、「パンチ」/「ステイプル」が不可能なので、置き換えるOptionは、定形用紙サイズである「JAPANESE_POSTCARD」となる。同様に、「不定形 3−1」は、「B5」に、「不定形 7−1」は、「13x19」に、それぞれ定形用紙サイズに置き換えられる。
図12は、本実施形態に係る禁則処理を示すフローチャートである。特に明示しない限り、本処理は、プリンタエクステンション210が行う処理である。プリンタエクステンション210は、RAM1022にロードされ、CPU101によって実行される。なお、ステップS901〜ステップS903は、図3に示すステップS301〜ステップS303と同様の処理であるため、その詳細な説明を省略する。
ステップS903の結果、用紙サイズが「ユーザ定義サイズ」である場合(Yes)、DriverPropertyBag2082から定形サイズ変換テーブルを取得する(ステップS904)。ここで、定形サイズ変換テーブルとは、図11で示すような、ユーザ定義サイズの幅と高さをデバイス1032がサポートする定形サイズ(A4、Letter、B5、JAPANESE_POSTCARDなど)に変換するためのテーブルである。
次に、プリンタエクステンション210は、ステップS901で取得した印刷設定で設定されているユーザ定義サイズの幅と高さから、定形サイズ変換テーブル上で該当する定形サイズ(Option)を決定する(ステップS905)。これによって、ユーザ定義サイズの幅と高さに基づいて、禁則処理に用いる用紙サイズとして定形サイズが決定される。次に、印刷設定で設定されているユーザ定義サイズの情報(Option)をメモリ領域に保存する(ステップS906)。ここで、保存されるユーザ定義サイズの情報には、用紙ID、幅及び高さの情報が含まれる。そして、印刷設定で設定されている用紙サイズの情報をユーザ定義サイズの情報からステップS905で決定した定形サイズの情報に置換することで印刷設定を変更する(ステップS907)。これによって、ユーザ定義サイズの用紙ID、幅及び高さが設定されていた印刷設定が、定形サイズの用紙ID、幅及び高さが設定された印刷設定に変更される。
次に、ステップS907で設定し直した印刷設定を用いてGPDの禁則処理を行う(ステップS908)。GPDの禁則処理が終了した後、ステップS907の印刷設定の変更を元に戻さなければ指定されたユーザ定義サイズが無視されて定形サイズで印刷されてしまう。よって、次に説明するステップS909では、ステップS907と逆の処理を行うことで用紙サイズを元に戻す。具体的には、ステップS907で設定された印刷設定の用紙サイズの情報(定形サイズの情報)をステップS906でメモリ領域に保存しておいたユーザ定義サイズの情報に置換することで印刷設定を設定しなおして(ステップS909)、処理を終了する。これによって、定形サイズの用紙ID、幅及び高さが設定されていた印刷設定が、ユーザ定義サイズの用紙ID、幅及び高さが設定された元の印刷設定に戻る。次に、ステップS903で用紙サイズがユーザ定義サイズでない場合(No)、設定されている印刷設定を用いてGPDの禁則処理を行う(ステップS910)。そして、処理を終了する。
図13は、本実施形態に係るDriverPropertyBag2082の記載例を示す図である。図9との違いは、上述した通り定形サイズと同じ禁則処理になるカテゴリについて、該当する定形サイズになるようにしている箇所である。このように、本実施形態によれば、ユーザ定義サイズのカテゴリのOptionを減らすことができ、結果的に禁則処理が膨大になることを抑止することができる。
(第4実施形態)
第1実施形態では、印刷設定画面を起動した場合のみ「ユーザ定義サイズ」の用紙サイズの幅/高さに応じて禁則処理を行った。しかしながら、印刷設定画面を起動しないで印刷を実行した場合、禁則処理が行われないで、印刷データがデバイス1032側に送信されてしまう。
そこで、本実施形態では、OS1053が「ユーザ定義サイズ」の用紙サイズの幅/高さに応じて、Optionを設定できるようにGPDファイルの記述方法を拡張する。図14は、本実施形態に係るGPDファイルの記載例を示す図である。本実施形態では、各Optionに用紙サイズの最小サイズ、最大サイズを追記する。OS1053は、用紙サイズが「ユーザ定義サイズ」である場合、「MinSize」と「MaxSize」から不定形のカテゴリのOptionを決定する。さらに、BasePaperSizeに類似した定形サイズがそのカテゴリに定義されている場合、その定形サイズで禁則処理を行うようにする。
このように、本実施形態によれば、GPDファイルに用紙サイズの最小サイズ最大サイズ、さらにBaseとなる定形サイズを定義できるようにすることにより、GPDファイルを参照するだけで任意の数値の設定でも禁則処理が行うことができる。
(第5実施形態)
第1実施形態では、「ユーザ定義サイズ」のサイズに応じてカテゴリ分けをし、それぞれのカテゴリのOptionに応じた禁則処理を行うことができた。しかしながら、「ユーザ定義サイズ」以外にユーザが任意に設定できる印刷設定として「用紙タイプ(もしくは用紙種類)」がある。この場合、用紙タイプは、ユーザ定義サイズとは異なり、デバイス1032側で登録した用紙タイプの情報をドライバーがデバイス1032と通信して取得する。従って、デバイス1032で登録することで、ユーザが任意で設定できてしまうため、GPDファイルには禁則情報を記述できない。この結果、これらの用紙タイプに対して禁則処理を行うことができない。
そこで、本実施形態では、ユーザが任意に設定する用紙タイプについても正しく禁則処理を行うことができるようにする。図15は、本実施形態に係る禁則処理を示すフローチャートである。特に明示しない限り、本処理は、プリンタエクステンション210が行う処理である。プリンタエクステンション210は、RAM1022にロードされ、CPU101によって実行される。
まず、印刷設定を取得する(ステップS1201)。取得した印刷設定から用紙タイプの情報を取得する(ステップS1202)。その用紙タイプがデバイス1032に登録されている用紙タイプか否かを判定する(ステップS1203)。用紙タイプがユーザ登録した用紙タイプである場合(Yes)、QueuePropertyBag2082から該当するユーザ登録の用紙タイプ情報を取得する(ステップS1204)。次に、取得した用紙タイプの重量/表面性/形状/色が一致するベースの用紙タイプをDriverPropertyBag2082のテーブルを使用して取得する(ステップS1205)。次に、取得したベースの用紙タイプを印刷設定の用紙タイプのパラメータに設定し(ステップS1206)、GPDファイルを参照して禁則処理を行う(ステップS1207)。そして、禁則処理が完了したら、用紙タイプをもとのユーザ登録の用紙タイプに設定しなおす(ステップS1208)。一方、ステップS1203で用紙タイプがユーザ登録した用紙タイプでない場合(No)、そのままの印刷設定でGPDファイルを参照して禁則処理を行う(ステップS1209)。
図16は、本実施形態に係るQueuePropertyBag2083の一例を示す図である。QueuePropertyBag2083に保存される用紙タイプの情報は、デバイス1032に登録されるユーザ登録された用紙タイプの情報をドライバーが取得して保存する。本実施形態では、各用紙タイプの名称と、重量(Weight)/表面性(Surface)/形状(Shape)/色(Color)の情報を保存している。
図17は、本実施形態に係るDriverPropertyBag2082の一例を示す図である。QueuePropertyBag2083に保存される用紙タイプの情報と同様に、ベースの用紙タイプの情報も用紙タイプの名称と重量(weight)/表面性(surface)/形状(shape)/色(color)の情報を記載する。
このように、用紙タイプの各情報からベースの用紙タイプに変換して、禁則処理を行うことによって、デバイスに登録したユーザ定義の用紙タイプに対しても正しい禁則処理を行えるようになる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。

Claims (23)

  1. ユーザによってサイズが指定されるユーザ定義サイズの設定を受け付け、ジョブに対応付けるべき印刷設定に設定する設定手段と、
    前記印刷設定に含まれる用紙サイズがユーザ定義サイズであるか否かを判定する判定手段と、
    前記判定手段により前記用紙サイズが前記ユーザ定義サイズであると判定された場合、前記ユーザ定義サイズの幅と高さに基づいて、複数の異なる定形サイズの候補の中から、代替となる定形サイズを決定する決定手段と、
    前記決定手段によって決定した定形サイズと、ジョブに対応付けるべき印刷設定と、互いに競合する印刷設定の組み合わせを示すコンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているか否かを判断する判断手段と、
    前記判断手段によってコンフリクトが発生していると判断された場合に、前記ジョブに対応付けるべき印刷設定のうち少なくとも1つを変更することで前記印刷設定のコンフリクトを解消させる制御手段と、
    を有する
    ことを特徴とする情報処理装置。
  2. 前記決定手段は、用紙サイズテーブルを参照し、複数の異なる定形サイズの候補の中から代替となる前記定形サイズを決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記決定手段は、表示部を介すことなく前記ユーザ定義サイズが取得された場合、予め設定された前記用紙サイズの幅と高さの最大サイズと最小サイズに基づいて前記定形サイズを決定する
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記判定手段は、前記印刷設定に含まれる用紙タイプが予め登録されている用紙タイプか否かを更に判定し、
    前記決定手段は、前記予め登録されている用紙タイプでない場合、ユーザ定義の用紙タイプから、複数の異なる定形の用紙タイプの候補の中から、代替となる定形の用紙タイプを更に決定し、
    前記判断手段は、前記決定手段によって決定した前記定形サイズ及び前記定形の用紙タイプと、前記印刷設定と、前記コンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているか否かを判断する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記決定手段は、前記ユーザ定義の用紙タイプの重量、表面性、形状、および色に基づいて前記代替となる定形の用紙タイプを決定する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記判断手段は、前記印刷設定の用紙サイズに設定された前記ユーザ定義サイズを保存し、前記印刷設定の用紙サイズを前記ユーザ定義サイズから、前記決定手段により決定された前記定形サイズに変更し、前記変更された印刷設定間にコンフリクトが発生しているか否かを判断し、
    前記制御手段は、前記判断手段によってコンフリクトが発生していると判断されたことに従って、前記ジョブに対応付けるべき印刷設定のうち少なくとも1つを変更することで前記印刷設定のコンフリクトを解消させた後に、前記ジョブに対応付けるべき印刷設定の用紙サイズを前記保存されたユーザ定義サイズに戻す
    ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記判断手段は、コンフリクトが発生していないと判断した場合、前記ジョブに対応付けるべき印刷設定の用紙サイズを、前記保存されたユーザ定義サイズに戻す
    ことを特徴とする請求項6に記載の情報処理装置。
  8. 情報処理装置の制御方法であって、
    ユーザによってサイズが指定されるユーザ定義サイズの設定を受け付け、ジョブに対応付けるべき印刷設定に設定する設定工程と、
    印刷設定に含まれる用紙サイズがユーザ定義サイズであるか否かを判定する判定工程と、
    前記判定工程で前記用紙サイズが前記ユーザ定義サイズであると判定された場合、前記ユーザ定義サイズの幅と高さに基づいて、複数の異なる定形サイズの候補の中から、代替となる定形サイズを決定する決定工程と、
    前記決定工程で決定した定形サイズと、ジョブに対応付けるべき印刷設定と、互いに競合する印刷設定の組み合わせを示すコンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているかどうかを判断する判断工程と、
    前記判断工程でコンフリクトが発生していると判断された場合に、前記ジョブに対応付けるべき印刷設定のうち少なくとも1つを変更することで前記印刷設定のコンフリクトを解消させる制御工程と、
    を有する
    ことを特徴とする制御方法。
  9. 前記決定工程では、用紙サイズテーブルを参照し、複数の異なる定形サイズの候補の中から代替となる前記定形サイズを決定する
    ことを特徴とする請求項8に記載の制御方法。
  10. 前記決定工程では、表示部を介すことなく前記ユーザ定義サイズが取得された場合、予め設定された前記用紙サイズの幅と高さの最大サイズと最小サイズに基づいて前記定形サイズを決定する
    ことを特徴とする請求項8または9に記載の制御方法。
  11. 前記判定工程では、前記印刷設定に含まれる用紙タイプが予め登録されている用紙タイプか否かを更に判定し、
    前記決定工程では、前記予め登録されている用紙タイプでない場合、ユーザ定義の用紙タイプから、複数の異なる定形の用紙タイプの候補の中から、代替となる定形の用紙タイプを更に決定し、
    前記判断工程では、前記決定工程で決定した前記定形サイズ及び前記定形の用紙タイプと、前記印刷設定と、前記コンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているか否かを判断する
    ことを特徴とする請求項8乃至10のいずれか1項に記載の制御方法。
  12. 前記決定工程では、前記ユーザ定義の用紙タイプの重量、表面性、形状、および色に基づいて前記代替となる定形の一意の用紙タイプを決定する
    ことを特徴とする請求項11に記載の制御方法。
  13. 前記判断工程では、前記印刷設定の用紙サイズに設定された前記ユーザ定義サイズを保存し、前記印刷設定の用紙サイズを前記ユーザ定義サイズから、前記決定工程で決定された前記定形サイズに変更し、前記変更された印刷設定間にコンフリクトが発生しているか否かを判断し、
    前記制御工程では、前記判断工程でコンフリクトが発生していると判断されたことに従って、前記ジョブに対応付けるべき印刷設定のうち少なくとも1つを変更することで前記印刷設定のコンフリクトを解消させた後に、前記ジョブに対応付けるべき印刷設定の用紙サイズを前記保存されたユーザ定義サイズに戻す
    ことを特徴とする請求項8乃至12のいずれか1項に記載の制御方法。
  14. 前記判断工程では、コンフリクトが発生していないと判断した場合、前記ジョブに対応付けるべき印刷設定の用紙サイズを、前記保存されたユーザ定義サイズに戻す
    ことを特徴とする請求項13に記載の制御方法。
  15. 請求項1〜7のいずれか1項に記載の情報処理装置の各手段としてコンピュータにより実行させることを特徴とするプログラム。
  16. 印刷に用いる用紙の情報として設定された情報に基づいて当該用紙のタイプが予め登録されている用紙のタイプであるかを判定する第1判定手段と、
    前記第1判定手段により前記用紙のタイプが、複数の予め登録されている用紙のタイプの何れでもないと判定された場合、前記用紙の情報に基づいて、前記複数の予め登録されている用紙のタイプの中から1つの用紙のタイプを決定する決定手段と、
    前記決定手段によって決定した1つの用紙のタイプと、印刷設定との間にコンフリクトが発生しているか判定する第2判定手段と、
    前記第2判定手段によってコンフリクトが発生していると判定された場合に、前記印刷設定のうちの少なくとも1つの設定を変更することで前記コンフリクトを解消させる制御手段と、
    を有し、
    前記印刷に用いる用紙の情報として設定された情報と、前記少なくとも1つの設定が変更された後の印刷設定とに基づいた印刷が行われる
    ことを特徴とする情報処理装置。
  17. プリンタと通信するように構成された情報処理装置であって、
    印刷設定及び用紙設定を取得する取得手段と、
    前記用紙設定がユーザ定義シートを指定する設定か、定形シートのうちのひとつを指定する設定かを判断する判断手段と、
    前記用紙設定が前記ユーザ定義シートを指定する設定であると判断された場合、前記用紙設定に基づいて、前記定形シートのうちのひとつを指定する用紙情報を選択する選択手段と、
    前記印刷設定と前記選択された用紙情報との間にコンフリクトが発生しているかを判断する判断手段と、
    前記コンフリクトが発生している場合、前記印刷設定を変更する変更手段と、
    を有し、
    前記用紙設定及び前記変更された印刷設定は印刷に用いられる
    ことを特徴とする情報処理装置。
  18. 前記用紙設定は、用紙のサイズの設定を含む
    ことを特徴とする請求項17に記載の情報処理装置。
  19. 前記用紙設定は、用紙の重量の設定、表面性の設定、形状の設定、又は色の設定を含む
    ことを特徴とする請求項17に記載の情報処理装置。
  20. 前記選択された用紙情報は、印刷に用いられない
    ことを特徴とする請求項17に記載の情報処理装置。
  21. 情報処理装置の制御方法であって、
    印刷に用いる用紙の情報として設定された情報に基づいて当該用紙のタイプが予め登録されている用紙のタイプであるかを判定する第1判定工程と、
    前記第1判定工程により前記用紙のタイプが、複数の予め登録されている用紙のタイプの何れでもないと判定された場合、前記用紙の情報に基づいて、前記複数の予め登録されている用紙のタイプの中から1つの用紙のタイプを決定する決定工程と、
    前記決定工程によって決定した1つの用紙のタイプと、印刷設定との間にコンフリクトが発生しているか判定する第2判定工程と、
    前記第2判定工程によってコンフリクトが発生していると判定された場合に、前記印刷設定のうちの少なくとも1つの設定を変更することで前記コンフリクトを解消させる制御工程と、
    を有し、
    前記印刷に用いる用紙の情報として設定された情報と、前記少なくとも1つの設定が変更された後の印刷設定とに基づいた印刷が行われる
    ことを特徴とする制御方法。
  22. プリンタと通信するように構成された情報処理装置の制御方法であって、
    印刷設定及び用紙設定を取得する取得工程と、
    前記用紙設定がユーザ定義シートを指定する設定か、定形シートのうちのひとつを指定する設定かを判断する判断工程と、
    前記用紙設定が前記ユーザ定義シートを指定する設定であると判断された場合、前記用紙設定に基づいて、前記定形シートのうちのひとつを指定する用紙情報を選択する選択工程と、
    前記印刷設定と前記選択された用紙情報との間にコンフリクトが発生しているかを判断する判断工程と、
    前記コンフリクトが発生している場合、前記印刷設定を変更する変更工程と、
    を有し、
    前記用紙設定及び前記変更された印刷設定は印刷に用いられる
    ことを特徴とする制御方法。
  23. 請求項16〜20のいずれか1項に記載の情報処理装置の各手段としてコンピュータにより実行させることを特徴とする請求項15に記載のプログラム。
JP2015221945A 2015-01-29 2015-11-12 情報処理装置、情報処理装置の制御方法、及びプログラム Active JP6587515B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/001,801 US10346110B2 (en) 2015-01-29 2016-01-20 Information processing apparatus, method and storage medium performing prohibition processing for print settings

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015015925 2015-01-29
JP2015015925 2015-01-29

Publications (3)

Publication Number Publication Date
JP2016146167A JP2016146167A (ja) 2016-08-12
JP2016146167A5 JP2016146167A5 (ja) 2018-11-08
JP6587515B2 true JP6587515B2 (ja) 2019-10-09

Family

ID=56686145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015221945A Active JP6587515B2 (ja) 2015-01-29 2015-11-12 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6587515B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7085920B2 (ja) 2018-06-29 2022-06-17 キヤノン株式会社 印刷制御プログラム、情報処理装置とその制御方法、およびプログラム
JP7171272B2 (ja) * 2018-07-05 2022-11-15 キヤノン株式会社 情報処理装置及びプログラム
JP7459524B2 (ja) 2020-01-28 2024-04-02 ブラザー工業株式会社 プログラムおよび情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810332B2 (ja) * 2006-02-20 2011-11-09 キヤノン株式会社 情報処理装置、印刷設定方法、記憶媒体、プログラム
JP2008171073A (ja) * 2007-01-09 2008-07-24 Kyocera Mita Corp 画像形成装置及びその制御プログラム
JP2008269260A (ja) * 2007-04-19 2008-11-06 Canon Inc データ処理装置、データ処理方法及びそのプログラム
JP2009087117A (ja) * 2007-10-01 2009-04-23 Seiko Epson Corp 印刷制御装置、印刷制御方法および印刷制御プログラム
JP2012190198A (ja) * 2011-03-10 2012-10-04 Canon Inc 印刷システム

Also Published As

Publication number Publication date
JP2016146167A (ja) 2016-08-12

Similar Documents

Publication Publication Date Title
US8279467B2 (en) Information processing apparatus and method for indicating conflicting print setting functions
JP5675047B2 (ja) 文書処理装置およびコンピュータプログラム
US10402139B2 (en) Information processing apparatus that generates print function information, and related control method and storage medium storing program
US9715358B2 (en) Information processing apparatus, information processing method, and recording medium
JP2007310877A (ja) プリンタに印刷ジョブを提示するための自動ジョブサブミッタ
JP6032567B2 (ja) プリンタドライバ及び印刷システム並びにプリンタドライバの画面表示方法
JP6587515B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
CN102681802A (zh) 信息处理设备及打印方法
US8368926B2 (en) Reuse of document print attributes
US8947695B2 (en) Information processing device, information processing method and computer-readable record medium
US7677820B2 (en) Printing supporting apparatus, printing apparatus selecting apparatus, printing supporting program, printing apparatus selecting program, storage medium, method of selecting printing apparatus, method of supporting printing, and method of creating printing apparatus determining tree
US20110286034A1 (en) Information processing apparatus and non-transitory computer-readable recording medium
KR101156869B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
US8319997B2 (en) Information processing apparatus to display information about progress of print processing, information processing method, and storage medium
US10346110B2 (en) Information processing apparatus, method and storage medium performing prohibition processing for print settings
CN107015770B (zh) 信息处理设备和打印数据生成方法
JP6827738B2 (ja) 制御方法、プログラム及び情報処理装置
JP2016099763A (ja) 印刷ジョブ管理装置、管理方法及びプログラム
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
JP6250110B2 (ja) 情報処理装置、その方法およびプログラム
JP2005193559A (ja) 画像形成装置
JP2019144814A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
US20230127010A1 (en) Information processing apparatus, information processing method, and storage medium
JP2010117907A (ja) 印刷制御装置、および印刷装置
JP2018180750A (ja) 画像形成装置における制御装置およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190910

R151 Written notification of patent or utility model registration

Ref document number: 6587515

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151