(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-01
(45)【発行日】2024-03-11
(54)【発明の名称】印刷装置、情報処理装置及びプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240304BHJP
H04N 1/00 20060101ALI20240304BHJP
B41J 29/38 20060101ALI20240304BHJP
【FI】
G06F3/12 332
G06F3/12 320
G06F3/12 331
H04N1/00 127B
B41J29/38 202
B41J29/38 204
(21)【出願番号】P 2019123647
(22)【出願日】2019-07-02
【審査請求日】2022-06-27
【前置審査】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002767
【氏名又は名称】弁理士法人ひのき国際特許事務所
(72)【発明者】
【氏名】菅野 勝一
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2016-126444(JP,A)
【文献】特開2005-063415(JP,A)
【文献】特開2017-010324(JP,A)
【文献】特開2006-059216(JP,A)
【文献】特開2006-079235(JP,A)
【文献】特開2018-077903(JP,A)
【文献】特開2015-125478(JP,A)
【文献】特開2013-161377(JP,A)
【文献】特開2019-074906(JP,A)
【文献】「インタネット印刷プロトコル(IPP) 1.1: モデル及び機能定義」,[online],2015年11月26日,https://web.archive.org/web/20151126060225/http://www.y-adagio.com/public/standards/tr_ipp_ms_2911/MainIppModelV11.htm#3.1.5
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置から所定のプロトコルを用いて送信される印刷ジョブを受信して印刷を行う印刷装置であって、
前記印刷装置に送信される前記印刷ジョブで設定可能な第1の設定項目の設定値に関する情報を前記情報処理装置に送信する第1の送信手段と、
前記印刷装置から要求を受信したことに従って、前記所定のプロトコルでサポートされていない第2の設定項目
と前記印刷ジョブで設定可能な前記第2の設定項目の複数の設定値を前記情報処理装置により印刷設定画面に表示させるための情報と前記所定のプロトコルでサポートされていない第3の設定項目と前記印刷ジョブで設定可能な前記第3の設定項目の複数の設定値を前記情報処理装置により前記印刷設定画面に表示させるための情報を生成する生成手段と、
前記生成手段により生成された前記情報を取得するためのアクセス先の情報を、前記情報処理装置に送信する第2の送信手段と、を有することを特徴とする印刷装置。
【請求項2】
前記印刷装置は、前記第1の設定項目の設定値と前記第2の設定項目の設定値と
前記第3の設定項目の設定値を含む印刷ジョブを受信する受信手段と、
前記受信手段が受信した前記印刷ジョブに設定された前記第1の設定項目の設定値と前記第2の設定項目の設定値
と前記第3の設定項目の設定値に基づき前記印刷ジョブを処理する手段と、を有することを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第1の送信手段は、所定のプロトコルに則って前記第1の設定項目の設定値に関する情報を前記情報処理装置に送信することを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
前記第2の送信手段は、所定のプロトコルに則って前記アクセス先の情報を前記情報処理装置に送信することを特徴とする請求項3に記載の印刷装置。
【請求項5】
前記第2の設定項目
と前記第3の設定項目は所定のプロトコルで定義されていない設定項目であることを特徴とする請求項1乃至4のいずれか一項に記載の印刷装置。
【請求項6】
前記所定のプロトコルは、Internet Printing Protocolであることを特徴とする請求項3乃至5のいずれか一項に記載の印刷装置。
【請求項7】
前記アクセス先は、前記第2の設定項目
と前記第3の設定項目の情報の取得に用いられるURLであることを特徴とする請求項1乃至6のいずれか一項に記載の印刷装置。
【請求項8】
前記情報処理装置は、前記印刷装置が送信した前記アクセス先
から、
前記第2の設定項目と前記印刷ジョブで設定可能な前記第2の設定項目の複数の設定値を前記情報処理装置により印刷設定画面に表示させるための前記情報と、前記第3の設定項目と前記印刷ジョブで設定可能な前記第3の設定項目の複数の設定値を前記情報処理装置により前記印刷設定画面に表示させるための前記情報とを取得し、前記第1の設定項目に関する情報と
、前記第2の設定項目と前記印刷ジョブで設定可能な前記第2の設定項目の複数の設定値を前記情報処理装置により印刷設定画面に表示させるための前記情報と、前記第3の設定項目と前記印刷ジョブで設定可能な前記第3の設定項目の複数の設定値を前記情報処理装置により前記印刷設定画面に表示させるための前記情報とに基づき印刷設定画面を表示することを特徴とする請求項1乃至7のいずれか一項に記載の印刷装置。
【請求項9】
前記第2の設定項目と前記印刷ジョブで設定可能な前記第2の設定項目の複数の設定値を前記情報処理装置が印刷設定画面に表示するための前記情報は、前記情報処理装置により前記印刷設定画面に表示される文字列であることを特徴とする請求項1乃至8のいずれか一項に記載の印刷装置。
【請求項10】
請求項1乃至
9のいずれか一項に記載の印刷装置の各手段をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
情報処理装置から印刷装置等の周辺機器を利用するには、一般的にはその周辺機器に対応した特定のデバイスドライバを、情報処理装置上で動作するオペレーティングシステム(以下「OS」と呼ぶ)にインストールする。すなわち、印刷装置であればプリンタドライバをインストールして利用する。プリンタドライバは、OSの規定する仕様に従って構成される。印刷装置を提供するベンダーは、プリンタ毎(機種毎)に対応するプリンタドライバをユーザに提供することにより、情報処理装置から印刷装置を用いた印刷を行えるようにしている。特許文献1には、このようなプリンタ毎に対応するプリンタドライバのユーザインターフェース拡張ファイルを、ネットワークアクセスが制限されている環境において取得する方法が提案されている。
【0003】
また、近年、様々なベンダーの印刷装置に対し印刷指示を出すことの可能な汎用プリンタドライバも提供されるようになってきている。このような汎用プリンタドライバは、ベンダー固有の印刷装置に接続されるベンダー固有のオプション装置を制御する機能はサポートしておらず、汎用的な機能(例えば、両面印刷など)だけをサポートするのが一般的である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上述したようなベンダー固有のオプション装置を制御する機能をサポートしない汎用プリンタドライバを用いて印刷する場合においても、印刷装置及びオプション装置の能力を最大限に活用したいといった要望がある。そのためには、汎用プリンタドライバを用いて印刷を行う情報処理装置に、オプション装置等の能力も含めた印刷装置の能力情報を伝える必要がある。
【0006】
本発明は、上記の課題を解決するためになされたものである。本発明は、汎用プリンタドライバを用いて印刷を行う情報処理装置に、ベンダー固有のオプション装置を含めた印刷装置の構成を正しく端末装置へ伝え、印刷装置の能力を十全に利用することを可能にする仕組みを提供することである。
【課題を解決するための手段】
【0007】
本発明は、情報処理装置から所定のプロトコルを用いて送信される印刷ジョブを受信して印刷を行う印刷装置であって、記印刷装置に送信される前記印刷ジョブで設定可能な第1の設定項目の設定値に関する情報を前記情報処理装置に送信する第1の送信手段と、前記印刷装置から要求を受信したことに従って、前記所定のプロトコルでサポートされていない第2の設定項目と前記印刷ジョブで設定可能な前記第2の設定項目の複数の設定値を前記情報処理装置により印刷設定画面に表示させるための情報と前記所定のプロトコルでサポートされていない第3の設定項目と前記印刷ジョブで設定可能な前記第3の設定項目の複数の設定値を前記情報処理装置により前記印刷設定画面に表示させるための情報を生成する生成手段と、前記生成手段により生成された前記情報を取得するためのアクセス先の情報を、前記情報処理装置に送信する第2の送信手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、汎用プリンタドライバを用いて印刷を行う情報処理装置に、ベンダー固有のオプション装置を含めた印刷装置の構成を正しく端末装置へ伝え、印刷装置の能力を十全に利用することを可能にする。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係る印刷システムの構成の一例を示す図。
【
図2】端末装置のハードウェア構成の一例を示す図。
【
図3】印刷装置のハードウェア構成の一例を示す図。
【
図4】端末装置及び印刷装置のソフトウェア構成の一例を示す図。
【
図5】印刷装置におけるメインの処理と印刷タスクの一例を示すフローチャート。
【
図6】第1実施形態の印刷装置で実施される印刷装置構成タスクの一例を示すフローチャート。
【
図7】第1実施形態の端末装置で実施される端末装置起動処理の一例を示すフローチャート。
【
図8】ベンダー固有オプション装置の印刷設定を含まないプリンタドライバUI画面の一例を示す図。
【
図9】ベンダー固有オプション装置の印刷設定を含むプリンタドライバUI画面の一例を示す図。
【
図10】印刷装置に送信する印刷ジョブの形式の一例を概念的に示す図。
【
図11】第1実施形態においてIPP規定外印刷装置構成情報として生成されるxmlデータ(Option XML)の一例を示す図。
【
図12】第2実施形態の印刷装置で実施される印刷装置構成タスクの一例を示すフローチャート。
【
図13】第2実施形態の端末装置で実施される端末装置起動処理の一例を示すフローチャート。
【
図14】第2実施形態においてIPP規定外印刷装置構成情報として生成されるxmlデータ(Option XML)の一例を示す図。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
【0011】
〔第1実施形態〕
まず
図1を用いて、本実施形態の印刷システムの構成を説明する。
図1は、本発明の一実施形態に係る印刷システムの構成の一例を示す図である。
図1に示すように、本実施形態の印刷システムでは、端末装置104、印刷装置105、サーバー101が、ルータ103を介して通信可能に接続されている。各デバイスの接続形態は有線接続であってもよいし、無線接続であってもよい。
【0012】
サーバー101は、企業内のネットワーク環境を制御するためのサーバーシステムである。本実施形態では、サーバー101が、インターネット102と企業内ネットワーク間の情報交換も行う機能も兼ねているものとする。
【0013】
企業内のネットワーク環境に参加している端末装置104は、サーバー101を介してインターネット102上のリソースにアクセスすることができる情報処理装置である。インターネット102上には、例えば、OSベンダーのアプリケーション配信サーバーや、印刷装置ベンダーのアプリケーション配布サイトなどが存在する(不図示)。端末装置104は、印刷対象のデータに基づき印刷ジョブを生成し、ネットワーク上の印刷装置(例えば印刷装置105)へ送信することができる。端末装置104は、所定のプロトコル(本実施形態ではIPPプロトコル(Internet Printing Protocol))を用いて印刷装置105の制御及び印刷を行う。
【0014】
印刷装置105は、端末装置104等のクライアントコンピュータから送信された印刷ジョブを受信し、当該受信した印刷ジョブに基づきシートに画像を印刷する機能を有している。
【0015】
<端末装置104>
図2は、端末装置104のハードウェア構成の一例を示す図である。
端末装置104は一般的な情報処理装置であり、スマートフォンやタブレットに代表される携帯端末でもよいし、パーソナルコンピューターに代表されるコンピュータ端末でもよい。
【0016】
メインボード201は、端末装置104の制御基板である。
有線NW I/F202は、イーサネット(登録商標)に代表される通信ネットワークの通信の制御を行う。端末装置104は、この有線NW I/F202を介して企業内のネットワークやインターネット102上の装置と通信することができる。
【0017】
無線NW I/F203は、主にIEEE802.11シリーズに準拠する無線通信(Wi-Fi(登録商標)通信とも呼ぶ)の制御を行う。また、無線NW I/F203は、LTEや5Gなどの移動通信システムのインタフェースとしても機能する。端末装置104は、この無線NW I/F203を介して、企業内のネットワークやインターネット102上の装置と通信することができる。さらに、端末装置104は、無線NW I/F203を使って、移動通信システムの基地局を介してインターネット102に直接アクセスすることもできる。
USB I/F204は、USB規格に準拠した周辺機器などを接続する。
【0018】
システムバス205は、メインボード201上の各種処理ブロック間の情報を相互に交換する。CPU206は、ROM・RAM207上に展開されたOS(オペレーティングシステム)やアプリケーションなどの制御プログラムを実行し、端末装置104全体の動作をコントロールする。ROM・RAM207は、端末装置104の起動用プログラム格納や作業用の記憶領域を示している。
【0019】
メモリコントローラ208は、外部記憶装置210とのデータ送受信を制御する。外部記憶装置210は、端末装置104のROM・RAM207の補助的な働きをする記憶領域であり、一般的にはハードディスクやソリッドステートドライブ、USBメモリ、光学式メモリデバイスなどが該当する。外部記憶装置210には、OSやアプリケーションなどのプログラムや、一時的なデータやファイルなどが記憶される。
【0020】
このように、CPU206、ROM・RAM207、外部記憶装置210等のハードウェアは、いわゆるコンピュータを構成している。
なお、本実施形態では、1つのCPU206が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のプロセッサー、メモリ、ストレージ等が協働して後述するフローチャートに示す各処理を実行するようにすることもできる。
【0021】
操作部I/F209は、表示部211と入力部212とメインボード201を接続する。表示部211は、液晶パネルや有機ELパネルなどの表示デバイスであり、ユーザに情報を提示する表示部として機能する。
入力部212は、キーボードやマウス、表示部上面に備えつけられたタッチパネルなどのデバイスであり、ユーザからの操作を受け付ける受付部として機能する。
【0022】
<印刷装置105>
図3は、印刷装置105のハードウェア構成の一例を示す図である。
印刷装置105は、外部から印刷データを受信し印刷する機能を有する。本実施形態では、印刷装置の一例として、単機能のSFP(Single Function Peripheral)である場合を例示しているが、これに限定されるものではない。例えば、コピー、印刷、FAX、画像読取などの複数の機能が1つの筐体にまとまったMFP(Multi Function Peripheral)などであってもよい。
【0023】
メインボード301は、印刷装置105の制御基板である。
有線NW I/F302は、イーサネットに代表される有線通信ネットワークの通信の制御を行う。印刷装置105は、この有線NW I/F302を使って企業内のネットワークやインターネット102上の装置と通信することができる。
【0024】
無線NW I/F303は、主にIEEE802.11シリーズに準拠する無線通信(Wi-Fi(登録商標)通信とも呼ぶ)の制御を行う。また、無線NW I/F303は、LTEや5Gなどの移動通信システムのインタフェースとしても機能する。印刷装置105は、この無線NW I/F303を介して企業内のネットワークやインターネット102上の装置と通信することができる。さらに、印刷装置105は、無線NW I/F303を使って、移動通信システムの基地局を介してインターネット102に直接アクセスすることもできる。有線と無線のどちらを使ってインターネット102にアクセスするのかは、印刷装置105に備わっている表示部313及び入力部314を用いて設定して変更することができる。
USBI/F304は,USB規格に準拠した端末機器などを接続する。
【0025】
システムバス305は、メインボード301上の各種処理ブロック間の情報を相互に交換する。
CPU306は、ROM・RAM307上に展開されたOSやアプリケーションなどの制御プログラムを実行し、印刷装置105全体の動作をコントロールする。ROM・RAM307は、印刷装置105の起動用プログラム格納や作業用の記憶領域を示している。
【0026】
メモリコントローラ308は、外部記憶装置312とのデータ送受信を制御する。外部記憶装置312は、印刷装置105のROM・RAM307の補助的な働きをする記憶領域であり、一般的にはハードディスクやソリッドステートドライブ、USBメモリ、光学式メモリデバイスなどが該当する。外部記憶装置312には、OSやアプリケーションなどのプログラムや、一時的なデータやファイルなどが記憶される。
【0027】
操作部I/F309は、表示部313及び入力部314とメインボード301を接続する。表示部313は、液晶パネルや有機ELパネルなどの表示デバイスであり、ユーザに情報を提示する表示部として機能する。入力部314は、キーボードや、表示部上面に備え付けられたタッチパネルなどのデバイスでありユーザからの操作を受け付ける受付部として機能する。
【0028】
印刷部I/F310は、印刷部315へ印刷用画像データを引き渡す。印刷部315は、いわゆるプリンタエンジンであり、電子写真方式やインクジェット方式などさまざまな印刷方式による印刷装置のことである。印刷部315は、複数種類の用紙を抱える給紙カセットや、両面印刷機構、白黒・カラー印刷機構、ステイプル機構、製本機構、トリム機構、シフトソーターなどもこの印刷部315に含まれている。ここでステイプル機構、シフトソーターについて少し詳しく説明しておく。ステイプル機構では、複数のシートを綴じるなどの綴じ処理を行うことができる。シフトソーターでは、印刷用紙の排出口で用紙を部単位で左右にそろえて部の切れ目を把握しやすくそろえたり、複数の排出口に部単位で用紙を出力したりして、部単位で印刷結果を扱いやすくすることができる。
【0029】
読取部I/F311は、読取部316から画像データを受け取る。読取部316は、いわゆるスキャナであり、原稿台やイメージセンサのことである。自動的に読取用紙を給紙するフィーダーなどもこの読取部316に含まれる。
【0030】
図4は、端末装置104及び印刷装置105のソフトウェア構成の一例を示す図である。
まず、端末装置104のソフトウェア構成について説明する。
図4(a)は、端末装置104のソフトウェア構成に対応する。なお、
図4(a)に示す構成は、端末装置104のCPU206が主にROM・RAM207上に格納されるプログラムを実行することにより機能する。
【0031】
外部I/F制御部411は、有線NW I/F202や無線NW I/F203を用いてサーバー101と通信を行い、インターネット102上に存在する印刷装置ベンダーのWebサイトや、OSベンダーのWebサイトなどへのアクセスに利用される。また、外部I/F制御部411は、印刷装置105へ出力するための印刷用ジョブの送出も行い、印刷装置105から、印刷装置の構成情報の取得も行う。
【0032】
UI制御部414は、表示部211や入力部212を用いて端末装置104の利用者に情報提供を行い、端末装置104の利用者からの指示を受け付ける部分である。
OS412は、ROM・RAM207上に格納されて端末装置104全体の動きを制御するオペレーティングシステムを示している。OS412は、端末装置104上にある各ソフトウェアブロック間の情報交換や実行制御を行う部分である。
【0033】
内部I/F制御部413は、端末装置104の外部記憶装置210にあるOSやプリンタドライバ、追加ソフト、各種アプリケーションソフト等のソフトウェアなどの格納を行う部分である。
【0034】
アプリケーションソフト415は、ROM・RAM207上に格納されて動作する、ワードプロセッサーソフトや表計算ソフトなどを行うソフトウェアを示す。アプリケーションソフト415で作成したデータの印刷をOS412に指示することで、プリンタドライバ416を用いて印刷装置105に印刷データの出力を行う。
【0035】
プリンタドライバ416は、ROM・RAM207上に格納されて動作する。プリンタドライバ416は、OS412からの指示を受けて、アプリケーションソフト415の出力するデータを、印刷装置105が解釈して出力可能な形式のデータに変換する。プリンタドライバ416は、印刷装置105に対して、印刷装置構成情報の取得を行い、利用可能なオプションの情報を解釈して印刷設定としてUI制御部414に表示も行う。なお、プリンタドライバ416は、様々なベンダーの印刷装置に対し印刷指示を出すことが可能な汎用プリンタドライバである。例えば、プリンタドライバ416は、Mopria(登録商標)アライアンスのMopriaの規格に準拠したプリンタドライバであってもよい。
【0036】
追加ソフト417は、ROM・RAM207上に格納されて動作する。追加ソフト417は、プリンタドライバ416と協業して印刷装置105から提供される印刷装置構成情報を解釈して印刷設定としてUI制御部414に表示する。さらに、追加ソフト417は、プリンタドライバ416が作成した印刷用ジョブを取り込み、ベンダー固有のIPP規定外印刷装置向け印刷設定情報を印刷用ジョブに付加する処理も行う。
【0037】
次に、印刷装置105のソフトウェア構成について説明する。
図4(b)は、印刷装置105のソフトウェア構成に対応する。なお、
図4(b)に示す構成は、印刷装置105のCPU306が主にROM・RAM307上に格納されるプログラムを実行することにより機能する。
【0038】
印刷装置外部I/F制御部421は、有線NW I/F302や無線NW I/F303を用いて端末装置104から送出される印刷用ジョブデータを受け取る。さらに、印刷装置外部I/F制御部421は、端末装置104からの要求に基づき印刷装置構成情報を端末装置104に提供する。
【0039】
印刷装置OS422は、ROM・RAM307上に格納されて印刷装置105全体の動きを制御するオペレーティングシステムを示している。印刷装置OS422は、印刷装置105上にある各ソフトウェアブロック間の情報交換や実行制御を行う部分である。
【0040】
印刷装置オプション部427は、両面印刷機構、白黒・カラー印刷機構、ステイプル機構、製本機構、トリム機構、シフトソーターなどの印刷用のオプション部分である。印刷装置オプション部427は、印刷部424から制御情報を得て、それに基づき動作する。
【0041】
印刷処理部423は、有線NW I/F302や無線NW I/F303やUSB I/F304を介して受信した印刷用ジョブデータを、印刷部424が解釈可能な形式に変換する。印刷部424は、印刷処理部423から提供された印刷用データを印刷する部分である。印刷部424は、印刷用ジョブデータに印刷装置オプションの制御情報が含まれていれば、その情報を印刷装置オプション部427に提供する。
【0042】
印刷装置UI制御部425は、表示部313や入力部314を用いて印刷装置105の利用者に情報提供を行い、印刷装置105の利用者からの指示を受け付ける部分である。
【0043】
印刷装置構成生成部426は、印刷装置オプション部427を監視しており、IPPで規定される標準属性で規定されていない能力を保持するオプション装置が付加されているか否かを把握する。印刷装置構成生成部426は、規定されていない能力を保持するオプション装置が付加された場合、ROM・RAM307上にそのIPP規定外印刷装置構成情報を規定し制御するための情報をxmlファイル化して生成する。なお、ROM・RAM307上には、印刷装置全ての能力を規定し制御するための情報として保持されている印刷装置構成情報もあり、この情報も印刷装置構成生成部426が生成している。
【0044】
図5は、印刷装置105におけるメインの処理と印刷タスクの一例を示すフローチャートである。なお、
図5(a)は印刷装置105におけるメインの処理に対応し、
図5(b)は印刷タスクに対応する。
【0045】
図5(a)に示すように、印刷装置105に電源が投入されると、印刷装置OS422による印刷装置起動処理が開始し(S501)、S502に処理が遷移する。
S502において、印刷装置OS422は、印刷装置構成タスク起動を実施する。印刷装置構成タスクについては、後述するが、このタスクが印刷装置構成生成部426の処理となる。
【0046】
次にS503において、印刷装置OS422は、印刷タスク起動を実施する。このタスクについては
図5(b)で詳細に説明する。
なお、上記S502の印刷装置構成タスクと上記S503の印刷タスクは、各々独立した処理タスクであり、平行してバックグラウンドで実行されているものとする。これら2つのタスクが起動されたら、印刷装置OS422は、S504に処理を進める。
【0047】
S504において、印刷装置OS422は、電源の監視を行う。電源がOFFにされた場合(S504でYesの場合)、印刷装置の処理を終了する(S505)。この際、先に説明したバックグラウンドで実行されている印刷装置構成タスク及び印刷タスクも、同時に終了する。
【0048】
図5(b)のS511に示すように、印刷タスクが開始されると、印刷装置OS422は、S512に処理を進める。
S512において、印刷装置OS422は、端末装置104から印刷ジョブを受信したか否かを確認する。そして、印刷ジョブを受信しない場合(S512でNoの場合)、印刷装置OS422は、継続して印刷ジョブの受信を監視する。
【0049】
一方、印刷ジョブを受信した場合(S512でYesの場合)、印刷装置OS422は、S513に処理を進める。
【0050】
S513において、印刷装置OS422は、受信した印刷ジョブを解析して、オプション制御情報と印刷画像情報に分離する(印刷ジョブ/オプション制御情報解析)。
次にS514において、印刷装置OS422は、印刷部424を用い、上記分離した印刷画像情報をそのまま印刷可能なビットマップ形式に変換して、オプション機器の制御情報とセットにして、印刷部424に流す(印刷画像/オプション制御情報生成)。
【0051】
S515では、印刷部424が印刷画像情報に基づき印刷画像を生成し、印刷装置オプション部427がオプション機器の制御情報に基づき印刷装置オプションの制御を行う。
印刷装置OS422は、印刷ジョブの処理が完了したら、次の印刷ジョブを受信するために、S512に処理を戻す。
【0052】
ここで、IPPで規定される印刷装置の属性問い合わせについて説明する。
端末装置104から印刷装置105に対する印刷装置の属性問い合わせはGet-Printer-Attributes Requestを端末装置104から印刷装置105に対して送信することで行う。このときrequested-attributesに“all”を設定するかもしくは何も設定せずにGet-Printer-Attributes Requestを送信すると、印刷装置属性の全てを問い合わせる要求となる。この要求を受信した場合、印刷装置105は、Printer Description Attributesの全てを返答する。一方、例えばprinter-nameなどを設定してGet-Printer-Attributes Requestを送信すると、印刷装置105の名称属性だけを問い合わせることになる。この要求を受信した場合、印刷装置105は、Printer Description Attributesの中のprinter-nameだけを返答する。本実施形態では、前者を印刷装置すべての属性問合せと表現する。なお、上述したprinter-nameは印刷装置の属性(Printer Description Attributes)の1つであるため、印刷装置すべての属性問合せを行うと必然的に、その中にprinter-nameも含まれることになる。
【0053】
さて本実施形態では、「IPP規定内の印刷装置属性」と「IPP規定外の印刷装置属性」という概念を用いるので、それについても説明しておく。
IPP規定内の印刷装置属性とは、文字通りIPPで規定されている印刷装置属性である。IPP規定内の印刷装置属性では、例えばcolor-supportedは、カラー印刷の可否を示す。また、sides-supportedは、片面印刷だけなのか、両面印刷短編合わせ印刷、両面印刷長編合わせ印刷に対応するなどの値を示す。
【0054】
一方、IPP規定外の印刷装置属性とは、IPPで規定されていない印刷装置属性である。本実施形態では、IPP規定外の印刷装置属性として、シフトソーターという印刷装置に付加するオプション装置の属性が例示されている。印刷装置105は、このオプション装置に関する名称、設定項目、設定値などを、xmlの形式のファイルで印刷装置105のROM・RAM307内部に生成する。さらに、印刷装置105は、そのxmlへ端末装置104からアクセスするためのアドレスを、printer-more-info-manufacturerという属性値に設定して端末装置104に返答する仕組みを備えている。このprinter-more-info-manufacturerという項目自体はIPP規定の項目であるが、その項目で示される値の先にあるxml形式の属性値はIPPで規定されている値ではない。このため、本実施形態では、この属性をIPP規定外の印刷装置属性として説明している。なお本実施形態では、このxmlのことをOption XMLと表現している。
【0055】
図6は、第1実施形態の印刷装置105で実施される印刷装置構成タスクの一例を示すフローチャートである。なお、
図6に示す処理はすべて、印刷装置OS422からの指示に応じて印刷装置構成生成部426で実行される処理である。
【0056】
図6のS601に示すように、印刷装置構成生成部426は、印刷装置構成タスクを開始すると、S602に処理を進める。
【0057】
S602において、印刷装置構成生成部426は、端末装置104からIPPで規定される印刷装置の属性問い合わせの有無を確認する。即ち、印刷装置構成生成部426は、印刷装置105がどのような能力情報を持っているかの問合せの有無を確認する。IPPで規定される印刷装置の属性問い合わせが無い場合(S602でNoの場合)、印刷装置構成生成部426は、IPP属性問い合わせの確認処理を継続する。
【0058】
一方、IPPで規定される印刷装置の属性問い合わせを受信した場合(S602でYesの場合)、印刷装置構成生成部426は、S603に処理を進める。
【0059】
S603において、印刷装置構成生成部426は、印刷装置の属性問い合わせをしてきた端末装置104で動作するOS412の種別を、端末装置104から送信されてきた印刷装置の属性問い合わせを解析して確認する(問い合わせOS情報取得)。OS412の種別とは、例えば、今日広く普及しているWindows(登録商標)、Andoroid(登録商標)、MacOS(登録商標)、iOS(登録商標)、Linux(登録商標)などのことを示す。なお、送信されてきたリクエスト情報からOSの判別ができない場合には、一般的に広く普及しているWindowsからのIPP属性問い合わせであると仮定する。なお本実施形態は、WindowsからのIPP属性問い合わせだと仮定することに限定するものではない。
【0060】
次にS604において、印刷装置構成生成部426は、IPP標準属性(IPP標準で規定された属性)であるprinter-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれているか否かを確認する。IPPにおける属性問い合わせにおいては、印刷装置全ての属性問い合わせを行う場合と、この属性だけの問い合わせを行う場合に、printer-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれることになる。
【0061】
上記S604において、IPP標準属性であるprinter-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれていない場合(S604でNoの場合)印刷装置構成生成部426は、S608に処理を進める。S608の処理については後述する。
【0062】
一方、IPP標準属性であるprinter-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれている場合(S604でYesの場合)印刷装置構成生成部426は、S605に処理を進める。
【0063】
S605において、印刷装置構成生成部426は、Option構成に変更があるか否かを判定する。詳細には、印刷装置構成生成部426は、ROM・RAM307上にその装置の全ての能力を規定し制御するための情報として保持されている印刷装置構成情報(保存されている構成情報)と、最新の構成情報が一致するか否かを確認する。ここで言う印刷装置構成情報とは、IPP規定内の印刷装置属性とIPP規定外の印刷装置属性を合わせたもので、初期値は印刷装置105が工場から出荷された時の状態を示す値であり、それぞれROM・RAM307上に保存されている。なお、IPP規定外印刷装置構成情報は、後述するS607の結果に伴いその値が更新される。また、最新の構成情報は、この時点で、印刷装置構成生成部426が印刷装置オプション部427に問い合わせを行い確認した構成情報である。
【0064】
上記S605において、保存されている構成情報と最新の構成情報が一致する、すなわちOption構成に変更がない場合(S605でNoの場合)、印刷装置構成生成部426は、S608に処理を進める。
【0065】
一方、保存されている構成情報と最新の構成情報が一致しない、すなわちOption構成に変更がある場合(S605でYesの場合)、印刷装置構成生成部426は、S606に処理を進める。
【0066】
S606において、印刷装置構成生成部426は、上記Option構成の変更がIPP規定外の装置能力(例えばシフトソーターが付加された等)に該当する部分の変更か否かを確認する。なお、IPP規定外(IPP標準外)の装置能力の変更とは、例えばシフトソーターが付加された等が該当する。一方、IPP規定内の装置能力の変更とは、IPPの標準属性で定義されている属性の変更を示し、例えば両面印刷機構が設置された等が該当する。
【0067】
上記S606において、Option構成の変更がIPP規定外の装置能力に該当する部分の変更ではない場合(S606でNoの場合)、印刷装置構成生成部426は、S608に処理を進める。
一方、Option構成の変更がIPP規定外の装置能力に該当する部分の変更である場合(S606でYesの場合)、印刷装置構成生成部426は、S607に処理を進める。
【0068】
S607において、印刷装置構成生成部426は、問い合わせOS向けOption XML再構成処理を行う。ROM・RAM307上に保持されているIPP規定外印刷装置構成情報に変化があったということになるので、印刷装置構成生成部426は、この処理において、IPP規定外印刷装置構成情報を示すOption XMLを正しい情報になるように再構成する。例えば、後述する
図11に示すようなIPP規定外印刷装置構成情報を構成する。
【0069】
次にS608において、印刷装置構成生成部426は、IPPの属性問い合わせのあった属性の返答を行う(問い合わせOS向けIPP属性返答)。この際、全ての属性問い合わせであれば全ての属性値を返答する(すなわち問合せのあった属性の属性値を返答する)。また、printer-more-info-manufacturerの属性のみが問い合わせされていれば、その属性値(以下に説明するアドレス値)を返答する。printer-more-info-manufacturerの属性値は、ROM・RAM307上に生成されるIPP規定外印刷装置構成情報を示すOption XMLへアクセスするためのアドレス値であり、Option XMLそのもののではない。このアドレス値は、例えばurlである。上記S608の処理の後、印刷装置構成生成部426は、S602に処理を戻す。
【0070】
図7は、第1実施形態の端末装置104で実施される端末装置起動処理の一例を示すフローチャートである。
図7のS701に示すように、端末装置104が起動すると、OS412では、ROM・RAM207上に格納されて動作するアプリケーションソフト415(例えばワードプロセッサーソフトや表計算ソフト等)の起動が可能となる。アプリケーションソフト415の起動が指示されると、OS412は、S702に処理を進める。
【0071】
S702において、OS412は、アプリケーションソフト415を起動し、アプリケーションソフト415の利用を開始する。
次にS703において、アプリケーションソフト415は、アプリケーションソフト415に対する操作指示を受け付ける(操作指示受付)。なお、アプリケーションソフト415に対する操作指示とは、例えば、データ作成、データ表示、印刷設定表示(印刷するために印刷設定を表示する指示)、印刷指示など一般的な操作指示を示す。操作指示を受け付けると、アプリケーションソフト415は、S704に処理を進める。
【0072】
S704において、アプリケーションソフト415は、上記S703で受け付けた操作指示が何であったのかを確認する。上記操作指示が「印刷設定表示」の場合、アプリケーションソフト415は、S705に処理を進める。
【0073】
S705において、アプリケーションソフト415は、印刷設定の表示を、印刷設定OS412に指示することで、プリンタドライバ416を用いて印刷設定の表示を行う。この際、プリンタドライバ416は、印刷設定の表示を実施するため必要となる、印刷装置構成情報を取得するように、OS412に指示を出す。この指示に応じて、OS412は、IPP属性問い合わせを印刷装置105に送る(IPP標準属性問合せ)。この問い合わせに応じて、印刷装置105からIPP標準属性が返答される。OS412は、印刷装置105から取得したIPP標準属性をプリンタドライバ416に伝達する。
【0074】
次にS706において、プリンタドライバ416は、上記S705で取得したIPP標準属性に基づき、標準印刷設定メニュー1001(
図8、
図9)をUI制御部414に表示する(標準印刷設定メニュー表示)。
図8、
図9は、プリンタドライバUI画面の一例を示す図である。
【0075】
S707において、プリンタドライバ416は、標準印刷設定メニュー1001から操作指示を受け付け、受け付けた操作指示に応じて、詳細な印刷設定情報である拡張印刷設定を表示するか否かを判定する。具体的には、“その他の設定”1002(
図8、
図9)がUI制御部414上で入力部212を用いて指示された場合、プリンタドライバ416は、拡張印刷設定を表示すると判断する。また、“印刷”1003(
図8、
図9)や“キヤンセル”1004(
図8、
図9)が指示された場合、プリンタドライバ416は、拡張印刷設定を表示しないと判断する。なお、標準印刷設定メニュー1001上の印刷設定の変更等が指示された場合、プリンタドライバ416は、引き続きS707において、標準印刷設定メニュー1001から操作指示を受け付け、拡張印刷設定を表示するか否かを判断する。
【0076】
上記S707において、拡張印刷設定を表示する場合(S707でYesの場合)、プリンタドライバ416は、S708に処理を進める。
【0077】
S708において、プリンタドライバ416は、OS412に指示を行い、追加ソフト417の起動を行う。なお、この追加ソフト417は、プリンタの欄1005(
図8、
図9)で選択されている印刷装置105のベンダーが提供するソフトウェアである。もし予め追加ソフト417が端末装置104にインストールされていない場合には、追加ソフト417の起動は行えないので、プリンタドライバ416は、S703に処理を戻すものとする。
起動された追加ソフト417は、IPP標準属性であるprinter-more-info-manufacturerの属性に値が設定されていれば、そのアドレス先からIPP規定外印刷装置構成情報を示すxmlファイルを取得する。そして、追加ソフト417は、取得したxmlファイルの情報をROM・RAM207上に展開する。なお、printer-more-info-manufacturerの属性に値が設定されていなければxmlは取得できない。
【0078】
次にS709において、追加ソフト417は、上記S708でIPP規定外印刷装置構成情報を示すxmlファイルを取得できたか否かを確認する。取得できなかった場合(S709でNoの場合)、追加ソフト417は、S710に処理を進める。
【0079】
S710において、追加ソフト417は、IPP規定外印刷装置構成情報を示すxmlの情報なしで、拡張印刷設定メニューを表示する。例えば、
図8の1010のような拡張印刷設定メニューを表示する。なお、拡張印刷設定メニューにおいて設定操作等終了した後は、プリンタドライバ416は、S706に処理を戻し、標準印刷設定メニューに表示を戻す。
【0080】
一方、上記S709において、IPP規定外印刷装置構成情報を示すxmlファイルを取得できている場合(S709でYesの場合)、プリンタドライバ416は、S711に処理を進める。
【0081】
S711において、追加ソフト417は、上記S708で取得したSIPP規定外印刷装置構成情報を示すxmlの情報(例えばシフトソーター有りの情報)に基づいて、拡張印刷設定メニューを生成して表示する。例えば、
図9の1110のように、シフトソーターを利用するか否かを指示する印刷設定項目1111を含む拡張印刷設定メニューを表示する。
図8の拡張印刷設定メニュー1010と、
図9の拡張印刷設定メニュー1110との差異は、シフトソーターに関する印刷設定項目1111が表示されているか否かの差である。この実施形態では、シフトソーターに関する印刷設定がIPP規定外印刷装置構成情報であるとの前提にたち説明されているが、IPP規定外印刷装置構成情報をこれだけに限定するものではない。なお、拡張印刷設定メニューにおいて設定操作等終了した後は、プリンタドライバ416は、S706に処理を戻し、標準印刷設定メニューに表示を戻す。
【0082】
なお、IPP規定外印刷装置構成情報が示すオプション装置に関する印刷設定値は、追加ソフト417の内部で留保しておき、プリンタドライバ416には通知しない。汎用プリンタドライバである416は、IPP規定外印刷装置構成情報に関する情報を持たず、扱うことができないためである。
【0083】
また、上記S707において、“印刷”1003(
図8、
図9)や“キヤンセル”1004(
図8、
図9)が指示された場合、プリンタドライバ416は、拡張印刷設定を表示しないと判断し(S707でNo)、S704に処理を戻す。
【0084】
上記S704において、上記受け付けた操作指示が「印刷指示」の場合、すなわち“印刷”1003(
図8、
図9)が指示された場合、アプリケーションソフト415は、S720に処理を進める。
【0085】
S720において、アプリケーションソフト415で作成したデータをプリンタドライバ416に渡す。プリンタドライバ416は、標準印刷設定メニューや拡張印刷設定メニューで表示・設定した印刷設定内容に従い、アプリケーションソフト415で作成したデータから印刷データ(印刷用ジョブ)を生成する。
【0086】
次にS721において、追加ソフト417は、追加ソフト417の内部で留保されている、IPP規定外印刷装置構成情報が示すオプション装置に関する印刷設定値の設定があれば、その情報を、上記S720で生成した印刷用ジョブに付加する。
次にS722において、追加ソフト417は、プリンタドライバ416
により生成され追加ソフト417が付加した印刷データを印刷ジョブとして印刷装置105に送信する。ここで送信する印刷ジョブのジョブデータを後述する
図10に例示する。印刷ジョブの送信完了後、プリンタドライバ416は、S703に処理を戻す。
【0087】
また、上記S704において、上記S703で受け付けた操作指示が「印刷設定表示」でも「印刷指示」でも「アプリケーション終了」でもない、その他指示の場合、アプリケーションソフト415は、S730に処理を進める。
【0088】
S730において、アプリケーションソフト415は、指示された操作、例えば、印刷の向き、印刷枚数、ページ、拡大縮小、余白、ヘッダーとフッターの設定等の操作に対応する処理を行う。処理終了後、アプリケーションソフト415は、S703に処理を戻す。
【0089】
また、上記S704において、上記S703で受け付けた操作指示が「アプリケーションの終了の場合、アプリケーションソフト415は、S740に処理を進める。
S730において、アプリケーションソフト415は処理を終了し、OS412が、アプリケーションソフト415のクローズ処理を行い、本フローチャートの処理を終了する(S741)。
【0090】
図10は、
図7のS722の印刷ジョブ送信にて追加ソフト417が印刷装置105に送信する印刷ジョブの形式の一例を概念的に示す図である。
図10に示すように、ジョブデータ1201は、ジョブヘッダ1202、デバイス固有設定1203、印刷データ1204の大きく分けて3つのパートから構成されている。
【0091】
ジョブヘッダ1202とデバイス固有設定1203を合わせて、プリントチケットなどと呼ぶ場合もあり、ここには印刷ジョブの制御情報が格納されている。本実施形態では、プリントチケットの内部に、デバイス固有設定1203の領域を持たせて、そこに当該デバイス固有の設定情報を格納して、印刷装置105を制御するための情報としている。
【0092】
具体的には、プリントチケット内の情報1205に、印刷装置105の製造メーカや機種名、シリアル番号を保持する。これにより、当該プリントチケットにより、そのデバイス固有設定を受け付けることの可能なデバイスであるか否かを判断可能になっている。なお、情報生成日や情報生成時刻もプリントチケット内に保持し、そのデバイス固有設定を受け付けるデバイスがいつの時点で発行したIPP規定外印刷装置構成情報に基づき設定がなされているのかを把握することが可能になっている。
【0093】
情報1206は、具体的に印刷装置105に付随しているオプション装置を制御するための情報である。この例では、シフトソーター装置を利用し、シフトソート機能を実施、さらにソート機能も実施するという動作を指示している。
【0094】
情報1205及び情報1206の指示内容は、すべてデータ化されて、ジョブデータ1201に埋め込まれている。
印刷データ1204は、プリンタドライバ416がIPPの規定に則した形式で作成する印刷用のデータであり、一般的にはPDFやPWG-RASTER形式のデータとなる。
【0095】
図11は、第1実施形態においてIPP規定外印刷装置構成情報として印刷装置105内に生成されるxmlデータ(Option XML)の一例を示す図である。
図11に示す例では、「メーカー名称」として“キヤ〇ン”が設定され、「メーカーID」とし“0x049A”が設定されている。「メーカーID」は、一意に当該メーカーを識別可能な値であればよい値である。「機種」には“iR1000”として、製品の「シリアル番号」には“0010123”が設定されている。「情報生成日」の“20190101”と「情報生成時刻」の“1340”は、このIPP規定外印刷装置構成情報を生成した日付と時刻を示している。
【0096】
印刷装置105に付随しているオプション装置は、任意のタイミングで取り付けたり、取り外したりすることが可能である。一度ある時点のオプション装置が設置されているタイミングで生成した印刷ジョブをどこかに保持しておき、後日それを印刷ジョブとして印刷装置105に送信する場合、そのタイミングではオプション装置が別のものに変更されている可能性がある。その場合、印刷ジョブに埋め込まれるデバイス固有設定1203(
図10)は、正しく使うことのできない情報となる。それを把握するための参考情報なるように、情報生成日と情報生成時刻の情報が、IPP規定外印刷装置構成情報に含まれている。
【0097】
Option XMLには、オプション装置の数を示す「オプション数」の情報が含まれている。
図11の例では、「オプション数」は“1”と設定されており、印刷装置105に付随するオプション装置が1つあることが示されている。
【0098】
「オプション数」の一段下の階層には、「オプション名1」として“シフトソーター”という名称が設定され、「オプションID1」として“OP0010”が設定されている。この“OP0010”は、シフトソーターのことを示している。さらに、そのシフトソーターに対する「設定可能項目数1」が“2”となっているので、2つの設定可能な項目があることが示されている。
【0099】
さらに、一段下の階層には、「設定可能項目1」として“シフト”という名称が設定され、「設定可能項目ID1」として“SE001”が設定されている。この“SE001”は“シフト”のことを示している。そして、この“シフト”に対する「設定値数1」が“2”となっているので、2つの設定可能な値があることが示されている。この“シフト”に対する「設定値が、さらに一段下の階層に示される。
【0100】
一段下の階層には、「設定値名1」として“ON”という名称が設定され、「値ID1」として“VA01”、「値1」として“1”が設定されている。この場合、“ON”という表示名称のIDが“VA01”であり、その値が“1”であることを示している。
そしてもう1つ、「設定値名2」として“OFF”という名称が設定され、「値ID2」として“VA02”、「値2」として“2”が設定されている。この場合、“OFF”という表示名称のIDが“VA02”であり、その値が“2”であることを示している。
【0101】
その一段上の階層には、「設定可能項目2」として“ソート”という名称が設定され、「設定可能項目ID2」として“SE002”が設定されている。この“SE002”は“ソート”のことを示している。そして、この“ソート”に対する「設定値数2」が“2”としてあるので、2つの設定可能な値があることが示されている。この“ソート”に対する「設定値が、さらに一段下の階層に示される。
【0102】
一段下の階層には、「設定値名1」として“ON”という名称が設定され、「値ID1」として“VA01”、「値1」として“1”が設定されている。この場合、“ON”という表示名称のIDが“VA01”であり、その値が“1”であることを示している。
そしてもう1つ、「設定値名2」として“OFF”という名称が設定され、「値ID2」として“VA02”、「値2」として“2”が設定されている。この場合、“OFF”という表示名称のIDが“VA02”であり、その値が“2”であることを示している。
【0103】
ここで示した例は一例であるが、表示用の名称を示す文字列と、その項目を示すIDと値をセットにして保持されていることがわかる。この表示用の名称を示す文字列は、そのまま
図7のS711の拡張印刷設定メニュー(xml有)表示において利用されることを前提としている。例えば、
図9の拡張印刷設定メニュー1110の画面下部にある印刷設定項目1111が、拡張印刷設定メニュー(xml有)のときに表示されるが、“シフトソーター”という文字列は「オプション名1」の値そのものである。また、“シフト”という文字列は「設定可能項目1」の値そのものである。さらに、“ON“という文字列は「設定値名1」の値そのものである。
【0104】
追加ソフト417は、このようにして、IPP規定外印刷装置構成情報を用いて、
図7のS711の拡張印刷設定メニュー(xml有)の処理にて、拡張印刷設定メニュー1110の画面を表示させることが可能となる。
【0105】
なお、第1実施形態で扱ったOption XMLは、4層(メーカー名称層、オプション名層、設定可能項目名層、設定値名層)として構成した。しかし、Option XMLをどのような構造にするかは、追加ソフト417と印刷装置105の間で同期が取れていればよく、その構造を限定するものではない。
【0106】
追加ソフト417は、各設定項目で選択項目が選ばれたら、その項目に対応するIDと値を対としてデバイス固有設定1203に埋め込む。これにより、
図7のS711の拡張印刷設定メニュー(xml有)の処理にて選択された項目がどういうものであったのかを、印刷ジョブに乗せて伝えることができるようになる。
【0107】
なお、この
図11の例では、各種項目の名称は日本語で書かれているが、日本語に限定するものではなく、印刷装置105にて予め設定されている言語情報に従った文字列にしてもよい。
【0108】
以上示した通り、本実施形態によれば、汎用プリンタドライバ内に包含できないベンダー固有のオプション装置に関する情報(IPP規定外の印刷装置構成情報)を、IPPが有する標準属性を用いて印刷装置から端末装置に伝達することが可能となる。
また、端末装置でオプション装置に関する印刷設定を正しく認識し、プリンタドライバの印刷設定画面に表示して制御できるようになる。そして、端末装置でベンダー固有のオプション装置を制御する印刷ジョブを生成可能となり、そのような印刷ジョブを生成して印刷装置に出力することにより、所望の印刷結果を得ることができるようになる。
このように、ベンダー固有のオプション装置を含めた印刷装置の構成を正しく端末装置へ伝え、印刷装置の能力を十全に利用することを可能にする。
【0109】
〔第2実施形態〕
上記第1実施形態では、印刷装置が、印刷装置構成の問合せ元の端末装置のOS向けの印刷装置構成情報(Option XML)を作成する構成について説明した。本実施形態では、印刷装置が、端末装置にインストールされていると想定し得る全てのOSに対する印刷装置構成情報を作成する構成について説明する。以下、詳細に説明するが、第1実施形態と同一の構成については説明を省略する。
【0110】
図12は、第2実施形態の印刷装置105で実施される印刷装置構成タスクの一例を示すフローチャートである。なお、
図12に示す処理はすべて、印刷装置OS422からの指示に応じて印刷装置構成生成部426で実行される処理である。
【0111】
図12のS801に示すように、印刷装置構成生成部426は、印刷装置構成タスクを開始すると、S802に処理を進める。
【0112】
S802において、印刷装置構成生成部426は、
図6のS602と同様に、端末装置104からIPPで規定される印刷装置の属性問い合わせの有無を確認する。IPPで規定される印刷装置の属性問い合わせが無い場合(S802でNoの場合)、印刷装置構成生成部426は、IPP属性問い合わせの確認処理を継続する。
【0113】
一方、IPPで規定される印刷装置の属性問い合わせを受信した場合(S802でYesの場合)、印刷装置構成生成部426は、S803に処理を進める。
なお、
図6に示した第1実施形態の印刷構成タスクでは、S602の後に、問合せOS情報の確認を行っていたが、第2実施形態ではその処理は行わない。第2実施形態では、想定し得る全てのOSに対する印刷装置構成情報を作成するためである。
【0114】
S803において、印刷装置構成生成部426は、
図6のS604と同様に、IPP標準属性であるprinter-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれているか否かを確認する。そして、IPP標準属性であるprinter-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれていない場合(S803でNoの場合)印刷装置構成生成部426は、S807に処理を進める。S807の処理については後述する。
【0115】
一方、IPP標準属性であるprinter-more-info-manufacturerの属性が印刷装置の属性問い合わせの中に含まれている場合(S803でYesの場合)印刷装置構成生成部426は、S804に処理を進める。
【0116】
S804において、印刷装置構成生成部426は、
図6のS605と同様に、Option構成に変更があるか否かを判定する。そして、Option構成に変更がない場合(S804でNoの場合)、印刷装置構成生成部426は、S807に処理を進める。
【0117】
一方、Option構成に変更がある場合(S804でYesの場合)、印刷装置構成生成部426は、S805に処理を進める。
【0118】
S805において、印刷装置構成生成部426は、
図6のS606と同様に、上記Option構成の変更がIPP規定外の装置能力(例えばシフトソーターが付加された等)に該当する部分の変更か否かを確認する。そして、Option構成の変更がIPP規定外の装置能力に該当する部分の変更ではない場合(S805でNoの場合)、印刷装置構成生成部426は、S807に処理を進める。
【0119】
一方、Option構成の変更がIPP規定外の装置能力に該当する部分の変更である場合(S805でYesの場合)、印刷装置構成生成部426は、S806に処理を進める。
【0120】
S806において、印刷装置構成生成部426は、Option XML再構成処理を行う。ROM・RAM307上に保持されているIPP規定外印刷装置構成情報に変化があったということになるので、印刷装置構成生成部426は、この処理において、IPP規定外印刷装置構成情報を示すOption XMLを正しい情報になるように再構成する。例えば、後述する
図14に示すようなIPP規定外印刷装置構成情報を構成する。
【0121】
次にS807において、印刷装置構成生成部426は、IPPの属性問い合わせのあった属性の返答を行う(IPP属性返答)。この際、全ての属性問い合わせであれば全ての属性値を返答する(すなわち問合せのあった属性の属性値を返答する)。また、printer-more-info-manufacturerの属性のみが問い合わせされていれば、その属性値(以下に説明するアドレス値)を返答する。printer-more-info-manufacturerの属性値は、ROM・RAM307上に生成されるIPP規定外印刷装置構成情報を示すOption XMLへアクセスするためのアドレス値であり、Option XMLそのもののではない。上記S807の処理の後、印刷装置構成生成部426は、S802に処理を戻す。
【0122】
図13は、第2実施形態の端末装置104で実施される端末装置起動処理の一例を示すフローチャートである。
図13のS901に示すように、端末装置104が起動すると、OS412では、ROM・RAM207上に格納されて動作するアプリケーションソフト415(例えばワードプロセッサーソフトや表計算ソフト等)の起動が可能となる。アプリケーションソフト415の起動が指示されると、OS412は、S902に処理を進める。なお、S902~S909及びS911の処理は、
図7のS702~S709及びS710の処理と同一であるので説明を省略する。ただし、第2実施形態では、追加ソフト417は、S908でIPP規定外印刷装置構成情報を示すxmlファイルを取得できている場合(S909でYesの場合)、S910の処理を実行する。
【0123】
S910において、追加ソフト417は、S908で取得したIPP規定外印刷装置構成情報を示すxmlファイルの中を探索して、該xmlファイル内に、端末装置104のOS向けの情報(自OS情報)が存在するか否かを確認する。ここで、S908取得したIPP規定外印刷装置構成情報を示すxmlファイルが後述する
図14に示す内容の場合を例に説明する。この例の場合、端末装置104のOSがWindows、Macintosh、Linuxのいずれかの場合、追加ソフト417は、自OS情報が存在すると判断する。一方、端末装置104のOSがWindowsでもMacintoshでもLinuxでもない、その他のOSの場合(例えばAndroidOSの場合)、追加ソフト417は、自OS情報が存在しないと判断する。
【0124】
上記S910において、自OS情報が存在しない場合(S910でNoの場合)、追加ソフト417は、S911に処理を進める。
一方、自OS情報が存在する場合(S910でYesの場合)、追加ソフト417は、S912に処理を進める。
【0125】
S912において、追加ソフト417は、S908で取得したSIPP規定外印刷装置構成情報を示すxml内の自OS情報(例えばシフトソーター有りの情報)に基づいて、拡張印刷設定メニューを生成して表示する。例えば、
図9の1110のように、シフトソーターを利用するか否かを指示する印刷設定項目1111を含む拡張印刷設定メニューを表示する。
図8の拡張印刷設定メニュー1010と、
図9の拡張印刷設定メニュー1110との差異は、シフトソーターに関する印刷設定1111が表示されているか否かの差である。この実施形態では、シフトソーターに関する印刷設定がIPP規定外印刷装置構成情報であるとの前提にたち説明されているが、IPP規定外印刷装置構成情報をこれだけに限定するものではない。なお、拡張印刷設定メニューにおいて設定操作等終了した後は、プリンタドライバ416は、S906に処理を戻し、標準印刷設定メニューに表示を戻す。
【0126】
なお、IPP規定外印刷装置構成情報が示すオプション装置に関する印刷設定値は、追加ソフト417の内部で留保しておき、プリンタドライバ416には通知しない。汎用プリンタドライバである416は、IPP規定外印刷装置構成情報に関する情報を持たず、扱うことができないためである。
【0127】
また、S920~S922、S930及びS940の処理は、
図7のS720~S722、S730及びS740の処理と同一であるので説明を省略する。
【0128】
図14は、第2実施形態においてIPP規定外印刷装置構成情報として印刷装置105内に生成されるxmlデータ(Option XML)の一例を示す図である。
ここでは、
図11に示した、第1実施形態のxmlデータとの相違点について説明する。
まず、「メーカー名称」、「メーカーID」、「シリアル番号」、「情報生成日」及び「情報生成時刻」の項目については、
図11に示した第1実施形態のxmlデータと同一である。
【0129】
第2実施形態のxmlファイルでは、これらの項目と同一の階層に「対応OS数」の項目を有する。「対応OS数」の項目は、このxmlファイルが対応するOSの数を示している。
図14の例では、「対応OS数」として“3”が設定されている。すなわち、
図14の例は、IPP規定外印刷装置構成情報を3つのOSに向けて用意していることを示している。
【0130】
「対応OS数」の一段下の階層には、「対応OS数」に設定されている数だけ、OSごとのIPP規定外印刷装置構成情報が記載されている。
OSごとのIPP規定外印刷装置構成情報には、「OS名n」、「OSIDn」及び「オプション数」の項目がある(n;1~対応OS数までの自然数)。「OS名n」にはOSの名称、「OSIDn」にはOSのIDがそれぞれ設定されている。
【0131】
図14の例では、「OS名1」として“Windows”、「OSID1」として“OS01”が設定され、「オプション数1」以下にWindows用のIPP規定外印刷装置構成情報が記載されている。また「OS名2」として“Macintosh”、「OSID2」として“OS02”が設定され、「オプション数2」以下にMacintosh用のIPP規定外印刷装置構成情報が記載されている。さらに「OS名3」として“Linux”、「OSID3」として“OS03”が設定され、「オプション数3」以下にLinux用のIPP規定外印刷装置構成情報が記載されている。
【0132】
例えば、Windows用のIPP規定外印刷装置構成情報の場合、「オプション数1」に“1”が設定されており、Windowsに対する印刷装置105に付随するオプション装置が1つあることが示されている。端末装置104で稼働するOSがWindowsの場合、追加ソフト417は、この階層の情報を探索することにより、端末装置104で稼働するOSに対応する情報が存在するか否かを把握することが可能となる。なお、Windowsの場合、「オプション数1」以下は、
図11の「オプション数」以下と同一であるので説明を省略する。
【0133】
Macintosh用のIPP規定外印刷装置構成情報の場合、「オプション数2」に“0”が設定されており、Macintoshに対する印刷装置105に付随するオプション装置が全くないことが示されている。
【0134】
Linux用のIPP規定外印刷装置構成情報の場合、「オプション数3」に“1”が設定されており、Linuxに対する印刷装置105に付随するオプション装置が1つあることが示されている。Linuxの場合にも、「オプション数3」以下は、
図11の「オプション数」以下と同一であるので説明を省略する。
【0135】
なお、第2実施形態で扱ったOption XMLは、5層(メーカー名称層、OS名層、オプション名層、設定可能項目名層、設定値名層)として構成した。しかし、Option XMLどのような構造にするかは、追加ソフト417と印刷装置105の間で同期が取れていればよく、その構造を限定するものではない。
【0136】
追加ソフト417は、各設定項目で選択項目が選ばれたら、その項目に対応するIDと値を対としてデバイス固有設定1203に埋め込む。これにより、
図13のS912の拡張印刷設定メニュー(xml有)の処理にて選択された項目がどういうものであったのかを、印刷ジョブに乗せて伝えることができるようになる。
【0137】
なお、この
図14の例では、各種項目の名称は日本語で書かれているが、日本語に限定するものではなく、印刷装置105にて予め設定されている言語情報に従った文字列にしてもよい。
以上示したように、第2実施形態においても、上述した第1実施形態と同様の効果を奏する。
【0138】
なお上記第1、2実施形態では、印刷装置105のROM・RAM307上にそのIPP規定外印刷装置構成情報を規定し制御するための情報(Option XML)を保存する構成について説明した。しかし、印刷装置105のOption XMLをサーバー101や図示しない他のサーバー等の外部のシステムに保存するように構成してもよい(クラウド上の保存領域に保存してもよい)。この構成の場合、印刷装置105は、上述のようなサーバーに保存されているOption XMLへアクセスするためのurl等を、printer-more-info-manufacturerの属性値として、印刷装置105に応答する。そして端末装置104では、印刷装置105から応答されたurl等を用いて、上述のサーバーから、印刷装置105のIPP規定外印刷装置構成情報を示すOption XMLを取得する。これより、端末装置104で印刷装置105のオプション装置に関する印刷設定を認識し、プリンタドライバ416の印刷設定画面に表示して制御できるようになる。すなわち、端末装置104でベンダー固有のオプション装置を制御する印刷ジョブを生成して、印刷装置105に出力することができるようになる。以上の構成により、上述した第1、2実施形態と同様の効果を奏する。
【0139】
また、上記各実施形態では、端末装置104がIPPプロトコルを用いて印刷装置105の制御及び印刷を行う構成について説明したが、その他のプロトコルを用いる構成も本発明に含まれる。
【0140】
以上各実施形態によれば、汎用プリンタドライバ単独ではサポートしきれないベンダー固有のオプション装置に関する情報(IPP規定外の情報)を、IPPが規定する標準属性を用いて、印刷装置から端末装置に伝達して、端末装置で認識させることができる。また、端末装置で動作する汎用プリンタドライバから呼び出される印刷装置ベンダー提供の追加ソフトを用い、ベンダー固有のオプション装置に関する印刷設定を可能とし、印刷装置及びオプション装置を所望の通りに制御して印刷結果を得ることができる。
すなわち、ベンダー固有のオプション装置を制御する機能をサポートしない汎用プリンタドライバを用いて印刷する場合においても、印刷装置及びオプション装置の能力を最大限に活用してユーザ所望の印刷を行うことが可能となる。
【0141】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【0142】
〔その他の実施形態〕
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0143】
104 端末装置
105 印刷装置
416 プリンタドライバ
417 追加ソフト
426 印刷装置構成生成部
427 印刷装置オプション部