JP2024016351A - 情報処理装置、プログラム - Google Patents

情報処理装置、プログラム Download PDF

Info

Publication number
JP2024016351A
JP2024016351A JP2022118395A JP2022118395A JP2024016351A JP 2024016351 A JP2024016351 A JP 2024016351A JP 2022118395 A JP2022118395 A JP 2022118395A JP 2022118395 A JP2022118395 A JP 2022118395A JP 2024016351 A JP2024016351 A JP 2024016351A
Authority
JP
Japan
Prior art keywords
information
print
print data
data generation
paper information
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
JP2022118395A
Other languages
English (en)
Inventor
将一 松田
Shoichi Matsuda
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 JP2022118395A priority Critical patent/JP2024016351A/ja
Priority to CN202310902509.4A priority patent/CN117453155A/zh
Priority to US18/357,525 priority patent/US12112078B2/en
Publication of JP2024016351A publication Critical patent/JP2024016351A/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/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/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; 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/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; 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

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)

Abstract

【課題】 設定ファイルをあらかじめ用意することなく、拡張アプリケーションを関連付ける前後でのユーザビリティを向上することを目的とする。【解決手段】 情報処理装置のコンピュータによって実行可能であり、異なる複数の印刷装置に対して利用可能な印刷データ生成ソフトウェアと関連付けられて機能の拡張を行うプログラムが、コンピュータに、印刷装置から用紙の情報を取得する処理と、印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報の並び順が先になるように、前記取得した用紙情報を追加する処理を実行する。【選択図】 図6

Description

本発明は、印刷の機能を拡張する技術に関する。
印刷装置の制御用ソフトウェアとしてホストコンピュータにインストールされたプリンタドライバを利用し、ホストコンピュータに接続された印刷装置に対して印刷指示を行う構成が知られている。ホストコンピュータには、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成され、OSから呼び出されて動作する。印刷装置を提供するベンダは、OSの仕様に適合するプリンタドライバを提供することにより、そのOSを用いて印刷装置に印刷を指示する手段を提供することができる。
近年、Windows(登録商標)において、複数のベンダの提供する印刷装置で共通して利用可能な標準的なクラスドライバ(以下、「標準ドライバ」とも呼ぶ)が提供されている。このような標準ドライバは、OSのパッケージの中に同梱されており、ホストコンピュータに任意の印刷装置を接続することにより簡易に利用可能となる。よって、印刷装置に適した機種固有のプリンタドライバを別途インストールする必要が無く、利便性が高い。また、標準ドライバは、接続した印刷装置から取得した情報に基づき生成されたPrintCapabilitiesに応じて印刷機能を指定可能に構成される。これにより、標準ドライバを利用するユーザは、1つの標準ドライバを利用しているにも関わらず、接続した印刷装置の能力に応じた印刷機能を指定することができる。
標準ドライバには、機能拡張用のアプリケーション(以下、「拡張アプリケーション」とも呼ぶ)を関連付けることができる。拡張アプリケーションは、印刷装置を提供するベンダが提供することができる。ベンダはこの拡張アプリケーションを提供することにより、標準ドライバのみでは実現できない機能(拡張機能)を提供することができる。特許文献1には、拡張アプリケーション初回起動時の設定に関する技術が開示されている。
特開2021-177356号公報
OS標準ドライバに拡張アプリケーションを関連付けた際、拡張アプリケーションは印刷装置から取得したベンダ独自の用紙の種類(以下、「メディア」とも呼ぶ)の情報を追加し、表示することができる。ここで、標準ドライバが拡張アプリケーションを関連付ける前に、サポートしている各メディアに対応する設定値(数値)を定義し、標準ドライバの印刷設定初期値として設定されているメディアに応じた設定値(数値)を保存している。しかし、拡張アプリケーションを関連付けると、拡張アプリケーションが追加したベンダ独自のメディアも含めた設定値(数値)を再定義する。そのため、印刷設定初期値として設定されているメディアの設定値(数値)は、拡張アプリケーションを関連付ける前後で同一である。しかし、その値が指し示すメディアが変わってしまうため、拡張アプリケーションを関連付けると、設定していたメディアが変わってしまうという課題がある。
特許文献1では、設定ファイルに基づいて拡張アプリケーション起動時の初期値を決定することができる。しかしながら、設定ファイルをあらかじめ用意する必要があり、ユーザにとって手間がかかる。
本発明は、上述のような状況を鑑みてなされたものである。すなわち、設定ファイルをあらかじめ用意することなく、拡張アプリケーションを関連付け後のユーザビリティを向上することを目的とする。
上記課題を解決するために、本発明における情報処理装置は、異なる複数の印刷装置に対して利用可能な印刷データ生成ソフトウェアと、前記印刷データ生成ソフトウェアと関連付けられて機能の拡張を行う拡張アプリケーションと、前記印刷データ生成ソフトウェアの印刷機能情報に基づいた画面を提供するオペレーティングシステムを備える情報処理装置であって、前記拡張アプリケーションは、前記印刷装置から用紙の情報を取得する取得手段と、前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報の並び順が先になるように、前記取得した用紙情報を追加する追加手段を有することを特徴とする。
本発明によれば、設定ファイルをあらかじめ用意することなく、拡張アプリケーションを関連付け後のユーザビリティを向上することができる。
印刷システムのハードウェア構成を示すブロック図。 印刷システムの構成図。 PDCの一例。 印刷データ生成ソフトウェアの印刷設定画面の一例。 印刷設定値の一例。 印刷機能情報の編集処理フロー図。 編集後のPDCの一例。 PDC編集後のメディアの設定値の一例。 拡張アプリケーションの印刷設定画面表示処理フロー図。 拡張アプリケーションの印刷設定画面の一例。 拡張アプリケーションのメディア設定アイテム生成処理フロー図。 第2の実施形態における印刷機能情報の編集処理フロー図。 第2の実施形態における編集後のPDCの一例。 第2の実施形態におけるPDC編集後のメディアの設定値の一例。 第2の実施形態における拡張アプリケーションの印刷設定画面の一例。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
<<第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)は、拡張アプリケーション210が、印刷データ生成ソフトウェア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)とも呼ばれる。印刷機能情報203は、印刷データ生成ソフトウェア202の構成ファイルに含まれ、変更不可能なファイルとして外部記憶装置114に配置される。もしくは、印刷データ生成ソフトウェア202により、印刷機能情報203は動的に生成されることもできる。具体的には、印刷データ生成ソフトウェア202もしくはOSは、印刷装置102から印刷装置の属性データを取得(取得処理)し、取得した属性データ内の属性情報に応じて印刷機能情報203を生成するよう構成することができる。なお、動的に印刷機能情報203が生成される場合、生成された印刷機能情報203は編集可能である。なお、印刷装置102から取得される印刷装置の属性データとは、印刷装置に対してIPP(Internet Print Protocol)のGet-Printer-Attributesオペレーションを発行することにより取得するレスポンスである。レスポンスの中には、印刷装置102で指定可能な機能(印刷装置の能力)を示す属性情報とその属性情報に関連する設定値を含む。このレスポンスはRAM113に保存される。
このように構成することで、印刷データ生成ソフトウェア202は、接続された印刷装置102に応じて、それぞれの印刷装置102で利用可能な印刷機能をユーザが指定可能に構成する事ができる。すなわち、異なる機能を持つ印刷装置や、異なるベンダが開発した印刷装置を接続した場合であっても、印刷データ生成ソフトウェア202は、接続した印刷装置に応じて利用可能な印刷機能をユーザが指定可能に構成することができる。なお、ここでは、印刷データ生成ソフトウェア202として、Windows(登録商標)11に搭載されている、IPP Class Driverを利用した構成について説明する。IPP Class Driverは、IPP(Internet Print Protocol)と呼ばれる標準的な印刷プロトコルの仕様に従って印刷処理を実行するプリンタドライバであり、OSのパッケージの中に同梱されている。IPP Class Driverは、印刷装置102の機種に応じた固有のプリンタドライバではなく、複数の印刷装置で共通して利用可能な標準的なクラスドライバである。また、IPP Class Driverは、接続した印刷装置102でサポートする印刷機能をユーザが指定できるように、接続した印刷装置102の能力情報を取得し、その情報を元に印刷機能情報203を生成する。印刷設定初期値情報204は、印刷設定画面が起動した時に使用される設定値である。
図2(b)は、拡張アプリケーション210が、印刷データ生成ソフトウェア202および印刷装置102と関連付けられている場合の構成を示す図である。なお、以下において特に言及しない構成や処理については、図2(a)と同等の構成となる。
拡張アプリケーション210は、印刷データ生成ソフトウェア202の機能を拡張するためのソフトウェアであり、OSに予め含まれていない(同梱されていない)ソフトウェアである。そのためユーザがホストコンピュータ101を操作して拡張アプリケーション210を、インターネットを介してサーバからダウンロードして、インストールする必要がある。若しくは、ホストコンピュータ101に印刷装置102が接続されたことに基づき、自動的にインストールされてもよい。具体的には、ホストコンピュータ101に印刷装置102が接続された場合、OSは印刷装置102からデバイス識別情報を取得する。OSは、取得されたデバイス識別情報に対応する拡張アプリケーション210を、インターネットを介してサーバからダウンロードし、インストールしても良い。つまり、印刷データ生成ソフトウェア202と、拡張アプリケーション210は別ファイルとしてホストコンピュータ101に保持される。
なお、印刷データ生成ソフトウェア202および拡張アプリケーション210は、更新されてバージョンアップされることもあるが、この更新処理も別々のタイミングで行われる。つまり、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるタイミングと、拡張アプリケーション210が取得されるタイミングは異なる。また、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるトリガーと、拡張アプリケーション210が取得されるトリガーも異なる。なお、拡張アプリケーション210がインストールされた場合、OSが、拡張アプリケーション210を、印刷データ生成ソフトウェア202および印刷装置102に関連付ける。
本実施形態で説明する拡張アプリケーション210は、印刷設定画面拡張ユニット211とスキップ制御ユニット212と印刷機能拡張ユニット213と印刷データ編集ユニット214と通知ユニット215を備える。また、拡張アプリケーション210は、各ユニットから共通してアクセス可能な共有情報210を備える。共有情報210の実態は、外部記憶装置114に保存されたファイル、もしくはRAM113上に格納された情報である。拡張アプリケーション210は、OSが提供するAPI(Application Program Interface)を利用することで、共有情報210への情報の書き込みや読み出しを行う。
なお、拡張アプリケーション210は、各ユニットの処理が終わるたびに動作を終了しても良い。その場合、各ユニットを使う要求を受ける度にOSが拡張アプリケーション210を起動することになる。また、別の形態も考えられる。例えば印刷設定画面拡張ユニット211の処理が終了するとOSは拡張アプリケーション210の動作を終了させるが、スキップ制御ユニット212の処理が終了してもOSは拡張アプリケーション210を起動させたままにしても良い。
さらに、拡張アプリケーション210は、各ユニットの処理の中で、処理をキャンセルしても良い。キャンセルした場合、印刷キュー上の処理中のジョブがOSにより削除される。
描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに発行する。本構成下でも、図2(a)の構成と同様、描画アプリケーション201は、印刷設定画面を表示させることができる。本構成下では、拡張アプリケーション210が提供する印刷設定画面が表示される。具体的には、拡張アプリケーション210が備える印刷設定画面拡張ユニット211が提供する印刷設定画面が表示される。なお、印刷設定画面拡張ユニット211により提供される印刷設定画面が表示されるか否かはユーザの操作に依存する。
また、描画アプリケーション201がユーザから印刷要求を受けつけ、印刷指示がOSに発行されると、OSはスキップ制御ユニット212を起動する。スキップ制御ユニット212は、印刷データ生成ソフトウェア202の処理をスキップするか否かの制御を行う。スキップ制御ユニット212のスキップ制御処理の後、OSは、描画アプリケーション201から出力された印刷指示に基づき中間データを生成し、中間データが印刷データ生成ソフトウェア202に渡される。ここで、スキップ制御ユニット212でスキップ制御が行われない場合、中間データは印刷データ生成ソフトウェア202で印刷装置102が解釈可能な印刷データへ処理され、印刷データ編集ユニット214へ渡される。一方、印刷データ生成ソフトウェア202のスキップが行われる場合は、中間データは印刷データ生成ソフトウェア202で処理されずに、印刷データ編集ユニット214に渡される。これにより、中間データを印刷データ編集ユニット214で処理することが可能となる。
印刷データ編集ユニット214は、印刷データ生成ソフトウェア202から渡される中間データもしくは印刷データ生成ソフトウェア202により処理された印刷データの編集を行う。編集内容として、割り付け印刷を例にとると、印刷データ編集ユニット214は、OSから受け取った割り付け印刷の印刷設定情報に基づいて、中間データもしくは印刷データのレイアウトを変更する。また、印刷データ編集ユニット214は表示部119にUI画面を表示することが可能であり、中間データもしくは印刷データのレイアウト結果をプレビュー画面として表示することができる。なお、印刷データ編集ユニット214では、画面を開いたままの状態では印刷データは印刷装置102に送信されず、画面を閉じることで印刷データの送信処理が動作する。
印刷データ編集ユニット214が印刷データを編集した後、印刷データは印刷装置102へ渡される。印刷装置102は、受け付けた印刷データに基づき紙面への印刷を行う。
なお、スキップ制御ユニット212で印刷データ生成ソフトウェア202がスキップされた場合、印刷データ編集ユニット214が、受け取った中間データを印刷装置102が解釈可能な印刷データへ変換しても良い。また、中間データを印刷データへ変換するために、OSが提供する機能を利用しても良い。
拡張アプリケーション210は、印刷機能拡張ユニット213を有する。印刷機能拡張ユニット213は、印刷データ生成ソフトウェア202もしくはOSが生成した印刷機能情報203(PDC)を編集することができる。印刷機能拡張ユニット213は、拡張アプリケーション210が提供する機能の追加、印刷装置102はサポートしているが印刷データ生成ソフトウェア202がサポートしていない機能の追加を行うことができる。また、印刷機能拡張ユニット213は、印刷機能の設定値同士の排他関係の追加も行うことができる。OSは、拡張アプリケーション210が印刷装置102と印刷データ生成ソフトウェア202に最初に関連付けられた時に、印刷機能拡張ユニット213を起動する。さらに、OSは、OS起動時等、それ以外のタイミングで印刷機能拡張ユニット213を起動してもよい。このようにすることで、印刷装置102に対して後からオプション装置(例えば、フィニッシャー等)が追加される。そして、印刷に関わる機能が拡張されるようなケースにおいて、印刷機能拡張ユニット213は、拡張機能を検知し、印刷機能情報203に追加することができる。
また、拡張アプリケーション210は通知ユニット215を有する。通知ユニット215は、印刷装置102のエラー発生に呼応してユーザに対して通知を表示することが可能である。例えば、印刷装置102で用紙なしエラーが発生すると、それを印刷データソフトウェア202が検知し、OSは、OSの機能であるトースト通知と呼ばれる通知機能を使って、メッセージを表示部119に表示させる。ユーザがこのトースト通知を押下するとで、拡張アプリケーション210の通知ユニット215がOSにより呼び出され、通知ユニット215のUI画面が表示される。通知ユニット215のUI画面では、例えば用紙なしエラーの詳細メッセージや用紙充填方法などの表示を行うことができる。
なお、拡張アプリケーション210は一度印刷装置102へ印刷データを送信してしまうと、各ユニットの処理途中で印刷データに紐づくガイドなどの画面表示は行うことができない。
また、本実施形態を実現するための拡張アプリケーション210の構成は、前述の機能(ユニット)を全て備えるものに限定されず、機能の一部のみを持つものや、他の機能を有するものでもよい。また、拡張アプリケーション210は、単に印刷ソフトウェアと呼ばれることもある。以上のように、拡張アプリケーション210は、以下の機能のうち、少なくとも1つを備える。
・設定画面を表示する機能(印刷設定画面拡張ユニット211)
・印刷データ生成ソフトウェア202の処理をスキップするか否かを制御する機能(スキップ制御ユニット212)
・印刷装置に入力される印刷データを編集する機能(印刷データ編集ユニット214)
・印刷データ生成ソフトウェアで指定可能な機能を拡張する機能(印刷機能拡張ユニット213)
・印刷装置102のエラー発生に呼応して画面を表示する機能(通知ユニット215)
<印刷機能拡張ユニットによる印刷機能情報の編集処理>
図3は、印刷データ生成ソフトウェア202が印刷装置102からサポートする印刷機能情報取得し、生成したPDCの一例である。PDC301には、印刷装置102がサポートしている機能(Feature)の情報や、ある機能における設定値(Option)の情報が含まれる。例えば、情報302は、PageMediaType(メディア)としてAutoSelect(自動選択)やPlain(普通紙)が指定可能であることを示す。また、各設定値の中で初期値とする設定値は、defaultの値をtrueとして示すことができる。
図4(a)は、描画アプリケーション201が、印刷データ生成ソフトウェア202が提供する印刷設定画面を表示させた時の、印刷データ生成ソフトウェア202が提供する印刷設定画面の例である。印刷設定画面401が起動した時の各設定値は、印刷データ生成ソフトウェア202の印刷設定初期値情報204によって決定される。図4(a)では、印刷設定初期値情報204の値として、メディアが「自動選択」の状態であった時の例であり、メディア402として「自動選択」が設定されている状態を示す。図4(b)は、メディア402のコンボボックスを選択した時の状態であり、メディアの各設定値403が選択可能である。
印刷設定画面を開いた時の初期設定値は、印刷設定初期値情報204によって決定される。印刷設定初期値情報204はDEVMODEと呼ばれるOSが定めるデータ構造で保存されている。図5(a)は、印刷設定初期値情報204のDEVMODEの一例を示したものであり、DEVMODEには、用紙サイズやメディアと言った各種印刷設定情報が保存されている。図5(a)では、本実施例の印刷設定初期値情報204として、メディアの初期値が「259」という値であり、その値が対応するメディアは、後述する図5(b)の情報から「自動選択」であることを示す。図5(b)は、図5(a)のdmMediaType(メディア)の各種値と対応するメディアの一覧であり、DeviceCapabilitiesと呼ばれるOSのI/Fで取得可能な情報である。図5(b)の各設定値は、PDC301に記載されているサポートしているメディアの情報302から印刷データ生成ソフトウェア202が定義するものである。OSがあらかじめ定義している値(1:普通紙)以外は、印刷データ生成ソフトウェア202が独自に値を定義する((例)259:自動選択)。
図6は、拡張アプリケーション210が印刷装置102と印刷データ生成ソフトウェア202に最初に関連付けられた時に、印刷機能拡張ユニット213が、印刷機能情報203(PDC301)を編集する時の処理フローの例である。印刷機能拡張ユニット213は、S601にて、印刷装置102からメディア(ベンダ独自メディア)の情報を取得する。次にS602において、印刷機能拡張ユニット213は、PDC301内のメディアの情報302の各パラメータに対して標準メディア(namespaceと呼ばれるオプションの属性が、pskとして定義されたメディア)であるか確認する。そして、標準メディアの場合、そのメディアをPDC301から削除する。本実施例では、PDC301に記載されているメディアの情報302が全て標準メディアである。なお、S602で印刷機能拡張ユニット213が標準メディアを判別する際、namespaceがベンダ独自のnamespace(ns0002)ではないメディアを標準メディアと判別しても良い。ここで、PDC301から削除する標準メディアの情報については後述の処理の追加処理(S606)で使用するため、標準メディアの情報は、予めRAM113に保存して置く。その後、S604において、印刷機能拡張ユニット213は、全メディアのチェックが完了したか判断し、完了していない場合、上記処理を繰り返す。全メディアのチェックが完了した場合、S605において、印刷機能拡張ユニット213は、PDCのメディア情報にS601に取得したベンダ独自メディアを追加する。S606にて、S603でRAM113に保存(保持処理)しておいた標準メディアの情報を追加する。その際、PDC301に記載してあったメディアの並び順で追加することで、PDC301に記載してあったメディアの並び順と変わらないように追加する。
なお、S601において、印刷機能拡張ユニット213は、印刷装置102から情報を取得できなかった場合、S605の独自メディアは存在しないものとし、S602~S606の処理は行わない。
図7は、印刷機能拡張ユニット213によって再生成された印刷機能情報203(PDC701)を示している。S605にて追加された独自メディアの情報が独自メディア情報702として記載されており、S606にて追加された標準メディアの情報が標準メディア情報703として記載されている。標準メディアは、namespaceと呼ばれるオプションの属性が、pskとして定義されている。図7の例では、標準メディアとして、自動選択、普通紙、フォト、封筒が記載されている。
再生成されたPDC701内のメディアの情報を元に、各メディアに対応するDEVMODEのパラメータをOSが再生成する。図8は、再生成されたDEVMODEのメディアのパラメータ一覧を示している。OSは、PDC内の最後尾のメディアから値を設定するため、標準メディアは拡張アプリケーション210関連付け後も同じ値(図5(b)と同じ値)となる。
印刷データ生成ソフトウェア202の印刷設定初期値情報204としては、図5に示すようにメディアは「259」の値が設定されている。拡張アプリケーション210関連付け後も、拡張アプリケーション210の印刷設定画面拡張ユニット211で表示されるメディアは、同じ「259」の値に対応した「自動選択」が設定された状態で起動する。なお、本実施形態では、「自動選択」(「259」の値)がメディアの初期値として設定されている例を示している。しかし、他の標準メディアである「フォト」(「258」の値)がメディアの初期値であった場合も、本処理を行うことで図8に示すように拡張アプリケーション関連付け後も同じメディアにすることができる。
<印刷機能拡張ユニットによる印刷設定画面表示処理>
ユーザが描画アプリケーション201から印刷設定画面を表示させると、拡張アプリケーション210が備える印刷設定画面拡張ユニット211が提供する印刷設定画面が表示される。印刷設定画面拡張ユニット211が提供する印刷設定画面を表示する際に行われる処理を図9に示す。まず、図9(a)の処理がOSにより行われる。OSは、S901にて印刷設定初期値情報204の値を取得し、その値をS902にてPrintTicket(PT)に変換する。本実施例の場合、図5(a)に示すメディアの初期値「259」は、拡張アプリケーション210関連付け後の設定値一覧(図8)の中から具体的にどのメディアであるか判別される。そして、「259」の値が割り当てられているメディア(「自動選択」)でPTが生成される。その後、印刷設定画面拡張ユニット211が図9(b)に示す処理を行う。印刷設定画面拡張ユニット211は、S903にて、S902で生成されたPTを取得し、そのPTの値(メディア「自動選択」)をS904にて初期値として設定画面を表示する。
図10は、表示された印刷設定画面拡張ユニット211が提供する印刷設定画面を示す。印刷設定画面1001は、図9の処理により、印刷設定初期値情報204の設定値で表示された状態であり、メディア1002の設定値が、拡張アプリケーション210を関連付ける前の値と同じ「自動選択」である。また、メディア1002のコンボボックスを選択した時、図10(b)に示すように、メディアの設定値の一覧1003が表示され選択可能である。
ここで、メディアの設定値の一覧1003の並び順は、PDC701で記載されているメディアの並び順で表示してしまうと、標準メディア703がメディアの設定値の一覧1003の下の方に表示され操作性が悪くなる。そのため、図11に示すように、メディア1002のコンボボックスのアイテム表示順を決定している。具体的には、まず印刷設定画面拡張ユニット211は、S1101にて、PDC601の情報をPCとして取得する。その後、S1102にて、印刷機能拡張ユニット213は、PC内に記載されている各メディア(メディア)の種類を判定する。標準メディアであればS1103にてコンボボックスの先頭に該当メディアを配置し、標準メディアでなければ、S1104にてコンボボックスの最後尾に該当メディアを配置する。標準メディアかどうかは、namespaceと呼ばれるオプションの属性が、pskとして定義されているかで判定する。その後、S1105において、印刷機能拡張ユニット213は、記載されている全メディアのチェックが完了したか判断し、完了していない場合、上記処理を繰り返す。全メディアの判定が完了すれば処理を終了する。このようにコンボボックス内の表示順を並び替えることで、図10(b)に示すように標準メディアが上位に表示され選択可能となる。
以上のように、本実施形態における印刷システムでは、拡張アプリケーションを関連付けた後も、メディアの初期値を維持することができる。本実施形態による印刷システムでは、拡張アプリケーション関連付け後も、ユーザが特別な操作をしなくとも標準ドライバと同じ設定で印刷可能となる。
<<第2の実施形態>>
以下では、第2に実施形態について説明する。本実施形態は、印刷装置の能力に応じて初期設定メディアを変更する構成である。具体的には、プリンタの種類が12色機である場合、お勧めのメディアである「光沢プロ プラチナ」をデフォルト値になるよう制御する。なお、以下、説明において言及がない構成や処理については第1の実施形態と同等であるため、説明を省略する。
<第2の実施形態における印刷機能拡張ユニットによる印刷機能情報の編集処理>
図12は、本実施形態において、拡張アプリケーション210が印刷装置102と印刷データ生成ソフトウェア202に最初に関連付けられた時に、印刷機能拡張ユニット213が、印刷機能情報203(PDC301)を編集する時の処理フローの例である。図6と同じ処理については、同じ番号で記載しており説明を省略する。まず、S1201において、印刷機能拡張ユニット213は、印刷装置102から印刷装置102が搭載しているインク情報を取得する。その後、PDCに独自メディアと標準メディアを追加した後に、S1202において、S1201にて取得した搭載インク情報から、印刷装置102がサポートしているインクが12色であるか判断する。12色機である場合、S1203にて、既存のメディアの初期値(PDC内のdefault値がtrueのメディア)をPDC内から一旦削除し、default値とfalseに変更したパラメータとして再度追加する。その後、S1204にて、初期値として設定したいメディアである「光沢プロ プラチナ」をPDCから削除する。削除した「光沢プロ プラチナ」の情報を、PDCのメディアの初期値の位置である最後尾から4番目(標準メディアの個数番目)にdefault値trueで追加する。なお、S1201において、印刷機能拡張ユニット213は、印刷装置102から情報を取得できなかった場合、S1202の判定は、12色機ではない、と判断される。
図13は、図12の処理にて作成したPDCの一例である。PDC1301では、PageMediaType(メディア)の設定一覧が記載されている。1302は以前の初期値として設定されていたパラメータであり、初期値の属性であるdefault値がfalseに変更され再度追加されている。また、新たに初期値として指定した「光沢プロ プラチナ」(canon.mtplatinum)が、初期値の位置1303にdefault値がtrueで追加されている。
また、図14は、PDC1301のメディアの各設定値の、DEVMODEのパラメータ一覧を示しており、初期値「259」の値として、「光沢プロ プラチナ」(独自メディアA)が割り当たっている。
<第2の実施形態における印刷機能拡張ユニットによる印刷設定画面表示処理>
図15は、拡張アプリケーション210が備える印刷設定画面拡張ユニット211が提供する印刷設定画面であり、ユーザが描画アプリケーション201から印刷設定画面を表示させた際に表示される。拡張アプリケーション210の印刷設定画面拡張ユニット211を起動すると表示される印刷設定画面である。印刷設定画面拡張ユニット211起動時の処理は、第1の実施形態同様、図9に示す処理が行われる。印刷設定画面1001は、メディア1501の設定値として、PDC1301で初期値として設定された「光沢プロ プラチナ」が設定された状態で起動する。
尚、本実施形態では、12色機である場合に、「光沢プロ プラチナ」を初期値として設定する例を説明した。しかしながら、この例に限らず、印刷装置の能力に応じてメディアの初期設定を変更するようにしてもよい。例えば、印刷装置毎に、初期値とするメディアを対応づけたテーブルを保持しておき、そのテーブルを用いて、印刷装置に応じてメディアの初期設定を変更する。
以上により、拡張アプリケーション210は、印刷装置の能力に応じてメディアの初期設定を変更することで、ユーザに対して最適なメディアを提供することが可能になり、より高品質な印刷を提供することが可能になる。
<<その他の実施形態>>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。プログラムは、情報処理装置のコンピュータによって実行可能である。

Claims (9)

  1. 異なる複数の印刷装置に対して利用可能な印刷データ生成ソフトウェアと、前記印刷データ生成ソフトウェアと関連付けられて機能の拡張を行う拡張アプリケーションと、前記印刷データ生成ソフトウェアの印刷機能情報に基づいた画面を提供するオペレーティングシステムを備える情報処理装置であって、
    前記拡張アプリケーションは、
    前記印刷装置から用紙の情報を取得する取得手段と、
    前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報の並び順が先になるように、前記取得した用紙情報を追加する追加手段を有することを特徴とする情報処理装置。
  2. 前記追加手段は、前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報を削除し、前記取得した用紙情報を追加し、前記削除した用紙情報を追加することを特徴とする請求項1に記載の情報処理装置。
  3. 前記追加手段によって前記既に記載されている用紙情報を削除する際、前記既に記載されている用紙情報を保持部に保持する保持手段を有することを特徴とする請求項2に記載の情報処理装置。
  4. 前記追加手段は、前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報を削除し、前記取得した用紙情報を追加し、前記保持部に保持された用紙情報を追加することを特徴とする請求項3に記載の情報処理装置。
  5. 情報処理装置のコンピュータによって実行可能であり、異なる複数の印刷装置に対して利用可能な印刷データ生成ソフトウェアと関連付けられて機能の拡張を行うプログラムであって、
    前記コンピュータに、
    印刷装置から用紙の情報を取得する取得処理と、
    前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報の並び順が先になるように、前記取得した用紙情報を追加する追加処理
    を実行させ、
    前記印刷機能情報は、画面を提供される際に基づく情報であることを特徴とするプログラム。
  6. 前記追加処理は、前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報を削除し、前記取得した用紙情報を追加し、前記削除した用紙情報を追加することを特徴とする請求項5に記載のプログラム。
  7. 前記追加処理によって前記既に記載されている用紙情報を削除する際、前記既に記載されている用紙情報を保持部に保持する保持処理を有することを特徴とする請求項6に記載のプログラム。
  8. 前記追加処理は、前記印刷データ生成ソフトウェアの印刷機能情報に、既に記載されている用紙情報を削除し、前記取得した用紙情報を追加し、前記保持部に保持された用紙情報を追加することを特徴とする請求項7に記載のプログラム。
  9. 請求項5に記載のプログラムを格納した記憶媒体。
JP2022118395A 2022-07-26 2022-07-26 情報処理装置、プログラム Pending JP2024016351A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022118395A JP2024016351A (ja) 2022-07-26 2022-07-26 情報処理装置、プログラム
CN202310902509.4A CN117453155A (zh) 2022-07-26 2023-07-21 信息处理装置和存储介质
US18/357,525 US12112078B2 (en) 2022-07-26 2023-07-24 Information processing apparatus capable of extending print functions and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022118395A JP2024016351A (ja) 2022-07-26 2022-07-26 情報処理装置、プログラム

Publications (1)

Publication Number Publication Date
JP2024016351A true JP2024016351A (ja) 2024-02-07

Family

ID=89580556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022118395A Pending JP2024016351A (ja) 2022-07-26 2022-07-26 情報処理装置、プログラム

Country Status (3)

Country Link
US (1) US12112078B2 (ja)
JP (1) JP2024016351A (ja)
CN (1) CN117453155A (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015232755A (ja) * 2014-06-09 2015-12-24 キヤノン株式会社 情報処理装置、印刷装置、情報処理装置のドライバ処理方法、印刷装置のドライバ処理方法、及びプログラム
JP7171272B2 (ja) * 2018-07-05 2022-11-15 キヤノン株式会社 情報処理装置及びプログラム
JP7321695B2 (ja) * 2018-11-07 2023-08-07 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及び、プログラム
JP2021177356A (ja) 2020-05-08 2021-11-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP7483522B2 (ja) * 2020-06-15 2024-05-15 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム

Also Published As

Publication number Publication date
US12112078B2 (en) 2024-10-08
CN117453155A (zh) 2024-01-26
US20240036775A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
JP7446815B2 (ja) プログラム及び制御方法
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
JP7040204B2 (ja) アプリケーションプログラム
JP7528176B2 (ja) 情報処理装置及びプログラム
JP7309348B2 (ja) プログラム及び制御方法
JP7443056B2 (ja) 情報処理装置、制御方法およびプログラム
CN115809030A (zh) 信息处理设备、信息处理设备的控制方法和存储介质
JP2023110778A (ja) プログラム、情報処理装置および制御方法
JP2024016351A (ja) 情報処理装置、プログラム
JP2023125749A (ja) プログラム、情報処理装置および制御方法
JP2023034953A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP7542034B2 (ja) 情報処理装置、方法およびアプリケーションプログラム
US12086486B2 (en) Storage medium, information processing apparatus, and control method for providing status notification about a printing apparatus
JP2024058153A (ja) 情報処理装置、制御方法およびプログラム
US12093072B2 (en) Supporting program for control of information processing apparatus obtains print job, creates new job name, and transmits to virtual printer
JP2024016353A (ja) 情報処理装置、プログラム
JP2024016352A (ja) 情報処理装置、プログラム
JP2024018088A (ja) 情報処理装置、情報処理方法およびプログラム
JP2024018086A (ja) 情報処理装置、情報処理方法およびプログラム
JP2024018087A (ja) 情報処理装置、情報処理方法およびプログラム
JP2024130260A (ja) 情報処理装置、方法およびプログラム
JP2023111155A (ja) 印刷システム、情報処理装置、印刷装置、印刷システムの制御方法、情報処理方法、及びプログラム
JP2008282330A (ja) 画像形成装置、情報処理装置印刷刷設定更新方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213