Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5201188B2 - デバイス制御プログラム、及び、印刷プログラム - Google Patents
[go: Go Back, main page]

JP5201188B2 - デバイス制御プログラム、及び、印刷プログラム - Google Patents

デバイス制御プログラム、及び、印刷プログラム Download PDF

Info

Publication number
JP5201188B2
JP5201188B2 JP2010221245A JP2010221245A JP5201188B2 JP 5201188 B2 JP5201188 B2 JP 5201188B2 JP 2010221245 A JP2010221245 A JP 2010221245A JP 2010221245 A JP2010221245 A JP 2010221245A JP 5201188 B2 JP5201188 B2 JP 5201188B2
Authority
JP
Japan
Prior art keywords
setting
values
information
item
batch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010221245A
Other languages
English (en)
Other versions
JP2012078914A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010221245A priority Critical patent/JP5201188B2/ja
Priority to US13/231,385 priority patent/US8964215B2/en
Publication of JP2012078914A publication Critical patent/JP2012078914A/ja
Application granted granted Critical
Publication of JP5201188B2 publication Critical patent/JP5201188B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)

Description

本発明は、予め設定項目毎に設定された設定値の組み合わせである一括設定情報の指定を受け付け、指定された一括設定情報に基づいてデバイスを制御する技術に関する。
従来、予め設定されているデフォルト設定を用いてプリンタにドキュメントを印刷させるコンピュータ装置が知られている(例えば、特許文献1参照)。
このコンピュータ装置では、デフォルト設定を次のようにして変更することができる。
アプリケーションウィンドウのメニューバーに設けられた[ファイル]ボタンをクリックし、[印刷]をクリックするといった操作により、[印刷]のダイアログボックスを表示する。そして、そのダイアログボックスにある[プロパティ]ボタンをクリックすることで、プリンタのプロパティのダイアログボックスを表示させる。
この「プリンタのプロパティのダイアログボックス」はプリンタドライバによって表示されるものであり、ユーザが[プロパティ]ボタンをクリックするとアプリケーションプログラムからプリンタドライバが呼び出され、呼び出されたプリンタドライバによって表示される。
ユーザは、表示されたプリンタのプロパティのダイアログボックスで印刷の設定を変更した後、そのダイアログボックスに設けられている「デフォルトに登録」のボタンをクリックすることで、プリンタのプロパティのダイアログで変更した内容をデフォルト設定に反映させる。
特開2003−316538号公報
しかしながら、従来の技術によると、ユーザはデフォルト設定を変更しようとするたびに、プリンタドライバを呼び出してプリンタのプロパティのダイアログボックスを表示させなければならない。このため、使い勝手が悪いという問題がある。
本発明は上記のような事情に基づいて完成されたものであって、一括設定情報を指定する場合のユーザの利便性が向上する技術を開示する。
本明細書によって開示されるデバイス制御プログラムは、アプリケーションプログラムを実行する情報処理装置で実行され、前記情報処理装置と通信可能に接続されているデバイスを制御するデバイス制御プログラムであって、当該デバイス制御プログラムは、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御するものであり、前記アプリケーションプログラムは、少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせ、当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定するものであり、当該デバイス制御プログラムは、前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、を前記情報処理装置に実行させる。
また、本明細書によって開示されるデバイス制御プログラムは、複数機種の前記デバイスを制御可能であり、前記情報処理装置と通信可能に接続されている前記デバイスの中からいずれかの前記デバイスをユーザに指定させる指定処理を前記情報処理装置に実行させ、前記応答処理において、前記指定処理によって指定された前記デバイスから前記設定項目毎に当該デバイスで設定可能な値の集合を取得し、各前記一括設定情報の各前記設定項目について、当該設定項目に設定されている前記設定値が、前記デバイスから取得した前記値の集合に含まれているか否かを判定し、少なくとも一つの前記設定値が前記値の集合に含まれていない前記一括設定情報については、その一括設定情報の前記一括設定識別情報を前記アプリケーションプログラムに返さない。
また、本明細書によって開示されるデバイス制御プログラムは、前記アプリケーションプログラムは少なくとも二つの前記設定項目についてそれぞれ前記設定値の一覧を当該デバイス制御プログラムに問い合わせるものであり、当該デバイス制御プログラムは、前記応答処理において、前記少なくとも二つの設定項目のうちいずれか一つの前記設定項目である第1の設定項目に対しては前記値の集合と前記一括設定識別情報とを前記設定値の一覧として返し、前記少なくとも二つの設定項目のうち前記第1の設定項目以外の設定項目である第2の設定項目に対しては前記値の集合を返す一方、前記一括設定識別情報を返さない。
また、本明細書によって開示されるデバイス制御プログラムは、前記応答処理において、前記受付処理によって前記第1の設定項目について問い合わせを受け付けると、前記第2の設定項目に設定されている前記設定値が互いに異なり、前記第1の設定項目を含むそれ以外の前記設定項目に設定されている前記設定値が互いに同じである2以上の前記一括設定情報があるか否かを判定し、当該2以上の前記一括設定情報がある場合は、それら2以上の前記一括設定情報についてはいずれか一つの前記一括設定情報の一括設定識別情報を前記アプリケーションプログラムに返す。
また、本明細書によって開示されるデバイス制御プログラムは、前記制御処理において、前記設定条件の前記第1の設定項目に前記一括設定識別情報が設定されている場合に、当該一括設定識別情報によって識別される前記一括設定情報の前記第2の設定項目に設定されている前記設定値と、前記設定条件の前記第2の設定項目に設定されている前記設定値とが異なる場合は、それら二つの前記設定値のうち、予め決められた方法によっていずれかを選択し、当該選択された前記設定値を用いる。
また、本明細書によって開示されるデバイス制御プログラムは、前記応答処理は、前記値の集合に含まれている値と前記一括設定識別情報とを所定の並び順で並べて返すものであり、前記一括設定識別情報を、当該一括設定識別情報によって識別される一括設定情報に設定されている設定値と同じ値と並べる。
また、本明細書によって開示されるデバイス制御プログラムは、デバイスと通信可能に接続されている情報処理装置で実行され、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御する印刷プログラムであって、当該印刷プログラムはアプリケーションプログラムとデバイス制御プログラムとを備えて構成され、前記アプリケーションプログラムは、少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせる問い合わせ処理と、当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からいずれかユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定する設定処理と、を前記情報処理装置に実行させ、当該デバイス制御プログラムは、前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、を前記情報処理装置に実行させる。
なお、この発明は、デバイス制御プログラム、印刷プログラム、デバイス制御方法、印刷方法、これらのプログラムを記録した記録媒体などの種々の態様で実現することができる。
本発明によれば、一括設定情報を指定する場合のユーザの利便性が向上する。
実施形態1に係るパーソナルコンピュータの構成を示す模式図。 お任せ印刷設定の一例を示す模式図。 ページ設定画面の一例を示す模式図。 プリンタドライバが返す設定値の一覧を示す模式図。 設定値の一覧を表示した状態のページ設定画面を示す模式図。 設定値の一覧の問い合わせの流れを示すシーケンスチャート。 プリンタドライバの処理の流れを示すフローチャート。 お任せ印刷設定のリストアップ処理の流れを示すフローチャート。 並べ替え処理の流れを示すフローチャート(前半)。 並べ替え処理の流れを示すフローチャート(後半)。 設定値の一覧を表示した状態のページ設定画面を示す模式図。 印刷処理の流れを示すフローチャート。 印刷設定の確認画面を示す模式図。
<実施形態1>
本発明の実施形態1を図1ないし図13によって説明する。
(1)情報処理装置の構成
図1は、実施形態1に係るパーソナルコンピュータ1(情報処理装置の一例)の電気的構成を示す模式図である。パーソナルコンピュータ(PC)1は、CPU11、ROM12、RAM13、記憶部14、ディスプレイ駆動回路(駆動回路)18、USBインタフェース(USB I/F)19、ネットワークインタフェース(NW I/F)20などを備えて構成されている。
CPU11は、ROM12や記憶部14に記憶されている各種のプログラムを実行することによってPC1の各部を制御する。ROM12にはCPU11によって実行される各種のプログラムやデータなどが記憶されている。RAM13はCPU11が各種の処理を実行するための主記憶装置として用いられる。
記憶部14は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部14には、オペレーティングシステム(OS)15、アプリケーションプログラム16(ワードプロセッサ、表計算ソフト、画像編集ソフトなど)、プリンタドライバプログラム17(デバイス制御プログラムの一例)などが記憶される。
本実施形態ではOS15としてMicrosoft社のWINDOWS(登録商標)を例に説明する。なお、OS15はWINDOWS(登録商標)に限られるものではない。
ディスプレイ駆動回路18は、CRTや液晶ディスプレイなどの表示装置21を駆動する回路であり、ケーブルを介して表示装置21と接続されている。
USBインタフェース19はUSBホストインタフェースとして構成されており、マウスやキーボードなどの入力装置22が接続される。
ネットワークインタフェース20は、LANやインターネットなどの通信ネットワーク5を介して1以上のプリンタ2(デバイスの一例)と通信可能に接続されている。
1以上のプリンタ2の機種は同じであってもよいし、異なっていてもよい。以降の説明において単にプリンタ2という場合は、プリンタ2A〜プリンタ2Dのうちいずれか一つのプリンタのことをいう。
(2)印刷条件
プリンタドライバプログラム17を実行するCPU11(以下、単に「プリンタドライバ17」という)は、プリンタの設定項目毎に設定された設定値の組み合わせである印刷条件(設定条件の一例)に基づいてプリンタ2を制御する処理をPC1に実行させる。
設定項目とは、プリンタ2の動作を決定する設定値を設定可能な項目であり、例えば用紙サイズ(A4/Letter/A5)、用紙トレイ(トレイ1/トレイ2)、色数(カラー/モノクロ)、画質(高解像度/低解像度)、両面印刷(する/しない)、片面印刷ページ数(1/2/4)などである。カッコ内はその設定項目に設定可能な値の一例を示している。
(3)お任せ印刷設定
図2は、お任せ印刷設定の一例を示す模式図である。ユーザは、予め設定項目毎に設定値を設定し、設定した設定値の組み合わせをお任せ印刷設定(一括設定情報の一例)として登録しておくことができる。そして、ユーザは登録しておいたお任せ印刷設定を指定することにより、お任せ印刷設定の設定値を印刷条件として一括して設定することができる。
お任せ印刷設定は複数登録することができ、各お任せ印刷設定にはそれぞれ固有の設定名(一括設定識別情報の一例)を付与することができる。また、お任せ印刷設定にはそれぞれ固有のIDが付与されている。
本実施形態では図2に示すお任せ印刷設定(節約印刷_トレイ1、節約印刷_トレイ2、両面印刷_トレイ1、両面印刷_トレイ2)が登録されているものとする。
お任せ印刷設定の登録は、例えばプリンタドライバ17によって表示される図示しない印刷条件設定画面で行うことができる。登録されたお任せ印刷設定はプリンタドライバ17によってID(一括設定識別情報の一例)が付与され、記憶部14に記憶される。そして、ユーザは印刷条件設定画面で所定の操作を行うことにより、登録されているお任せ印刷設定の中から印刷に用いるお任せ印刷設定を指定することができる。
(4)アプリケーションプログラムでのお任せ印刷設定の表示
上述したようにユーザは印刷条件設定画面上でお任せ印刷設定を指定できるが、プリンタドライバ17を用いると、それに加えて、アプリケーションプログラム16を実行するCPU11(以下、単に「アプリケーション16」という)によって表示されるページ設定画面でもお任せ印刷設定を表示できるようになる。
図3は、一般のアプリケーション16によって表示されるページ設定画面41の一例を示す模式図である。ページ設定画面41は用紙サイズや用紙トレイなどの一部の設定項目についてユーザがアプリケーション16で設定値を設定するための画面である。なお、「ページ設定」という画面名はアプリケーション16によっては「印刷設定」という画面名であったり、他の画面名であったりする。
ページ設定画面41で設定値を設定する場合、ユーザは所定の操作を行ってアプリケーション16にページ設定画面41の表示を指示する。
アプリケーション16は、ページ設定画面41の表示を指示されると、先ず、アプリケーション16とプリンタドライバ17との間で印刷条件を受け渡すためのDEVMODE構造体(設定条件の一例)と呼ばれる構造体の先頭アドレスをプリンタドライバ17に問い合わせる。
なお、アプリケーション16がDEVMODE構造体の先頭アドレスを問い合わせるタイミングは、アプリケーション16がプリンタドライバ17に印刷命令を出力する前であればよい。
また、本実施形態ではこのDEVMODE構造体とは別に印刷用のDEVMODE構造体も用いるので、それと区別するために、印刷条件を受け渡すためのDEVMODE構造体のことを受渡し用DEVMODE構造体という。
プリンタドライバ17は、アプリケーション16から受渡し用DEVMODE構造体の先頭アドレスを問い合わせられると、RAM13上に受渡し用DEVMODE構造体を確保し、確保した受渡し用DEVMODE構造体にデフォルトの設定値を設定する。そして、プリンタドライバ17はその受渡し用DEVMODE構造体の先頭アドレスをアプリケーション16に返す。
次に、アプリケーション16は、上述した一部の設定項目について設定項目毎に当該設定項目に設定可能な設定値の一覧をプリンタドライバ17に問い合わせ、問い合わせた設定値の一覧を選択肢としてページ設定画面41に表示する。
図4は、用紙サイズを例に、プリンタドライバ17がアプリケーション16に返す設定値の一覧を示す模式図である。ここでは用紙サイズに設定可能な値の集合としてA4、Letter、A5を例に説明する。
プリンタドライバ17は、設定値の一覧として、設定可能な各値に関する情報と、お任せ印刷設定に関する情報とを返す。
設定可能な値に関する情報は、用紙ID、用紙名、用紙サイズの3つの情報項目で構成されている。用紙IDは各サイズの用紙に一意に付与されているID(Identification)である。用紙名は、用紙IDに対応するサイズの用紙の名称である。用紙サイズは、用紙IDに対応する用紙の縦横の長さ(mm)である。
「設定可能な各値に関する情報」をアプリケーション16に返すことは従来のプリンタドライバ17でも行われているが、プリンタドライバ17はそれに加えて、登録されている各お任せ印刷設定に関する情報も設定値の一覧に含めて返す点で従来のプリンタドライバ17と異なる。
お任せ印刷設定に関する情報とは、お任せ印刷設定のID(お任せ印刷設定のIDは用紙IDと重複しないように付与されているものとする)、お任せ印刷設定の設定名、そのお任せ印刷設定に設定されている用紙サイズの縦横の長さである。お任せ印刷設定に関する情報の場合はこれらの値が上述した各情報項目(用紙ID、用紙名、用紙サイズ)の要素となる。
ただし、プリンタドライバ17は登録されている全てのお任せ印刷設定についてお任せ印刷設定に関する情報をアプリケーション16に返すのではなく、特定の条件でリストアップしたお任せ印刷設定に関する情報のみを返す。このリストアップについては後述する。
図5は、用紙サイズを例に、プリンタドライバ17から返された設定値の一覧を選択肢として表示した状態のページ設定画面41を示す模式図である。プリンタドライバ17は各お任せ印刷設定に関する情報も設定値の一覧に含めて返すので、図5に示すように各値に関する情報(具体的には各値に関する情報のうち用紙名)に加えて、各お任せ印刷設定に関する情報(具体的には各お任せ印刷設定に関する情報のうち設定名)も選択肢として表示される。
プリンタドライバ17を用いた場合にはお任せ印刷設定の設定名が選択肢として表示されるので、ユーザは設定値としてお任せ印刷設定の設定名を指定できる。これにより、ユーザはページ設定画面41でお任せ印刷設定を指定できる。
ページ設定画面41でユーザが設定項目に設定値を指定すると、アプリケーション16は受渡し用DEVMODE構造体の当該設定項目に設定されている設定値を、ユーザが指定した設定値(用紙ID、又はお任せ印刷設定のID等)で上書きする。これにより、ユーザが指定した設定値が印刷条件に設定される(設定処理の一例)。
したがって、用紙サイズの設定値としてお任せ印刷設定の設定名を指定した場合には、そのお任せ印刷設定のIDが用紙サイズの設定値として印刷条件に設定される。
なお、アプリケーション16がDEVMODE構造体に設定値を設定するタイミングは、アプリケーション16がプリンタドライバ17に印刷命令を出力する前であればよい。
ところで、図3に示す例では用紙トレイについてもアプリケーション16で設定値を設定できる。この場合、用紙トレイについて設定値の一覧を問い合わせられたときにもお任せ印刷設定に関する情報を返すと、用紙サイズに設定されたお任せ印刷設定のIDと用紙トレイに設定されたお任せ印刷設定のIDとが異なってしまう虞がある。
そこで、プリンタドライバ17は、アプリケーション16から複数の設定項目について設定値の問い合わせがあった場合、その複数の問い合わせのうち1つに対してのみお任せ印刷設定に関する情報を返す。
本実施形態では、用紙サイズ(第1の設定項目の一例)について設定値の一覧を問い合わせられた場合のみお任せ印刷設定に関する情報を返し、用紙トレイ(第2の設定項目の一例)について設定値の一覧を問い合わせられた場合は設定可能な各値に関する情報のみを返し、お任せ印刷設定に関する情報を返さない。これにより、用紙サイズと用紙トレイとに異なるお任せ印刷設定のIDが設定されてしまわないようにすることができる。
なお、用紙トレイについて問い合わせられたときにお任せ印刷設定に関する情報を返し、用紙サイズについて問い合わせられたときはお任せ印刷設定に関する情報を返さないようにしてもよい。
(5)専用プリンタドライバ、及びユニバーサルプリンタドライバ
プリンタドライバ17の種類には、プリンタの1機種に対応して専用に開発されたプリンタドライバ(専用プリンタドライバ)と、複数機種のプリンタを制御可能な汎用のプリンタドライバ(ユニバーサルプリンタドライバ)とがある。プリンタドライバ17は、専用プリンタドライバであってもよいし、ユニバーサルプリンタドライバであってもよい。
プリンタドライバ17が専用プリンタドライバである場合には、「設定可能な各値に関する情報」はプリンタドライバ17自身にハードコーディングされているものとする。
一方、プリンタドライバ17がユニバーサルプリンタドライバである場合には、各設定項目に設定可能な値はプリンタ2の機種によって異なる。そのため、プリンタドライバ17は、ユーザによって指定されたプリンタ2から各設定項目に設定可能な値の集合を取得し、取得した値の集合から「設定可能な各値に関する情報」を生成してアプリケーション16に返す。
具体的には、アプリケーション16によって表示されるメニューでユーザが印刷を選択すると、アプリケーション16によって図示しない印刷画面が表示され、ユーザはこの印刷画面でプリンタを指定することができる。
ユニバーサルプリンタドライバは特定の1機種に対応するものではないので、ユニバーサルプリンタドライバを用いる場合は、ユーザは印刷画面でプリンタに替えてユニバーサルプリンタドライバを直接指定する。
印刷画面でユニバーサルプリンタドライバが指定されて所定のボタンがクリックされると、アプリケーション16からユニバーサルプリンタドライバが呼び出される。呼び出されたユニバーサルプリンタドライバは、ユーザにプリンタを指定させるための画面を表示し、その画面で指定されたプリンタから各設定項目に設定可能な値の集合を取得する。そして、ユニバーサルプリンタドライバは、取得した値の集合に基づいて「設定可能な各値に関する情報」を生成する。
本実施形態ではユーザはページ設定画面41の表示を指示する前にプリンタ2又はユニバーサルプリンタドライバを指定し、ユニバーサルプリンタドライバを指定した場合には既にユーザが指定したプリンタ2から各設定項目に設定可能な値の集合を取得済みであるものとする。
ここで、アプリケーション16は、印刷画面でプリンタ2が指定されている場合はその指定されているプリンタ2に対応する専用プリンタドライバに設定値の一覧を問い合わせ、ユニバーサルプリンタドライバが直接指定されている場合はその指定されているユニバーサルプリンタドライバに設定値の一覧を問い合わせるものとする。
(6)設定可能な設定値の一覧の問い合わせ
次に、用紙サイズを例に、アプリケーション16からプリンタドライバ17への設定値の一覧の問い合わせについてより詳細に説明する。
図6は、用紙サイズに設定可能な設定値の一覧の問い合わせの流れを示すシーケンスチャートである。この問い合わせは、プリンタドライバ17が提供するDrvDeviceCapabilitiesと呼ばれるAPI(Application Program Interface)を呼び出すことによって行われる。
なお、ここではアプリケーション16がDrvDeviceCapabilitiesを呼び出すとするが、これは理解を容易にするためであり、実際にはアプリケーション16はOSが提供するDeviceCapabilitiesというAPIを呼び出す。OSはDeviceCapabilitiesが呼び出されると、プリンタドライバ17が提供するDrvDeviceCapabilitiesを呼び出す。
設定値の一覧の問い合わせでは、上述した情報項目(用紙ID、用紙名、用紙サイズ)毎にアプリケーション16からDrvDeviceCapabilitiesが2回ずつ呼び出される。
DrvDeviceCapabilitiesには、少なくとも、情報項目を示す文字列(用紙IDの場合はDC_PAPERS、用紙名の場合はDC_PAPERNAMES、用紙サイズの場合はDC_PAPERSIZE)と、その文字列によって示される情報項目の要素(例えばDC_PAPERSの場合は9、1、11、1001、1004)を格納するためにRAM13上に確保した領域の先頭アドレスとを引数として指定することができる。
S101では、アプリケーション16を実行するCPU11は、情報項目を示す文字列として、用紙IDを示す文字列「DC_PAPERS」を指定し、先頭アドレスは指定せずにDrvDeviceCapabilitiesを呼び出す(問い合わせ処理、受付処理の一例)。
S102では、プリンタドライバ17を実行するCPU11(以下、単に「プリンタドライバ17」という)はDrvDeviceCapabilitiesの戻り値として、DC_PAPERSによって示される情報項目(すなわち用紙ID)の要素数(図4に示す例では5)をアプリケーション16に返す(応答処理の一例)。
S103では、アプリケーション16はS102で返された要素数分の要素を格納するための領域をRAM13上に確保し、「DC_PAPERS」と、RAM13上に確保した領域の先頭アドレスとを指定してDrvDeviceCapabilitiesを呼び出す(問い合わせ処理、受付処理の一例)。
S104では、プリンタドライバ17は引数として渡された先頭アドレスによって示されるRAM13上の領域に、DC_PAPERSによって示される情報項目(用紙ID)の要素(9、1、11、1001、1004)を格納する(応答処理の一例)。
S105〜S112の処理は情報項目が異なることを除いて上述したS101〜S104の処理と実質的に同一であるので説明は省略する。
(5)プリンタドライバの処理
図7は、DrvDeviceCapabilitiesが呼び出されたときのプリンタドライバ17の処理の流れを示すフローチャートである。
S201では、プリンタドライバ17は先頭アドレスが引数として指定されているか否かを判定し、指定されていない場合(各情報項目についての1回目の呼び出しの場合)はS202に進み、指定されている場合(各情報項目についての2回目の呼び出しの場合)はS207に進む。
S202では、プリンタドライバ17は引数として指定されている情報項目の要素(お任せ印刷設定は除く)の数を計算する。例えば、DC_PAPERSの場合は(9、1、11)であるので、数は3である。なお、DC_PAPERNAMESやDC_PAPERSZIEの場合も3である。
S203では、プリンタドライバ17はお任せ印刷設定があるか否か(登録されているか否か)を判定し、ある場合はS204に進み、ない場合はS206に進む。
S204では、プリンタドライバ17は、プリンタ2に設定不能な設定値が設定されていないお任せ印刷設定をリストアップする処理である「お任せ印刷設定のリストアップ処理」を実行する。「お任せ印刷設定のリストアップ処理」の詳細については後述するが、ここでは「節約印刷_トレイ1」と「両面印刷_トレイ2」とがリストアップされたものとする。
S205では、プリンタドライバ17はS202で計算した要素の数(3)に、S204でリストアップしたお任せ印刷設定の数(2)を加算することにより、アプリケーション16に返す要素数(5)を決定する。
S206では、プリンタドライバ17はDrvDeviceCapabilitiesの戻り値として、S205で決定した要素数をアプリケーション16に返す。
S207では、プリンタドライバ17はお任せ印刷設定が登録されているか否か(あるか否か)を判定し、登録されていない場合はS208に進み、登録されている場合はS209に進む。
S208では、プリンタドライバ17は、「設定可能な各値に関する情報」から、引数として指定されている情報項目の要素(例えばDC_PAPERSの場合は9、1、11)を取得する。
次に、プリンタドライバ17は、取得した要素を、引数として渡された先頭アドレスで示されるRAM13上の領域に格納する。
S209では、プリンタドライバ17は上述した「お任せ印刷設定のリストアップ処理」を実行する。
S210では、プリンタドライバ17はリストアップしたお任せ印刷設定について、引数として指定されている文字列によって示される情報項目に応じた情報を取得する。
例えば引数としてDC_PAPERS(用紙ID)が指定されている場合には、プリンタドライバ17は「情報項目に応じた情報」として、リストアップした各お任せ印刷設定のID(1001や1004など)を取得する。
DC_PAPERNAMES(用紙名)の場合は各お任せ印刷設定の設定名の集合を「情報項目に応じた情報」として取得し、DC_PAPERSIZE(用紙サイズ)の場合は各お任せ印刷設定に設定されている用紙サイズの縦横の長さの集合を「情報項目に応じた情報」として取得する。
S211では、プリンタドライバ17は、先ず、「設定可能な各値に関する情報」から、引数として指定されている情報項目の要素(例えばDC_PAPERSの場合は9、1、11)を取得する。
次に、プリンタドライバ17は、取得した要素(例えば9、1、11)と、S210で生成した「情報項目に応じた情報」(例えばDC_PAPERSの場合は1001、1004)とを並べ替える処理である「並べ替え処理」を実行する。「並べ替え処理」の詳細については後述する。
S212では、プリンタドライバ17はS211で取得した要素(例えば9、1、11)と、情報項目に応じた情報(例えば1001、1004)とを、S211で並べ替えられた順で、引数として渡された先頭アドレスで示されるRAM13上の領域に格納する。
(5−1)お任せ印刷設定のリストアップ処理
図8は、お任せ印刷設定のリストアップ処理の流れを示すフローチャートである。
S301では、プリンタドライバ17は登録されている全てのお任せ印刷設定をリストアップし、お任せ印刷設定のリストを生成する。
S302では、プリンタドライバ17は自身がユニバーサルプリンタドライバであるか否かを判定し、ユニバーサルプリンタドライバである場合はS303に進み、ユニバーサルプリンタドライバではない場合はS305に進む。
S303では、プリンタドライバ17は、リストアップした各お任せ印刷設定の各設定項目について、当該設定項目に設定されている設定値が、ユーザによって指定されたプリンタ2から取得した値の集合(当該設定項目に設定可能な値の集合)に含まれているか否かを判定する。すなわち、ユーザが指定したプリンタ2が対応している設定値であるか否かを判定する。
プリンタドライバ17は、少なくとも一つの設定値が値の集合に含まれていないお任せ印刷設定(設定不能なお任せ印刷設定)がある場合はS304に進み、ない場合はS305に進む。
S304では、プリンタドライバ17は設定不能なお任せ印刷設定を、S301で生成したお任せ印刷設定のリストから削除する。結果として、プリンタ2が対応していない設定値が設定されているお任せ印刷設定に関する情報はアプリケーション16に返されないことになる。
S305では、プリンタドライバ17はアプリケーション16で設定値を設定できる全ての設定項目を特定する。例えば、図3に示す例では、用紙サイズ及び用紙トレイがアプリケーション16で設定値を設定できる設定項目であるので、用紙サイズ及び用紙トレイを特定する。
この特定は、種々の方法で行うことができる。例えば、あるアプリケーションAは用紙サイズ及び用紙トレイを設定可能であるとすると、アプリケーションAは用紙サイズ及び用紙トレイを設定可能であるという情報を予めプリンタドライバ17に登録しておく。そして、プリンタドライバ17は、設定値の一覧を問い合わせてきたアプリケーション16がアプリケーションAであれば、アプリケーション16で設定値を設定できる設定項目は用紙サイズ及び用紙トレイであると特定する。
あるいは、それまで問い合わせられたことのないアプリケーション16から初めて設定値の一覧が問い合わせられたときに、そのアプリケーション16から設定値の一覧を問い合わせられた全ての設定項目を記憶部14に記憶しておき、次回以降は記憶部14から設定項目を読み出すことによって特定してもよい。ただし、その場合は、アプリケーション16から初めて問い合わせられたときには、設定できる設定項目を全て特定することはできないことになる。
S306では、プリンタドライバ17は、今回問い合わせられている設定項目以外にアプリケーション16で設定できる他の設定項目があるか否かを判定する。
例えば、図3に示す例の場合、今回問い合わせられている設定項目が用紙サイズであるとすると、用紙サイズ以外に用紙トレイを設定できるので、あると判定する。
プリンタドライバ17は、ある場合はS307に進み、ない場合は本処理を終了して戻る。
S307では、プリンタドライバ17は、今回問い合わせられている設定項目以外にアプリケーション16で設定できる他の設定項目の中から一つ(上述した例では用紙トレイ)を選択する。
S308では、プリンタドライバ17は、お任せ印刷設定のリストにあるお任せ印刷設定の中に、S307で選択した設定項目(用紙トレイ)の設定値が異なり、且つ問い合わせられている設定項目(用紙サイズ)を含むそれ以外の設定項目の設定値が同じである2以上のお任せ印刷設定(重複するお任せ印刷設定)があるか否かを判定する。
例えば、図2に示す例の場合、節約印刷_トレイ1と節約印刷_トレイ2とは、選択した設定項目(用紙トレイ)に設定されている設定値が異なり、且つ問い合わせられている設定項目(用紙サイズ)を含むそれ以外の設定項目の設定値が同じである。したがって、プリンタドライバ17は「ある」と判定することになる。
なお、図2に示す例では、両面印刷_トレイ1と両面印刷_トレイ2とについても、用紙トレイ(選択した設定項目)の設定値が異なり、且つ用紙サイズ(問い合わせられている設定項目)を含むそれ以外の設定項目の設定値が同じであるので、その意味でもプリンタドライバ17は「ある」と判定することになる。
プリンタドライバ17は、あると判定した場合はS309に進み、ないと判定した場合はS310に進む。
S309では、プリンタドライバ17は、重複するお任せ印刷設定について、いずれか一つを残して他をお任せ印刷設定のリストから削除する。
例えば、節約印刷_トレイ1と両面印刷_トレイ2とを残し、節約印刷_トレイ2と両面印刷_トレイ1とをリストから削除する。
S310では、プリンタドライバ17は、今回問い合わせられている設定項目(用紙サイズ)以外にアプリケーション16で設定できる他の設定項目のうちまだ選択していない設定項目があるか否かを判定し、ある場合は全て選択するまでS307に戻って処理を繰り返し、ない場合は本処理を終了して戻る。
以上により、アプリケーション16に返すお任せ印刷設定がリストアップされる
(5−2)並べ替え処理
図9及び図10は、並べ替え処理の流れを示すフローチャートである。
ここでは並び順として、「お任せ印刷設定を、そのお任せ印刷設定に設定されている設定値と同じ値と並べる」並び順と、「先に値の集合に含まれている値を並べ、その後にお任せ印刷設定に関する情報を並べる」順とがある場合を例に説明する。
「お任せ印刷設定を、そのお任せ印刷設定に設定されている設定値と同じ値と並べる」順は、前述した図5に示す並び順である。例えば「節約印刷_トレイ1」には用紙サイズとしてA4が設定されているので、「A4」と「節約印刷_トレイ1」とが連続するように並べられる。
「先に値の集合に含まれている値を並べ、その後にお任せ印刷設定に関する情報を並べる」順は、図11に示すように、先に設定可能な値に関する情報を並べ、その後にお任せ印刷設定に関する情報を並べる並び順である。
これら2つの並び順のうちいずれの並び順で並べるかは予め設定されているものとする。この設定はプリンタドライバ17によって表示される印刷条件設定画面で行ってもよい。
以下、並べ替え処理について、引数としてDC_PAPERS(用紙ID)が指定されている場合を例に説明する。
S401では、プリンタドライバ17は空の順序リストを生成する。
S402では、プリンタドライバ17は、「設定可能な各値に関する情報」から、引数として指定されている文字列(ここではDC_PAPERS)によって示される情報項目の要素(9、1、11)を取得する。
S403では、プリンタドライバ17はS209の「お任せ印刷設定のリストアップ処理」でリストアップしたお任せ印刷設定のリストを取得する。
S404では、プリンタドライバ17は「お任せ印刷設定を、そのお任せ印刷設定に設定されている設定値と同じ値と並べる」ように設定されているか否かを判定し、設定されている場合はS405に進み、設定されていない場合(すなわち「先に値の集合に含まれている値を並べ、その後にお任せ印刷設定に関する情報を並べる」が設定されている場合)はS413に進む。
S405では、プリンタドライバ17はS402で取得した要素(9、1、11)を上から順に一つ選択する。要素の選択は、いずれの情報項目でも対応する用紙サイズが同じ順で並ぶように行うものとする。
S406では、プリンタドライバ17は選択した要素を順序リストに追加する。
S407では、プリンタドライバ17はお任せ印刷設定のリストの中に、S405で選択した要素に対応する用紙サイズが設定されているお任せ印刷設定があるか否かを判定する。
例えば、S405で選択した要素が「11」であるとすると、その要素に対応する用紙サイズはA5であり、お任せ印刷設定のリストの中にはA5が設定されているお任せ印刷設定はないので、ないと判定する。また、例えばS405で選択した要素が「9」であるとすると、その要素に対応する用紙サイズはA4であり、「節約印刷_トレイ1」には用紙サイズとしてA4が設定されているので、あると判定することになる。
プリンタドライバ17は、ある場合はS408に進み、ない場合はS410に進む。
S408では、プリンタドライバ17は、S210で取得した「情報項目に応じた情報」のうち、選択した要素に対応する設定値が設定されているお任せ印刷設定の情報を順序リストに追加する。
例えば用紙IDの場合、「情報項目に応じた情報」は(1001、1004)であり、選択した要素が9であるとすると、選択した要素に対応する設定値はA4であり、A4が設定されているお任せ印刷設定は「節約印刷_トレイ1」であるので、選択した要素に対応する設定値が設定されているお任せ印刷設定の情報である「1001」を順序リストに追加する。
S409では、プリンタドライバ17はS408で情報が順序リストに追加されたお任せ印刷設定(上述した例では節約印刷_トレイ1)をお任せ印刷設定のリストから削除する。
S410では、プリンタドライバ17は未だ選択していない要素があるか否かを判定し、ある場合は全ての要素の選択が終了するまでS405に戻って処理を繰り返し、ない場合はS411に進む。
S411では、プリンタドライバ17は、お任せ印刷設定のリストが空であるか否かを判定し、空でない場合はS412に進み、空である場合は本処理を終了して戻る。
ここで、設定可能な値(お任せ印刷設定を除く用紙IDの要素)を全て選択したにもかかわらずお任せ印刷設定のリストが空でない場合とは、ユーザが用紙サイズをカスタム設定した場合である。ユーザが用紙サイズをカスタム設定し、その用紙サイズをお任せ印刷設定に設定した場合、選択した要素に対応する設定値が設定されていないことにより、お任せ印刷設定のリストに未だお任せ印刷設定が残っていることになる。
S412では、プリンタドライバ17は、「情報項目に応じた情報」のうち、お任せ印刷設定のリストにあるお任せ印刷設定の情報を順序リストに追加する。
S413では、プリンタドライバ17は、引数として指定されている文字列(ここではDC_PAPERS)によって示される情報項目の要素(9、1、11)、S210で生成した「情報項目に応じた情報」(1001、1004)の順で順序リストに追加する。
(6)印刷処理
図12は、プリンタドライバ17によって実行される印刷処理の流れを示すフローチャートである。アプリケーション16によって表示されるメニューでユーザが印刷を指示すると、アプリケーション16はOSを介してプリンタドライバ17に印刷命令を出力し、プリンタドライバ17は印刷命令が出力されると本処理を開始する。
S501では、プリンタドライバ17は受渡し用DEVMODE構造体から各設定項目の設定値(用紙IDやお任せ印刷設定のID等)を読み出す。
S502では、プリンタドライバ17はS501で読み出したいずれかの設定値がお任せ印刷設定のIDであるか否かを判定し、お任せ印刷設定のIDでない場合はS503に進み、お任せ印刷設定のIDである場合はS504に進む。
S503では、プリンタドライバ17は受渡し用DEVMODE構造体に設定されている設定値を印刷用DEVMODE構造体にコピーする。
S504では、プリンタドライバ17はお任せ印刷設定のIDによって識別されるお任せ印刷設定の各設定項目に設定されている設定値を、それぞれ印刷用DEVMODE構造体の対応する設定項目に設定する。
S505では、プリンタドライバ17は受渡し用DEVMODE構造体と印刷用DEVMODE構造体とで矛盾する設定値が設定されているか否かを判定する。
例えば、ユーザはページ設定画面41で用紙サイズの設定値として「節約印刷_トレイ1」を設定する一方で、ページ設定画面41の用紙トレイにトレイ2を設定する可能性もある。この場合、受渡し用DEVMODE構造体に設定されている設定値(トレイ2)と、印刷用DEVMODE構造体に設定されている設定値(トレイ1)とは矛盾することになる。
プリンタドライバ17は、矛盾する設定値がある場合はS506に進み、ない場合はS510に進む。
S506では、プリンタドライバ17は設定値が矛盾する設定項目(上述した例では用紙トレイ)を抽出する。
S507では、プリンタドライバ17は図13に示す印刷設定の確認画面42を表示装置21に表示し、抽出した設定項目(用紙トレイ)の設定値について、印刷用DEVMODE構造体に設定されている設定値を、ページ設定画面41で設定した設定値で置き換えるか否かをユーザに問い合わせる。
S508では、プリンタドライバ17はS507でユーザが「置き換える」を選択した場合はS509に進み、「置き換える」を選択しなかった場合はS510に進む。
S509では、プリンタドライバ17は印刷用DEVMODE構造体のS506で抽出した設定項目(用紙トレイ)に設定されている設定値を、ユーザがページ設定画面41で設定した設定値に置き換える。
ここで、置き換えるのは用紙トレイの設定値のみであるので、ユーザが「置き換える」を選択した場合も「置き換える」を選択しなかった場合も、少なくとも、お任せ印刷設定のIDが設定されている設定項目(用紙サイズ)と、アプリケーション16からは設定値が設定されない設定項目(色数、画質、両面印刷、片面印刷ページ数など)とについては、そのIDによって識別されるお任せ印刷設定に設定されている設定値が印刷に用いられることになる。
S510では、プリンタドライバ17は印刷用DEVMODE構造体に設定されている設定値に基づいてプリンタ2を制御することにより、印刷用DEVMODE構造体に設定されている設定値に応じた形態でプリンタ2に印刷を実行させる(制御処理の一例)。
(7)実施形態の効果
以上説明した実施形態1に係るプリンタドライバ17によると、アプリケーション16から設定項目に設定可能な設定値の一覧を問い合わせられると、当該設定項目に設定可能な値に関する情報(設定可能な値と対応する名称との集合を含む)と、お任せ印刷設定に関する情報(お任せ印刷設定のIDと対応する設定名とを含む)とを設定値の一覧としてアプリケーション16に返すので、ユーザはアプリケーション16からお任せ印刷設定を指定できる。
これにより、ユーザはお任せ印刷設定を指定しようとする度にプリンタドライバ17を呼び出して印刷条件設定画面を表示させるといったことを行わなくてよく、お任せ印刷設定を指定する場合のユーザの利便性を向上できる。
更に、プリンタドライバ17によると、指定されたプリンタ2から取得した値の集合に含まれていない設定値が設定されているお任せ印刷設定についてはそのお任せ印刷設定に関する情報をアプリケーション16に返さない。
プリンタドライバ17がユニバーサルプリンタドライバである場合、同じ設定項目であっても設定可能な設定値はプリンタ2によって異なり得る。このため、お任せ印刷設定に設定されている設定値に対応していないプリンタ2が存在する可能性もある。
プリンタドライバ17がユニバーサルプリンタドライバである場合は、指定されたプリンタ2から取得した値の集合に含まれていない設定値が設定されているお任せ印刷設定についてはそのお任せ印刷設定に関する情報をアプリケーション16に返さないようにすることにより、指定されたプリンタ2が対応していない設定値が設定されているお任せ印刷設定のIDが設定値として設定されてしまうことを低減できる。
更に、プリンタドライバ17によると、アプリケーション16から少なくとも二つの設定項目についてそれぞれ設定値の一覧をプリンタドライバ17に問い合わせられた場合、少なくとも二つの設定項目のうちいずれか一つの設定項目である第1の設定項目(用紙サイズ)に対しては値の集合とお任せ印刷設定に関する情報とを設定値の一覧として返し、少なくとも二つの設定項目のうち第1の設定項目以外の設定項目である第2の設定項目(用紙トレイ)に対しては値の集合を返す一方、お任せ印刷設定に関する情報を返さない。
複数の設定項目に対してお任せ印刷設定に関する情報を返すと、それら複数の設定項目のうちある設定項目に設定されたお任せ印刷設定のIDと他の設定項目に設定されたお任せ印刷設定のIDとが異なってしまう虞がある。
プリンタドライバ17によると、少なくとも二つの設定項目のうち第1の設定項目に対してはお任せ印刷設定に関する情報を返し、第2の設定項目に対してはお任せ印刷設定に関する情報を返さないので、複数の設定項目に異なるお任せ印刷設定のIDが設定されてしまうことを低減できる。
更に、プリンタドライバ17によると、第2の設定項目に設定されている設定値が互いに異なり、第1の設定項目を含むそれ以外の設定項目に設定されている設定値が互いに同じである2以上のお任せ印刷設定があるか否かを判定し、当該2以上のお任せ印刷設定がある場合は、それら2以上のお任せ印刷設定についてはいずれか一つのお任せ印刷設定に関する情報をアプリケーション16に返す。
第2の設定項目に設定されている設定値が互いに異なり、第1の設定項目を含むそれ以外の設定項目に設定されている設定値が互いに同じである2以上のお任せ印刷設定がある場合、それら2以上のお任せ印刷設定についてはいずれか一つのお任せ印刷設定に関する情報を返せばよい。
なぜなら、それら2以上のお任せ印刷設定のうちいずれか一つのお任せ印刷設定に関する情報が設定された場合には、第2の設定項目の設定値によって、結果的にそれら2以上のお任せ印刷設定のうちのいずれかを用いることになるからである。例えば節約印刷_トレイ1が選択され、ページ設定画面41の用紙トレイにトレイ1が設定されていれば節約印刷_トレイ1を用いることになる、また、節約印刷_トレイ1が選択され、ページ設定画面41の用紙トレイにトレイ2が設定されていれば、ユーザがS507で「置き換える」を選択することにより、結果として節約印刷_トレイ2を用いることになる。
この場合、アプリケーション16に返すのはそれら2以上のお任せ印刷設定のうちいずれか一つのお任せ印刷設定に関する情報であるので、設定値の一覧に含まれるお任せ印刷設定に関する情報の数を減らすことができ、ユーザによる指定が容易になる。
更に、プリンタドライバ17によると、印刷条件(受渡し用DEVMODE構造体)に設定されているIDによって識別されるお任せ印刷設定の第2の設定項目(用紙トレイ)に設定されている設定値と、印刷条件(受渡し用DEVMODE構造体)の第2の設定項目(用紙トレイ)に設定されている設定値とが異なる場合は、それら二つの設定値のうち、予め決められた方法(本実施形態ではユーザに選択させる)によっていずれかを選択し、ユーザによって選択された設定値を用いる。
このため、プリンタドライバ17によると、受渡し用DEVMODE構造体に設定されているIDによって識別されるお任せ印刷設定の第2の設定項目に設定されている設定値と、受渡し用DEVMODE構造体の第2の設定項目に設定されている設定値とが異なる場合に、いずれの設定値を用いるかを決定できる。
更に、プリンタドライバ17によると、設定可能な値の集合に含まれる値(例えばA4,Letter,A5)と、お任せ印刷設定について生成した「情報項目に応じた情報」(例えば節約印刷_トレイ1、両面印刷_トレイ2)とを所定の並び順で並べて返すので、ユーザにとって設定値を指定し易い並び順を所定の並び順とすることにより、ユーザがより容易に設定値を指定できる。
更に、プリンタドライバ17によると、上述した並び順をユーザが選択できる。
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
(1)上記実施形態1ではデバイスとしてプリンタ2を例に説明したが、デバイスはプリンタ2に限られるものではなく、例えばスキャナやファクシミリであってもよいし、プリント機能、スキャン機能などを備える所謂複合機であってもよい。
(2)上記実施形態1では、印刷条件(受渡し用DEVMODE構造体)に設定されているIDによって識別されるお任せ印刷設定の第2の設定項目に設定されている設定値と、印刷条件(受渡し用DEVMODE構造体)の第2の設定項目に設定されている設定値とが異なる場合は、それら二つの設定値のうち、いずれの設定値を用いるかをユーザに選択させているが、いずれの設定値を用いるかは予め固定で決められていてもよい。
(3)上記実施形態1では値の集合に含まれている値に関する情報と情報項目に応じた情報との並び順をユーザが選択できる場合を例に説明したが、この並び順は予め固定で決められていてもよい。
(4)上記実施形態1では、ユーザは用紙サイズにお任せ印刷設定の設定名を設定した場合でも用紙トレイに設定値を設定できるが、用紙サイズにお任せ印刷設定の設定名を設定した場合は、用紙トレイを設定できないようにしてもよい。
あるいは、用紙サイズに設定されているIDによって識別されるお任せ印刷設定の用紙トレイに設定されている設定値と、当該お任せ印刷設定と用紙トレイの設定値のみが異なるお任せ印刷設定の用紙トレイに設定されている設定値との中からしか用紙トレイの設定値を選択できないようにしてもよい。
1・・・パーソナルコンピュータ
2(2A〜2D)・・・プリンタ
5・・・通信ネットワーク
11・・・CPU
12・・・ROM
13・・・RAM
14・・・記憶部
16・・・アプリケーションプログラム
17・・・プリンタドライバ
41・・・ページ設定画面
42・・・印刷設定の確認画面

Claims (7)

  1. アプリケーションプログラムを実行する情報処理装置で実行され、前記情報処理装置と通信可能に接続されているデバイスを制御するデバイス制御プログラムであって、
    当該デバイス制御プログラムは、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御するものであり、
    前記アプリケーションプログラムは、少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせ、当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定するものであり、
    当該デバイス制御プログラムは、
    前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、
    前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、
    前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、
    を前記情報処理装置に実行させる、デバイス制御プログラム。
  2. 請求項1に記載のデバイス制御プログラムであって、
    当該デバイス制御プログラムは複数機種の前記デバイスを制御可能であり、前記情報処理装置と通信可能に接続されている前記デバイスの中からいずれかの前記デバイスをユーザに指定させる指定処理を前記情報処理装置に実行させ、
    前記応答処理において、
    前記指定処理によって指定された前記デバイスから前記設定項目毎に当該デバイスで設定可能な値の集合を取得し、
    各前記一括設定情報の各前記設定項目について、当該設定項目に設定されている前記設定値が、前記デバイスから取得した前記値の集合に含まれているか否かを判定し、
    少なくとも一つの前記設定値が前記値の集合に含まれていない前記一括設定情報については、その一括設定情報の前記一括設定識別情報を前記アプリケーションプログラムに返さない、デバイス制御プログラム。
  3. 請求項1又は請求項2に記載のデバイス制御プログラムであって、
    前記アプリケーションプログラムは少なくとも二つの前記設定項目についてそれぞれ前記設定値の一覧を当該デバイス制御プログラムに問い合わせるものであり、
    当該デバイス制御プログラムは、
    前記応答処理において、前記少なくとも二つの設定項目のうちいずれか一つの前記設定項目である第1の設定項目に対しては前記値の集合と前記一括設定識別情報とを前記設定値の一覧として返し、前記少なくとも二つの設定項目のうち前記第1の設定項目以外の設定項目である第2の設定項目に対しては前記値の集合を返す一方、前記一括設定識別情報を返さない、デバイス制御プログラム。
  4. 請求項3に記載のデバイス制御プログラムであって、
    前記応答処理において、前記受付処理によって前記第1の設定項目について問い合わせを受け付けると、前記第2の設定項目に設定されている前記設定値が互いに異なり、前記第1の設定項目を含むそれ以外の前記設定項目に設定されている前記設定値が互いに同じである2以上の前記一括設定情報があるか否かを判定し、当該2以上の前記一括設定情報がある場合は、それら2以上の前記一括設定情報についてはいずれか一つの前記一括設定情報の一括設定識別情報を前記アプリケーションプログラムに返す、デバイス制御プログラム。
  5. 請求項3又は請求項4に記載のデバイス制御プログラムであって、
    前記制御処理において、前記設定条件の前記第1の設定項目に前記一括設定識別情報が設定されている場合に、当該一括設定識別情報によって識別される前記一括設定情報の前記第2の設定項目に設定されている前記設定値と、前記設定条件の前記第2の設定項目に設定されている前記設定値とが異なる場合は、それら二つの前記設定値のうち、予め決められた方法によっていずれかを選択し、当該選択された前記設定値を用いる、デバイス制御プログラム。
  6. 請求項1乃至請求項5のいずれか一項に記載のデバイス制御プログラムであって、
    前記応答処理は、前記値の集合に含まれている値と前記一括設定識別情報とを所定の並び順で並べて返すものであり、前記一括設定識別情報を、当該一括設定識別情報によって識別される一括設定情報に設定されている設定値と同じ値と並べる、デバイス制御プログラム。
  7. デバイスと通信可能に接続されている情報処理装置で実行され、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御する印刷プログラムであって、
    当該印刷プログラムはアプリケーションプログラムとデバイス制御プログラムとを備えて構成され、
    前記アプリケーションプログラムは、
    少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせる問い合わせ処理と、
    当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からいずれかユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定する設定処理と、
    を前記情報処理装置に実行させ、
    当該デバイス制御プログラムは、
    前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、
    前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、
    前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、
    を前記情報処理装置に実行させる、印刷プログラム。
JP2010221245A 2010-09-30 2010-09-30 デバイス制御プログラム、及び、印刷プログラム Expired - Fee Related JP5201188B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010221245A JP5201188B2 (ja) 2010-09-30 2010-09-30 デバイス制御プログラム、及び、印刷プログラム
US13/231,385 US8964215B2 (en) 2010-09-30 2011-09-13 Device control program, device control method, and printer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010221245A JP5201188B2 (ja) 2010-09-30 2010-09-30 デバイス制御プログラム、及び、印刷プログラム

Publications (2)

Publication Number Publication Date
JP2012078914A JP2012078914A (ja) 2012-04-19
JP5201188B2 true JP5201188B2 (ja) 2013-06-05

Family

ID=45889584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010221245A Expired - Fee Related JP5201188B2 (ja) 2010-09-30 2010-09-30 デバイス制御プログラム、及び、印刷プログラム

Country Status (2)

Country Link
US (1) US8964215B2 (ja)
JP (1) JP5201188B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050935A (ja) * 2011-08-04 2013-03-14 Canon Inc 印刷制御装置、印刷制御プログラムおよび印刷制御方法
JP6292779B2 (ja) * 2013-06-28 2018-03-14 キヤノン株式会社 印刷制御装置、印刷制御方法、およびプログラム
JP6198502B2 (ja) * 2013-07-25 2017-09-20 キヤノン株式会社 情報処理装置及びその方法、プログラム
JP2015118474A (ja) * 2013-12-17 2015-06-25 富士ゼロックス株式会社 印刷制御装置及びプログラム
JP6528372B2 (ja) * 2014-07-30 2019-06-12 ブラザー工業株式会社 プリンタドライバ
JP7022558B2 (ja) * 2017-06-27 2022-02-18 キヤノン株式会社 印刷システム、印刷装置と情報処理装置とその制御方法、及びプログラム
JP2019089254A (ja) * 2017-11-14 2019-06-13 キヤノン株式会社 画像形成装置、情報処理装置、画像形成装置の制御方法、情報処理装置の制御方法、及びプログラム
JP7392519B2 (ja) * 2020-03-02 2023-12-06 ブラザー工業株式会社 プログラム、インストーラ、および情報処理装置
JP7554087B2 (ja) * 2020-10-05 2024-09-19 シャープ株式会社 画像形成装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3241592B2 (ja) * 1996-03-20 2001-12-25 株式会社ピーエフユー プリンタ・システム
JPH11221946A (ja) * 1998-02-06 1999-08-17 Casio Electronics Co Ltd 印刷システム及び印刷方法
JP2000242597A (ja) * 1999-02-18 2000-09-08 Canon Inc デバイス装置に対する出力設定を行う情報処理装置、情報処理方法及びプログラムを格納した記憶媒体
JP3745258B2 (ja) * 2000-09-20 2006-02-15 キヤノン株式会社 情報処理方法及び情報処理装置及びプログラム並びに記憶媒体
JP4115083B2 (ja) * 2000-12-05 2008-07-09 キヤノン株式会社 プログラムを格納した記憶媒体及び情報処理装置並びに情報処理方法
US20040085563A1 (en) 2002-04-19 2004-05-06 Seiko Epson Corporation Computer equipment used for printer setting, printer setting method, and computer readable medium
JP2003316538A (ja) 2002-04-19 2003-11-07 Seiko Epson Corp プリンタ設定を行なうコンピュータ装置およびプリンタ設定方法並びにコンピュータプログラム
JP4281414B2 (ja) 2003-05-22 2009-06-17 セイコーエプソン株式会社 バーコードまたは二次元コードの印刷システム、バーコードまたは二次元コードのフォント設定方法、およびバーコードまたは二次元コードのフォント設定プログラム
JP2006048296A (ja) 2004-08-03 2006-02-16 Ricoh Co Ltd 情報処理装置、印刷方法、印刷プログラム、印刷情報生成プログラム及び記録媒体
JP4428344B2 (ja) * 2006-01-31 2010-03-10 ブラザー工業株式会社 印刷処理システム、およびプログラム群
US20070177179A1 (en) 2006-01-31 2007-08-02 Brother Kogyo Kabushiki Kaisha Print Processing System, Information Processing Apparatus and Computer Usable Medium
JP2008310495A (ja) * 2007-06-13 2008-12-25 Canon Inc 印刷制御装置および印刷制御方法および記憶媒体

Also Published As

Publication number Publication date
US20120081742A1 (en) 2012-04-05
JP2012078914A (ja) 2012-04-19
US8964215B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
JP5201188B2 (ja) デバイス制御プログラム、及び、印刷プログラム
US11768638B2 (en) Information processing apparatus configured to perform printing using a general-use printing program, non-transitory computer-readable recording medium and printing method therefor
JP4544257B2 (ja) 印刷装置、印刷指令プログラム、及び印刷方法
CN102756573B (zh) 信息处理装置及打印设置方法
JP6578851B2 (ja) 情報処理装置およびプログラム
JP2013030147A (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
JP7517506B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2024052771A (ja) 情報処理装置、制御方法およびプログラム
JP2025170114A (ja) サポートプログラム
JP5392201B2 (ja) ユニバーサルドライバ、及びデバイス制御方法
US11630977B2 (en) Printer, print system, and storage medium storing program
JP7251266B2 (ja) プログラムの組み合わせおよびプログラム
JP2019047453A (ja) 画像処理プログラムおよび情報処理装置
JP7757846B2 (ja) サポートプログラム
JP2024029499A (ja) 画像形成装置
JP6273756B2 (ja) デバイスドライバ、情報処理装置および出力設定変換方法
JP2018198377A (ja) 画像形成装置
JP2022109424A (ja) サポートプログラム
JP2022116553A (ja) サポートプログラム
EP4576756A1 (en) Printing device, printing server, information processing device, and control methods for same
EP4579427A1 (en) Printing device and control method therefor
JP7255277B2 (ja) 画像処理装置および画像処理システム
US20250284439A1 (en) Print control program, image processing system, and image processing method
JP2019160061A (ja) 情報処理装置、情報処理方法及びプログラム
JP2014210384A (ja) 画像形成装置及び画像形成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Ref document number: 5201188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees