IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特開2023-30514プリンタドライバ、印刷方法、情報処理装置、画像形成装置
<>
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図1
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図2
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図3
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図4
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図5
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図6
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図7
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図8
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図9
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図10
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図11
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図12
  • 特開-プリンタドライバ、印刷方法、情報処理装置、画像形成装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023030514
(43)【公開日】2023-03-08
(54)【発明の名称】プリンタドライバ、印刷方法、情報処理装置、画像形成装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20230301BHJP
   B41J 29/38 20060101ALI20230301BHJP
【FI】
G06F3/12 328
G06F3/12 306
G06F3/12 329
G06F3/12 347
B41J29/38 202
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021135688
(22)【出願日】2021-08-23
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】宮部 和弘
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP01
2C061AP07
2C061AQ05
2C061AQ06
2C061AR01
2C061AR03
2C061AS02
2C061HP06
2C061HQ01
2C061HQ19
(57)【要約】
【課題】機種に対応したジェネリックモデルに基づいて印刷データを生成するプリンタドライバを提供すること。
【解決手段】本発明は、複数のジェネリックモデルを搭載したプリンタドライバであって、画像形成装置と通信できる情報処理装置を、前記画像形成装置から機種情報を取得する機器情報取得部と、前記機種情報に応じたジェネリックモデルに基づいて、印刷データを生成する印刷データ生成部と、前記印刷データ生成部が生成した前記印刷データを前記画像形成装置に送信する通信部、として機能させるためのプリンタドライバを提供する。
【選択図】図8
【特許請求の範囲】
【請求項1】
複数のジェネリックモデルを搭載したプリンタドライバであって、
画像形成装置と通信できる情報処理装置を、
前記画像形成装置から機種情報を取得する機器情報取得部と、
前記機種情報に応じたジェネリックモデルに基づいて、印刷データを生成する印刷データ生成部と、
前記印刷データ生成部が生成した前記印刷データを前記画像形成装置に送信する通信部、
として機能させるためのプリンタドライバ。
【請求項2】
前記情報処理装置を、
前記機種情報に異なるジェネリックモデルが対応付けられた対応情報に基づいて、前記機器情報取得部が取得した前記機種情報に対応付けられている、前記ジェネリックモデルに切り替える機種切替部として機能させる請求項1に記載のプリンタドライバ。
【請求項3】
前記機器情報取得部は、印刷実行時に、前記画像形成装置から前記機種情報を取得することを特徴とする請求項1又は2に記載のプリンタドライバ。
【請求項4】
前記機種切替部は、前記プリンタドライバがサポートする前記機種情報が登録されたプリンタドライバサポート情報に基づいて、
前記機器情報取得部が取得した前記機種情報を前記プリンタドライバがサポートする場合は、前記機種情報に切り替え、
前記機器情報取得部が取得した前記機種情報を前記プリンタドライバがサポートしない場合は、前記機器情報取得部が取得した前記機種情報に対応付けられている、前記ジェネリックモデルに切り替えることを特徴とする請求項2に記載のプリンタドライバ。
【請求項5】
前記機器情報取得部は、取得した前記機種情報に、前記画像形成装置のポートを対応付けて保存しておき、
印刷実行時に、前記機種情報を取得済みで、かつ、前記ポートに変更がない場合、前記画像形成装置から前記機種情報を取得することを特徴とする請求項1~4のいずれか1項に記載のプリンタドライバ。
【請求項6】
前記情報処理装置を、
前記機種情報を取得するボタン、及び、前記機種情報の選択を受け付ける選択欄を表示するUI部として機能させ、
前記ボタンが押下された場合、前記機器情報取得部は前記画像形成装置から前記機種情報を取得し、
前記UI部は前記選択欄に前記機器情報取得部が取得した前記機種情報を表示することを特徴とする請求項1~5のいずれか1項に記載のプリンタドライバ。
【請求項7】
複数のジェネリックモデルを搭載したプリンタドライバがインストールされた情報処理装置が、
画像形成装置から機種情報を取得するステップと、
前記機種情報に応じたジェネリックモデルに基づいて、印刷データを生成するステップと、
生成された前記印刷データを前記画像形成装置に送信するステップと、
を実行する印刷方法。
【請求項8】
複数のジェネリックモデルを搭載したプリンタドライバがインストールされた情報処理装置であって、
画像形成装置から機種情報を取得する機器情報取得部と、
前記機種情報に応じたジェネリックモデルに基づいて、印刷データを生成する印刷データ生成部と、
前記印刷データ生成部が生成した前記印刷データを前記画像形成装置に送信する通信部と、
を有する情報処理装置。
【請求項9】
請求項1~6のいずれか1項に記載されたプリンタドライバから、前記印刷データを受信し、前記印刷データを解釈して用紙に画像を印刷する画像形成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタドライバ、印刷方法、情報処理装置、及び、画像形成装置に関する。
【背景技術】
【0002】
ユーザーが画像形成装置で印刷する場合、PC(Personal Computer)にインストールされている画像形成装置の機種に応じたプリンタドライバが画像形成装置に印刷データを送信する。一方、機種共通ドライバという複数の機種に対応したプリンタドライバが知られている。機種共通ドライバは、接続先の画像形成装置の機種によって能力を変更し、その機種に応じたプリンタドライバ相当の機能を提供する。
【0003】
ユーザーが機種共通ドライバに新たな対応機種の情報を追加する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、新たな対応機種の情報を容易に追加できる情報処理装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、機種に対応したジェネリックモデルに基づいて印刷データが生成されてないという問題があった。補足すると、機種共通ドライバにはジェネリックモデル(Generic Model)という機種が用意されている。ジェネリックモデルはどの機種の画像形成装置にも共通の印刷コマンドを送信するが、機種によっては同じ印刷コマンドでは正しく動作しない場合がある。例えば、ユーザーが印刷用紙サイズに「A5縦」を指定して印刷する場合、機種共通ドライバは一方の機種に対し「A5」という印刷コマンドを送信する必要があるが、別の機種に対しては「A5LEF」という印刷コマンドを送信しなければいけないケースがある。このような場合、ジェネリックモデルであってもどちらの印刷コマンドを送信したらよいのか判断できないため、両方の機種には対応できない。
【0005】
本発明は、上記課題に鑑み、機種に対応したジェネリックモデルに基づいて印刷データを生成するプリンタドライバを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、複数のジェネリックモデルを搭載したプリンタドライバであって、画像形成装置と通信できる情報処理装置を、前記画像形成装置から機種情報を取得する機器情報取得部と、前記機種情報に応じたジェネリックモデルに基づいて、印刷データを生成する印刷データ生成部と、前記印刷データ生成部が生成した前記印刷データを前記画像形成装置に送信する通信部、として機能させるためのプリンタドライバを提供する。
【発明の効果】
【0007】
機種に対応したジェネリックモデルに基づいて印刷データを生成するプリンタドライバを提供することができる。
【図面の簡単な説明】
【0008】
図1】情報処理システムの一例のシステム構成を示す図である。
図2】コンピュータの一例のハードウェア構成図である。
図3】プリンタドライバのドライバーモデルを説明する図である。
図4】V4ドライバがアクセス可能な領域を説明する図である。
図5】端末装置が有する機能をブロックに分けて説明する一例の機能ブロック図である。
図6】記憶部に記憶されている一例の対応情報を示す図である。
図7】記憶部に記憶されている一例のコマンド変換情報を示す図である。
図8】ユーザーが印刷を実行した際に、プリンタドライバが実行する処理を説明する一例のフローチャート図である。
図9】プリンタドライバが表示する一例のプロパティ画面を示す図である。
図10】記憶部に記憶されている一例のプリンタドライバサポート情報を示す図である。
図11】ユーザーが印刷を実行した際に、プリンタドライバが実行する処理を説明する一例のフローチャート図である(実施例2)。
図12】記憶部に記憶されている一例のポート情報を示す図である。
図13】ユーザーが印刷を実行した際に、プリンタドライバが実行する処理を説明する一例のフローチャート図である(実施例3)。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、プリンタドライバとプリンタドライバが行う印刷方法について図面を参照しながら説明する。
【実施例0010】
<機種共通ドライバに関する補足>
機種共通ドライバにおいてユーザーが選択可能な機種の1つとしてジェネリックモデルがある。ジェネリックモデルは、機種共通ドライバがサポートしている機種のうち、ある程度の範囲の機種が有する機能をカバーした共通機能のみを使用できるようにした機種である。ジェネリックモデルはどの機種に対しても、同じ印刷設定であれば同じ印刷コマンドを画像形成装置に送信する。しかし、上記のように、機種によっては同じ印刷コマンドでは正しく動作しない場合があった。
【0011】
<本実施形態のプリンタドライバの概略>
そこで、本実施形態では、機種共通のプリンタドライバに、複数のジェネリックモデルが用意される。あるジェネリックモデルは、「A5」コマンドを画像形成装置に送信し、別のジェネリックモデルは「A5LEF」コマンドを画像形成装置に送信する。プリンタドライバは双方向通信によって画像形成装置から機器情報を取得し、どちらの印刷コマンドで動作する機種なのかを判断し、ジェネリックモデルを切り替える。
【0012】
詳細には、プリンタドライバは以下の処理を実行する。
A.プリンタドライバは印刷実行時に画像形成装置から機器情報を取得する。
B.プリンタドライバは取得した機器情報から画像形成装置の機種を判断してプリンタドライバに設定されるジェネリックモデルを切り替える。
【0013】
補足すると、ユーザーが任意のタイミングでプリンタドライバのプロパティ画面(後述する)を操作することで、プリンタドライバが画像形成装置から機器情報を取得できる。しかし、ユーザーはこのような操作をすることを忘れてしまう場合もあるし、そもそも機器情報を取得する方法があることを知らない場合もある。本実施形態では、プリンタドライバが印刷実行時に画像形成装置から機器情報を取得するので、このような不都合を抑制できる。
【0014】
例えば、プリンタドライバのインストール後にユーザーがポートを切り替えて別の機種に印刷するように設定したが、双方向通信しなかったような場合が生じうる(プロパティ画面を操作しなかった場合でも)。この場合、プリンタドライバが機器情報を取得して、ジェネリックモデルを切り替え、機種に応じた印刷コマンドを画像形成装置に送信できる。
【0015】
<用語について>
プリンタドライバとは、印刷対象のデータを画像形成装置が理解できる形式に変換するコンピュータ上のソフトウェアである。従来、プリンタドライバは機種ごとに用意されていたが、複数の機種に対応した機種共通ドライバも普及している。
【0016】
ジェネリックモデルとは機種共通ドライバにおいて選択可能な機種の1つであり、機種共通ドライバがサポートしている機種のうち、ある程度の範囲の機種が有する機能をカバーした共通機能のみを使用できる機種である。
【0017】
機種情報とは、画像形成装置の機種を特定又は識別するための情報である。例えば、機種情報は機種名や型番などでよい。
【0018】
<システム構成>
図1を参照して、本実施形態に係る情報処理システム1のシステム構成について、説明する。図1は、一実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
【0019】
図1に示すように、本実施形態に係る情報処理システム1は、1台以上の端末装置10と、1台以上の画像形成装置20と、サーバー装置30とを含み、これら装置はLAN(Local Area Network)等のネットワークNを介して互いに通信可能に接続されている。
【0020】
端末装置10では、ワープロ等のアプリケーションが動作し、プリンタドライバ(機種共通のプリンタドライバ)がインストールされている。端末装置10は、情報処理装置である。端末装置10は、例えばPC(Personal Computer)、スマートフォン、タブレット端末、PDA(Personal Digital Assistant)等であるが、プリンタドライバを使用して印刷する機能を有していればよい。
【0021】
端末装置10は、例えば、ユーザーからの印刷指示を受け付けて、アプリケーションが作成する印刷対象データから印刷データを作成した上で、印刷データを画像形成装置20に送信する。あるいは、端末装置10は、例えば、ユーザーからの印刷指示を受け付けて、印刷対象データをサーバー装置30に送信する。
【0022】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データをPDL(Page Description Language)で記述された印刷コマンドのリストに変換した電子データである。PDLにはRPCS/PCL6/PostScript(登録商標)等の種類がある。
【0023】
画像形成装置20は、例えばプリンタ、印刷装置等である。画像形成装置20は、印刷機能を有していれば、FAX、スキャナ、コピー等の機能を有していてもよい。このような画像形成装置20はMFP(Multifunction Peripheral)又は複合機と呼ばれる。画像形成装置20は、端末装置10又はサーバー装置30から受信した印刷データを解釈して用紙に画像を印刷する。なお、画像形成装置20は、電子写真方式、インクジェット方式又はこの他の方式で印刷してよい。
【0024】
サーバー装置30は、ネットワーク上の情報処理装置である。サーバー装置30は、例えば、端末装置10から受信した印刷対象データから端末装置10の代わりに印刷データを作成して、作成した印刷データを画像形成装置20に送信する。
あるいは、サーバー装置30はプリントサーバでもよい。プリントサーバは複数の端末装置10から印刷データを受信し、蓄積しておき、画像形成装置20に順次、印刷データを投入する装置である。また、サーバー装置30は、画像形成装置20からの要求に応じて、記憶している印刷データを要求元の画像形成装置20に送信しても良い。サーバー装置30は画像形成装置20にログインしたユーザーに対応付けられた印刷データのみを画像形成装置20に送信する。このような印刷形式をプルプリント印刷やセキュア印刷という。ただし、本実施形態では、サーバー装置30はなくてもよい。
【0025】
なお、以降では、1台以上の端末装置10について、各々を区別するときは、「端末装置10-1」、「端末装置10-2」等と表す。同様に、1台以上の画像形成装置20について、各々を区別するときは、「画像形成装置20-1」、「画像形成装置20-2」等と表す。
【0026】
<ハードウェア構成>
端末装置10及びサーバー装置30は例えば図2に示すハードウェア構成のコンピュータ500により実現される。図2はコンピュータ500の一例のハードウェア構成図である。図2に示されているように、コンピュータ500は、コンピュータによって構築されており、図2に示されているように、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0027】
これらのうち、CPU501は、コンピュータ500全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリや画像形成装置等である。ネットワークI/F509は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0028】
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光記憶媒体513に対する各種データの読み出し又は書き込みを制御する。なお、光記憶媒体はCD,DVD、Blu-Ray(登録商標)等である。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0029】
<プリンタドライバの構造>
図3は、プリンタドライバのドライバーモデルを説明する図である。なお、Windows(登録商標)に搭載されるプリンタドライバのドライバーモデルにはV3、V4などのバージョンが知られており、図3はV4を示す。また、図3において、無色のボックスはOSやアプリケーションなどのプリンタドライバ外の部分である。また、以下の説明では、V4のドライバーモデルに対応したプリンタドライバをV4ドライバという場合がある。なお、本実施形態で説明される、プリンタドライバが機種に応じてジェネリックモデルを切り替えるという印刷方法は、V3のドライバーモデルでも可能である。
【0030】
・Printer Extension101
Printer Extension101は、デスクトップアプリがV4ドライバで印刷する際に表示する印刷設定画面を拡張するためのアプリケーションである。拡張とは、ベンダー独自の印刷設定画面を表示させることをいう。Printer Extensionは、Windowsデスクトップアプリ(EXE形式)である。デスクトップアプリとは次述のストアアプリと区別するための用語であり、デスクトップアプリはPC用のOSでのみ動作するが、ストアアプリはPC,スマフォ、タブレット端末、小型機器など種々のOS上で動作する。
【0031】
・Windows Store Device Apps102
Windows Store Device Apps102は、ストアアプリがV4ドライバで印刷する際に表示する印刷設定画面を拡張するためのアプリケーションである。ストアアプリとは、タブレット型のWindowsでの動作が想定されており、タッチ操作で利用しやすいように設計されているアプリをいう。Windows Store Device Apps102は、プリンタの印刷設定画面拡張用に作られたWindowsストアアプリ(APPX形式)である。
【0032】
日本語ではデバイスアプリなど呼ばれる場合がある。Windows Store Device Apps102はストアアプリという全くの別アプリであり、プリンタドライバパッケージに含めて配布されない。しかし、Windows Store Device Appsは、プリンタドライバと連携して印刷設定画面を表示するという意味で、ドライバーモデルの構成図に含まれる。
【0033】
つまり、アプリケーションにはデスクトップアプリとストアアプリの2種類があり、デスクトップアプリからの印刷時には、Printer Extension101で印刷設定画面を拡張でき、ストアアプリからの印刷時には、Windows Store Device Apps102で印刷設定画面を拡張できる。なお、Printer Extension101とWindows Store Device Apps102をベンダーが利用しないことも可能であり、省略された場合、OS標準の印刷設定画面が表示される。
【0034】
・DriverEvents106
DriverEvents106は、双方向通信の要求やドライバイベントを発生するためのトリガーが記述されるファイルである。このファイル自体はテキストファイルであり、OSがこの定義ファイルを参照してバルーンメッセージを出すなどの処理が行われる。
【0035】
・Constraint Script(JavaScript(登録商標))103
Constraint Script103は、主に以下の役割を持つJavaScript形式のスクリプトファイルである。
1.印刷設定であるDevmodeとPrintTicketの相互変換
2.プリンタドライバの能力情報(PrintCapabilities)の作成
3.印刷設定の禁則設定の制御
Constraint Scriptは、V4ドライバにおけるベンダーの開発範囲内で唯一Devmodeを参照し設定値の読み書きができる。V4ドライバの内部ではPrintTicketを印刷設定として利用し、アプリケーションやOSはDevmodeを利用して印刷設定を指定することがあるため、DevmodeとPrintTicketの両方が必要となる。
【0036】
DevmodeとPrintTicketの相互変換について説明する。
プリンタドライバが印刷設定を保存する場合は、Devmode形式で印刷設定を保存するが、Printer UI/Renderingは、PrintTicket形式の印刷設定で動作する。例えば、印刷設定画面を開き、ユーザーが設定した印刷設定を保存する場合には、
1.Constraint Script103がDevmodeの設定値からPrintTicket形式に変換する、
2.Printer Extension101は1のPrintTicketを受け取り、ユーザーの設定値をPrintTicketに反映する、
3.Constraint Script103が2のPrintTicketの設定値に合わせてDevmodeに変換する、
ことで設定値が保存される。
【0037】
描画時(印刷時)には
1.Constraint Script103がDevmodeの設定値からPrintTicket形式に変換する、
2.XPS Filters(後述)は1のPrintTicketを受け取り、その印刷設定に従って描画処理を行う。
【0038】
アプリケーションからもプリンタドライバの印刷設定を変更することができるが、アプリケーションによってDevmodeで設定を変更するもの、又は、PrintTicketで設定を変更するものの2種類があり、プリンタドライバとしてはどちらのケースでも設定値を正しく反映させる必要がある。
【0039】
以上がDevmodeとPrintTicketの印刷設定の相互変換が行われる理由(DevmodeとPrintTicketの両方が必要な理由)である。
【0040】
・DevModeMap110は、DEVMODEマッピングファイルをV4マニフェストで指定するXML形式のファイルである。
【0041】
・PrintTicket/PrintCapabilities
従来、アプリケーションとプリンタドライバ間でのプリンタを制御するための情報(以降プリンタ制御情報と言う)はDEVMODEと呼ばれる構造体で受け渡しが行われていた。プリンタ制御情報には、印刷をどのように行うのか(部数、集約数、ステープルの有無など)という情報が含まれている。そのDEVMODEに代わるプリンタ制御情報としてPrintTicketが使用可能になった。また、プリンタドライバの能力情報を取得するためには、DeviceCapabilitiesと呼ばれる情報が使用されていた。その代わりとなるのが、PrintCapabilitiesである。なお、PrintTicket/PrintCapabilitiesはXML形式の設定情報である。
【0042】
・Printer Config(GPD/PPD)104
Printer Config104は、GPDファイル/PPDファイルと呼ばれるプリンタドライバとしてサポートする機能を定義するテキストファイルである。V4ドライバのデスクトップ側(標準UI)には、このファイルに記載されている印刷設定のみが表示される。上記のPrinter Extension101やWindows Store Device Apps102ではこのファイルに定義されていない印刷機能を表示することが可能である。
【0043】
・Auto Config(GDL)105
Auto Config 105は、Bidi Extension (XML/JavaScript) 107,108の情報とGPD/PPDの設定を紐づけるテキストファイルである。つまり、Auto Config 105は、「Bidi Extensionで取得した情報が~だったら」、その情報を「GPD/PPDの~の設定値を~に変更する」、というマッピング情報を定義するファイルである。
【0044】
・XPS Filters(DLLs)109
XPS Filters109は、Filter(フィルター)と呼ばれるV4ドライバの描画部分を担うファイルである。XPSをPDL(RPCS/PCL6/PostScriptなど)に変換するようなFilterや、集約/製本などの文書構成を変更するFilterが一般的に作成される。一つもFilterを持たないという構成も可能であり、その場合は、OSから送られるXPSファイルがそのまま画像形成装置に送られる。
【0045】
・Bidi Extension(XML)107
Bidi Extension107はTCP/IP,WSD,USBで双方向通信を実施するためのXML形式の定義ファイルである。TCP/IPの場合は、取得するMIB(Management Information Base)の情報(OID)、WSDの場合はWSDスキーマ,USBの場合は取得する情報を記載する。このファイル自体はテキストファイルであり、OSがこの定義ファイルを参照して双方向通信が行われる。
【0046】
・Bidi Extension(JavaScript)108
USB Bidi JavaScript108は、USBポートでプリンタドライバが画像形成装置20と通信を実施するためのJavaScript形式のスクリプトファイルである。ベンダーはUSBポート接続時に画像形成装置20とどのような通信を行うかをJavaScriptで実装することができる。
【0047】
<V4ドライバがアクセス可能な領域>
図4は、V4ドライバがアクセス可能な領域を説明する図である。
【0048】
・DriverPropertyBag121
DriverPropertyBag121は、読み込みのみが可能な領域である。DriverPropertyBagはプリンタドライバの構成ファイルを格納することができる。ベンダーはプリンタドライバのパッケージ時にDriverPropertyBagの構成を決定しておく必要がある。
【0049】
・QueuePropertyBag122
QueuePropertyBag122は、読み書きともに可能な領域である。ただし、書き込みは権限に依存する。QueuePropertyBag122は、プリンタアイコンごとの情報を格納することができる。
【0050】
・UserPropertyBag123
UserPropertyBag123は、読み書きともに可能な領域である。ただし、UserPropertyBagが有する、操作中のユーザー以外の他のユーザーの情報にはアクセスが制限される。UserPropertyBagには、プリンタアイコンごとユーザーごとの情報を格納することができる。
【0051】
・独自領域124
独自領域124には、ファイルやレジストリがあり、ベンダーが独自にフォーマットを決め、情報を格納することができる。保存場所は複数あるが、アクセスできる権限はプリンタドライバのモジュールごとに異なる。
【0052】
<機能ついて>
図5は、端末装置10が有する機能をブロックに分けて説明する機能ブロック図の一例である。端末装置10には、アプリケーション11及びプリンタドライバ12がインストールされている。端末装置10は、プリンタドライバ12が有する機能として、UI部13、機種切替部14、印刷データ生成部15、機器情報取得部16、及び、通信部17を有している。端末装置10が有するこれらの機能は、コンピュータ500のCPU501がプリンタドライバを実行することで実現される機能又は手段である。
【0053】
UI部13(User Interface)は、ユーザーがアプリケーション11内で印刷設定画面を表示する操作を行うと、アプリケーション11からの呼び出しに応じて、印刷設定画面を表示する。印刷設定画面の表示はアプリケーション11内に限られず、画像形成装置のプロパティ画面等でも可能である。また、UI部13は、印刷設定画面に対するユーザーからの印刷設定を受け付ける。印刷設定は、原稿サイズ、印刷用紙サイズ、用紙種類、給紙トレイ、集約、両面、製本、ステープル、パンチ、カラー/モノクロ、及び部数等である。
【0054】
印刷データ生成部15は、UI部13が受け付けた印刷設定に基づいて、アプリケーション11が生成した印刷対象データから印刷データを生成する。印刷データはPDLデータとも呼ばれ、PDLで記述される。印刷データには、文字については、文字コード、大きさ、フォント、位置情報などが、画像形成装置20が理解できる印刷コマンドで記述されている。画像については、画像の位置、解像度などが、画像形成装置20が理解できる印刷コマンドで記述されている。
【0055】
機器情報取得部16は、画像形成装置20からネットワーク又はUSBケーブルなどを介して機器情報を取得する。画像形成装置20はMIBというデータベースにOID(Obejct Identifier)で識別される情報を保持している。MIBには各種の情報が含まれているが、例えば機種名、型番、IPアドレス、搭載されているフィニッシャ、トナー残量、カウンタ情報などを含む。機種名や型番は機種情報に相当する。なお、通信プロトコルとしてSNMP(Simple Network Management Protocol)が知られているが、この他の通信プロトコルで通信してもよいし、USBケーブルを介して通信してもよい。
【0056】
機種切替部14は、画像形成装置の機種に応じて、ジェネリックモデルを切り替える。切り替える前の機種は例えばユーザーが印刷設定画面で設定した機種である。ジェネリックモデルは機種の1つとして認識されるので、印刷データ生成部15がジェネリックモデルに応じた印刷コマンドを生成する。
【0057】
通信部17は、画像形成装置20と双方向通信することができ、印刷データ生成部15が生成した印刷データを画像形成装置20に送信する。
【0058】
また、端末装置10は記憶部19を有している。記憶部19は、図4で説明したV4ドライバがアクセス可能なDriverPropertyBag121、QueuePropertyBag122、UserPropertyBag123のいずれかでもよいし、これらとは別のデータ領域でもよい。記憶部19は、コンピュータ500のRAM503、HD504等に構築される。
【0059】
図6は、記憶部19に記憶されている対応情報の一例である。対応情報は、機種の項目とプリンタードライバーモデルの項目を有している。
・機種は、画像形成装置の機種名、型番等、機器情報取得部16が画像形成装置20から取得できる機種に関する情報である。
・プリンタードライバーモデルは、あらかじめ用意された複数のジェネリックモデルのうち、機種情報に対応するものである。ジェネリックモデルは本来、ある程度の範囲の機種が有する機能をカバーした共通機能のみを使用できる機種であるが、本実施形態では、異なる機種に対応するジェネリックモデルが用意される。
【0060】
図6の例では、"Printer Model A"と"Printer Model B"は"Generic Model 1"として扱われる。"Printer Model C"は"Generic Model 2"として扱われる。
【0061】
なお、対応情報は記憶部19に記憶される他、機種切替部14のソースコードに含まれていてもよい。
【0062】
図7は、記憶部19に記憶されているコマンド変換情報の一例である。コマンド変換情報には、ジェネリックモデルごとに適切な印刷コマンドが登録されている。例えば、"Generic Model 1"に切り替えられた場合、印刷データ生成部15は「A5縦」という印刷設定に対し「A5」という印刷コマンドを採用する。"Generic Model 2"に切り替えられた場合、印刷データ生成部15は「A5縦」という印刷設定に対し「A5LEF」という印刷コマンドを採用する。"Generic Model 3"に切り替えられた場合、印刷データ生成部15は「A5縦」という印刷設定に対し「A5」という印刷コマンドを採用する。このようにジェネリックモデルが切り替わると、ジェネリックモデルに適切な印刷コマンドが生成される。
【0063】
なお、コマンド変換情報は記憶部19に記憶される他、印刷データ生成部15のソースコードに含まれていてもよい。
【0064】
<動作手順>
図8は、ユーザーが印刷を実行した際に、プリンタドライバ12が実行する印刷方法を説明するフローチャート図である。なお、プリンタドライバに設定されている初期状態の機種は、ジェネリックモデルでもよいし、他の機種でもよい。
【0065】
ユーザーが印刷実行ボタンを押下すると、アプリケーション11が印刷実行を受け付けて、プリンタドライバ12を呼び出す。プリンタドライバ12の機器情報取得部16は、画像形成装置20から機器情報を取得する(S1)。機器情報は例えば以下のように少なくとも機種名(Model)と同等の情報を含む。
Model:Printer Model A
このように、印刷実行時に、機器情報取得部16が機器情報を取得するので、印刷実行までにユーザーが機器情報を取得する操作を行っていなかったり、ポートを切り替えたりしていても、現在、接続されている画像形成装置20の機器情報を取得できる。
【0066】
次に、機種切替部14は、記憶部19から対応情報を取得して、現在、機種共通ドライバに設定されている機種を、機器情報に含まれる機種に対応するジェネリックモデルに切り替える(S2)。
【0067】
印刷データ生成部15は、切り替えられたジェネリックモデルのコマンド変換情報に基づいて印刷対象データを印刷コマンドに変換する(S3)。
【0068】
通信部17は、印刷データを画像形成装置20に送信する(S4)。
【0069】
<ジェネリックモデルの表示>
続いて、図9を参照して、ジェネリックモデルの設定及び表示方法を説明する。図9は、プリンタドライバ12が表示するプロパティ画面200の一例である。プリンタドライバ12が機器情報を取得して切り替えたジェネリックモデルの情報は図9のようなプロパティ画面200に表示される。以下、プロパティ画面200について説明する。
【0070】
「プリンタ情報の取得ボタン」222は、ユーザーの操作で画像形成装置20が双方向通信を行い、画像形成装置20から機器情報を取得するためのボタンである。「プリンタ情報の取得ボタン」222が押下されると、機器情報取得部16が機器情報を取得する。機種切替部14が対応情報を参照してジェネリックモデルを切り替え、UI部13がこのジェネリックモデルをモデル選択欄221に表示する。このように、ユーザーの操作によってもプリンタドライバ12はジェネリックモデルを切り替えることができる。
【0071】
「モデル選択欄」222は、切り替え可能なジェネリックモデル及び当該プリンタドライバが対応する機種のリストをプルダウンメニュー等で表示する。「モデル選択欄」222の下部には、現在、設定されているジェネリックモデルが表示されている。
【0072】
「現在の設定欄」223には、取得した機器情報に応じて、画像形成装置20における現在の状態が表示される。例えば、両面印刷、パンチ、ステープルなどのオプションが取り付けられているか、用紙トレイにある用紙サイズなどが表示される。
【0073】
「自動的にプリンタ情報を取得」224に対応付けられたチェックボックスは、図9のプロパティ画面200を端末装置10が表示したタイミングで、画像形成装置20から機器情報を自動で取得させる場合にチェックされる。
【0074】
ユーザーは印刷後にこのようなプロパティ画面200を表示することによってどのジェネリックモデルに切り替わったのか確認することができる。また、印刷前に、ジェネリックモデルを切り替えておくこともできる。
【0075】
<主な効果>
以上説明したように、本実施形態のプリンタドライバ12は、複数のジェネリックモデルを用意しておき、画像形成装置20から取得した機器情報に応じてジェネリックモデルを切り替えるので、画像形成装置20の機種に対応した印刷コマンドを画像形成装置20に送信することができる。
【実施例0076】
本実施例では、機器情報をもとにプリンタドライバ12が画像形成装置の機種をサポートしているかどうか判断し、サポートしていると判断した場合には、その機種に切り替えるプリンタドライバ12について説明する。こうすることで、プリンタドライバ12は、ジェネリックモデルでは利用できない画像形成装置20の機能を利用できる。
【0077】
本実施例においては、上記の実施例にて説明した図2のハードウェア構成図、及び、図5に示した機能ブロック図を援用できるものとして説明する。
【0078】
<プリンタドライバサポート情報>
図10に示すように、本実施例のプリンタドライバ12は記憶部19にプリンタドライバサポート情報を保持する。図10は、記憶部19に記憶されているプリンタドライバサポート情報の一例である。プリンタドライバサポート情報は、機種ごとにプリンタドライバ12が該機種をサポートしているか否かの情報を有している。
【0079】
図10の例では、"Printer Model A"、"Printer Model B"、"Printer Model C"という機種をプリンタドライバ12がサポートしていない(No)。一方、"Printer Model D"をプリンタドライバ12がサポートしている(Yes)。
【0080】
機種切替部14は、画像形成装置20から取得した機器情報をもとにプリンタドライバ12が機器情報に含まれる機種をサポートしているか否かを判断し、サポートしている場合、"Printer Model D"のように画像形成装置20本来の機種に切り替える。また、サポートしていなければ実施例1で示したように、プリンタドライバ12はジェネリックモデルを判断して切り替える。
【0081】
こうすることで、プリンタドライバ12がサポートする機種であれば、ジェネリックモデルでなく機種を指定して印刷することができる。プリンタドライバ12がサポートする機種でなくても、ジェネリックモデルを切り替えて、画像形成装置20の機種に対応した印刷コマンドを画像形成装置20に送信することができる。
【0082】
なお、プリンタドライバサポート情報は記憶部19に記憶される他、機種切替部14のソースコードに含まれていてもよい。
【0083】
<動作手順>
図11は、ユーザーが印刷を実行した際に、プリンタドライバ12が実行する印刷方法を説明するフローチャート図である。
【0084】
ユーザーが印刷実行ボタンを押下すると、アプリケーション11が印刷実行を受け付けて、プリンタドライバ12を呼び出す。プリンタドライバ12の機器情報取得部16は、画像形成装置20から機器情報を取得する(S11)。
【0085】
機種切替部14は、プリンタドライバ12が機器情報に含まれる機種をサポートしているか否かを、図10に示したプリンタドライバサポート情報を参照して判断する(S12)。
【0086】
ステップS12の判断がYesの場合、機種切替部14は、機種共通ドライバに設定されている機種を、機器情報に含まれる機種に切り替える(S13)。この後、処理はステップS15に進む。すなわち、ジェネリックモデルが使用されないで機種が設定されたので、印刷データ生成部15は機種に対応した印刷データを生成できる。
【0087】
ステップS12の判断がNoの場合、処理はステップS14~S16に進む。ステップS14~S16の処理は、図8のステップS2~S4と同様でよい。
【0088】
<主な効果>
以上説明したように、本実施例のプリンタドライバ12は、端末装置10に接続されている画像形成装置20の機種をサポートしている場合、その機種に切り替えるので、ジェネリックモデルでは利用できない画像形成装置20の機能を利用できる。プリンタドライバ12がその機種をサポートしていない場合は、機種に応じてジェネリックモデルを切り替え、機種に応じた印刷データを生成できる。
【実施例0089】
本実施例では、印刷実行時に機種を切り替える必要があるかどうか判断し、機種を切り替える必要があると判断した場合に、画像形成装置20と通信して機器情報を取得するプリンタドライバ12について説明する。こうすることで、プリンタドライバ12は、時間のかかる双方向通信を必要な場合にだけ実行できる。
【0090】
本実施例においては、上記の実施例にて説明した図2のハードウェア構成図、及び、図5に示した機能ブロック図を援用できるものとして説明する。
【0091】
<ポート情報>
図12に示すように、本実施例のプリンタドライバ12は記憶部19にポート情報を保持しておく。図12は、記憶部19に記憶されているポート情報の一例である。ポート情報は、機器情報に含まれる機種と、機器情報を取得した際のポートを対応付けた情報である。図12の例では、機器情報を取得した際に機種が"Printer Model A"であり、その際のポートはTCP/IPポートで画像形成装置20のIPアドレスが192.168.0.2であったことを表している。なお、画像形成装置20が接続されているポートに関する情報(TCP/IPポート、IPアドレス)は、OSから取得できる。ポートには、この他、COM、LPT等がある。
【0092】
機種切替部14は、印刷開始時にポート情報を参照し、機器情報を取得済みかどうか、及び、ポートを確認する。機器情報を取得済みで、かつ、ポートが変更されていない場合は、プリンタドライバ12が最後に機器情報を取得した時から接続している画像形成装置20が変わっていないと判断して機種の切り替えはせずに印刷データの生成を行う。こうすることで、端末装置10は、不要な双方向通信を低減できる。
【0093】
<動作手順>
図13は、ユーザーが印刷を実行した際に、プリンタドライバ12が実行する印刷方法を説明するフローチャート図である。
【0094】
ユーザーが印刷実行ボタンを押下すると、アプリケーション11が印刷実行を受け付けて、プリンタドライバ12を呼び出す。プリンタドライバ12の機種切替部14はポート情報を参照して、機器情報を取得済みか否か判断する(S21)。この判断は記憶部19にポート情報があれば、機器情報を取得済みと判断してよい。ステップS21の判断がNoの場合、処理はステップS23に進む。
【0095】
ステップS21の判断がYesの場合、機種切替部14はポート情報のポートが現在のポートと同じか否か判断する(S22)。すなわち、機種切替部14は、機種を指定して現在のポートをOSに問い合わせ、このポートがポート情報のポートと同じか否かを判断する。ステップS22の判断がNoの場合、処理はステップS23に進む。
【0096】
ステップS22の判断がYesの場合、最後にプリンタドライバ12が機器情報を取得してから端末装置10に接続される画像形成装置20が切り替わっていないと判断できるので、処理はステップS26に進む。すなわち、ジェネリックモデルを切り替えることなく、印刷データ生成部15が印刷データを生成する。
【0097】
一方、ステップS23は図8のステップS1と同様でよい。そして、機器情報取得部16は機器情報を取得したタイミングでポート情報を更新しておく(S24)。機器情報取得部16は、機器情報に含まれる機種とOSから取得したポートを対応付けて記憶部19にポート情報として保存する。
【0098】
ステップS25~S27は図8のステップS2~S4と同様でよい。
【0099】
<主な効果>
以上説明したように、本実施例のプリンタドライバ12は、印刷実行時に機種を切り替える必要があるかどうか判断し、機種を切り替える必要があると判断した場合に、画像形成装置20と通信して機器情報を取得する。こうすることで、プリンタドライバ12は、時間のかかる双方向通信を必要な場合にだけ実行できる。
【0100】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0101】
例えば、本実施形態では、端末装置10でプリンタドライバが動作したが、プリンタドライバはサーバー装置30で動作してもよい。
【0102】
また、本実施形態では、主にWindowsというOSでプリンタドライバ12が動作する場合を説明したが、プリンタドライバ12が動作するOSはMAC(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)等でもよい。
【0103】
また、図5の機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0104】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0105】
1 情報処理システム
10 端末装置
20 画像形成装置
30 サーバー装置
【先行技術文献】
【特許文献】
【0106】
【特許文献1】特開2018-156636号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13