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

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

▶ セイコーエプソン株式会社の特許一覧

特許7540261プログラム、印刷制御方法、および、印刷制御装置
<>
  • 特許-プログラム、印刷制御方法、および、印刷制御装置 図1
  • 特許-プログラム、印刷制御方法、および、印刷制御装置 図2
  • 特許-プログラム、印刷制御方法、および、印刷制御装置 図3
  • 特許-プログラム、印刷制御方法、および、印刷制御装置 図4
  • 特許-プログラム、印刷制御方法、および、印刷制御装置 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】プログラム、印刷制御方法、および、印刷制御装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240820BHJP
   B41J 29/38 20060101ALN20240820BHJP
【FI】
G06F3/12 331
G06F3/12 303
G06F3/12 324
B41J29/38 201
【請求項の数】 8
(21)【出願番号】P 2020158365
(22)【出願日】2020-09-23
(65)【公開番号】P2022052157
(43)【公開日】2022-04-04
【審査請求日】2023-07-19
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110001081
【氏名又は名称】弁理士法人クシブチ国際特許事務所
(72)【発明者】
【氏名】大橋 一輝
(72)【発明者】
【氏名】栗林 岳人
(72)【発明者】
【氏名】池田 祐樹
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2005-182486(JP,A)
【文献】特開2014-033401(JP,A)
【文献】特開2013-041329(JP,A)
【文献】特開2020-004158(JP,A)
【文献】特開2016-095607(JP,A)
【文献】米国特許出願公開第2017/0083800(US,A1)
【文献】米国特許出願公開第2020/0004473(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00-29/70
G03G 13/34
G03G 15/00
G03G 15/36
G03G 21/00-21/02
G03G 21/14
G03G 21/20
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
印刷装置と接続し、印刷装置に印刷を実行させるプリンタードライバーがインストールされる印刷制御装置のコンピューターにより実行されるプログラムであって、
プリンタードライバーと対応付けられ、
前記コンピューターに、
印刷要求を取得させ、
取得された前記印刷要求を前記プリンタードライバーに送信させ、
前記プリンタードライバーが送信する前記印刷要求に基づく応答を受信させ、
前記印刷要求に基づく印刷情報を取得させ
前記印刷装置のサポート情報を要求するサポート情報要求を受信させ、
前記サポート情報要求を前記プリンタードライバーに送信させる、プログラム。
【請求項2】
前記印刷制御装置は、サーバーと接続し、
前記印刷要求に基づき取得された前記印刷情報を前記サーバーに送信させる、請求項1記載のプログラム。
【請求項3】
印刷設定に関する要求を受け付けたとき、前記プリンタードライバーに対して設定画面を要求させ、
前記プリンタードライバーから前記設定画面を取得する、請求項1または2記載のプログラム。
【請求項4】
前記設定画面に入力された設定情報を取得させ、
取得された前記設定情報を前記プリンタードライバーに送信させる、請求項3記載のプログラム。
【請求項5】
前記印刷制御装置は、前記印刷要求を出力するアプリケーションプログラムを実行し、
前記印刷設定に関する前記要求は、前記アプリケーションプログラムによって送信される請求項3または4記載のプログラム。
【請求項6】
前記印刷制御装置は、前記印刷装置を指定するプリントキューを記憶し、
前記プリントキューは予め前記プリンタードライバーと関連付けられ、
前記アプリケーションプログラムが、前記プリントキューを指定する前記印刷要求を出力したとき、前記印刷要求を取得させ、
前記プリントキューと関連付けられた前記プリンタードライバーに前記印刷要求を送信させる、請求項5記載のプログラム。
【請求項7】
印刷装置に印刷を実行させるプリンタードライバーがオペレーティングシステム上で動作する印刷制御装置が実行する印刷制御方法であって、
前記オペレーティングシステムと前記プリンタードライバーとの間に介在する情報取得モジュールを予めインストールさせ、
前記情報取得モジュールは予め前記プリンタードライバーと対応付けられ、
前記情報取得モジュールは、
印刷要求を取得し、
取得した前記印刷要求を、前記情報取得モジュールに対応付けられた前記プリンタードライバーに送信し、
前記印刷要求に対応する応答を前記プリンタードライバーから受信し、
前記印刷要求に基づく印刷情報を取得し、
前記印刷装置のサポート情報を要求するサポート情報要求を受信し、
前記サポート情報要求を前記プリンタードライバーに送信する、印刷制御方法。
【請求項8】
印刷装置と接続する通信部と、
オペレーティングシステムが動作する実行部と、
プリンタードライバー、および、情報取得モジュールを制御する制御部と、
前記プリンタードライバーと前記情報取得モジュールとを関連付ける関連情報を記憶する記憶部と、
を備え、
前記制御部は、前記情報取得モジュールによって、
前記オペレーティングシステムから印刷要求を取得し、
取得した前記印刷要求を前記情報取得モジュールに関連付けられた前記プリンタードライバーに送信し、
前記印刷要求に基づく印刷情報を取得し、
前記印刷要求に対応する応答を前記プリンタードライバーから受信し、
前記印刷要求に対応する前記応答を前記オペレーティングシステムへ送信し、
前記印刷装置のサポート情報を要求するサポート情報要求を受信し、
前記サポート情報要求を前記プリンタードライバーに送信する、印刷制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、印刷制御方法、および、印刷制御装置に関する。
【背景技術】
【0002】
従来、印刷装置の印刷枚数に応じた課金を行う等の目的で、印刷装置の印刷量等の印刷情報を管理する手法が提案された。例えば、特許文献1には、プリンタドライバプログラムにより、印刷情報の設定や印刷量を算出する構成が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2007-141100号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1記載の構成は、印刷量を算出する機能等をプリンタドライバプログラムが有している必要がある。この構成を実現するためには、印刷量の算出に係る機能をプリンタドライバごとに付加する必要がある。このため、印刷量の算出等を行う対象となる印刷装置に対して、印刷量の算出に係る機能が付加されたドライバプログラムが提供されなければならず、多様な印刷装置に適用することは困難である。
【課題を解決するための手段】
【0005】
上記課題を解決する一態様は、印刷装置と接続し、印刷装置を実行させるプリンタードライバーがインストールされる印刷制御装置のコンピューターにより実行されるプログラムであって、前記コンピューターに、プリンタードライバーと対応付けられ、印刷要求を取得させ、取得された前記印刷要求を前記プリンタードライバーに送信させ、前記プリンタードライバーが送信する前記印刷要求に基づく応答を受信させ、前記印刷要求に基づく印刷情報を取得させる、プログラムである。
【0006】
上記課題を解決する別の一態様は、印刷装置に印刷を実行させるプリンタードライバーがオペレーティングシステム上で動作する印刷制御装置が実行する印刷制御方法であって、前記オペレーティングシステムと前記プリンタードライバーとの間に介在する情報取得モジュールを予めインストールさせ、前記情報取得モジュールは予め前記プリンタードライバーと対応付けられ、前記情報取得モジュールは、印刷要求を取得し、取得した前記印刷要求を、前記情報取得モジュールに対応付けられた前記プリンタードライバーに送信し、前記印刷要求に対応する応答を前記プリンタードライバーから受信し、前記印刷要求に基づく印刷情報を取得する、印刷制御方法である。
【0007】
上記課題を解決するさらに別の一態様は、印刷装置と接続する通信部と、オペレーティングシステムが動作する実行部と、プリンタードライバー、および、情報取得モジュールを制御する制御部と、前記プリンタードライバーと前記情報取得モジュールとを関連付ける関連情報を記憶する記憶部と、を備え、前記制御部は、前記情報取得モジュールによって、前記オペレーティングシステムから印刷要求を取得し、取得した前記印刷要求を前記情報取得モジュールに関連付けられた前記プリンタードライバーに送信し、前記印刷要求に基づく印刷情報を取得し、前記印刷要求に対応する応答を前記プリンタードライバーから受信し、前記印刷要求に対応する前記応答を前記オペレーティングシステムへ送信する、印刷制御装置である。
【図面の簡単な説明】
【0008】
図1】印刷システムの構成を示す図。
図2】端末制御部の機能の説明図。
図3】プリンタードライバーおよび情報取得モジュールのインストールに関する手順と動作を示すフローチャート。
図4】端末装置の動作を示すフローチャート。
図5】端末装置の動作を示すフローチャート。
【発明を実施するための形態】
【0009】
図1は、印刷システム1000の構成を示す図である。
図1に示すように、印刷システム1000は、端末装置1、印刷装置2、および、サーバー3を備える。端末装置1は、印刷制御装置の一例に対応する。
【0010】
端末装置1は、PC(Personal Computer)である。端末装置1は、デスクトップ型でもラップトップ型でもタブレット型でもよい。端末装置1は、ローカルネットワークLNを介して印刷装置2と通信可能に接続され、グローバルネットワークGNを介してサーバー3と通信可能に接続される。
グローバルネットワークGNは、専用回線や、公衆回線網、インターネット等を含んで構成される。
【0011】
印刷装置2は、印刷媒体に画像を印刷する装置である。印刷媒体の種類に制限はなく、所定サイズのカット紙、ロール紙、合成樹脂製のシート等が挙げられる。印刷装置2の印刷方式について制限はなく、ドットインパクト式、熱昇華式、サーマル式等の印刷方式を採用できる。印刷装置2の印刷方式はインクジェット式である。
【0012】
端末装置1には、メーカー或いは機種が異なる図示しない他の印刷装置が1又は複数接続されてもよい。
【0013】
端末装置1は、ローカルネットワークLNを介して印刷装置2に印刷コマンドCOを出力し、印刷を実行させる。端末装置1は、印刷装置2が実行する印刷に関する印刷情報DAを、グローバルネットワークGNを介してサーバー3に送信する。
【0014】
印刷装置2は、印刷装置制御部20、印刷装置通信部21、および印刷部22を備える。
印刷装置制御部20は、CPUやMPU等のプログラムを実行するプロセッサーである。印刷装置制御部20は、プロセッサーによりプログラムを読み出して実行し、ハードウェアおよびソフトウェアにより各種処理を実行する。印刷装置制御部20は、プロセッサーが実行するプログラムや、プロセッサーが処理するデータを記憶する不図示の記憶装置を備えてもよい。
【0015】
印刷装置通信部21は、所定の通信規格で通信を行う通信インターフェイスである。印刷装置通信部21は、印刷装置制御部20の制御に従ってローカルネットワークLNを介して端末装置1と通信する。印刷装置通信部21は、USB(Universal Serial Bus)ケーブルを介して端末装置1とUSB接続し、端末装置1と通信してもよい。
【0016】
印刷部22は、印刷媒体に対して画像を印刷する印刷機構である。印刷部22の印刷機構は、インクを吐出する印刷ヘッド、および、印刷媒体を搬送する搬送機構を含む。印刷部22は、印刷媒体の位置やサイズを検出する各種のセンサー、印刷ヘッドを走査させるヘッド走査機構等を備えてもよい。
【0017】
印刷装置制御部20は、印刷装置通信部21を制御して、端末装置1が送信する印刷コマンドCOを受信する。印刷装置制御部20は、印刷コマンドCOに従って印刷部22を制御し、印刷媒体に対する印刷を実行させる。
【0018】
サーバー3は、端末装置1から印刷情報DAを受信する。サーバー3は、端末装置1から受信した印刷情報DAを、端末装置1または印刷装置2に対応づけて記憶する。サーバー3は、印刷情報DAに基づいて、印刷装置2が実行した印刷に関する課金情報の算出等を実行してもよい。
【0019】
印刷情報DAは、端末装置1が印刷装置2に印刷させるページ数、描画種類、ページ設定の少なくともいずれかを含む。ページ数は、印刷装置2が印刷する印刷媒体の枚数である。描画種類は、印刷装置2が実行する印刷処理の種類を差す。印刷処理は、カラー印刷であるか、モノクロ印刷であるか、写真印刷であるか、一般文書印刷であるか、インクの消費量を節約する印刷モードであるか、印刷解像度、印刷濃度等である。ページ設定は、印刷媒体のサイズ、両面印刷であるか、片面印刷であるか等である。印刷情報DAは、上記のほか、印刷装置2の印刷コストに影響する各種の情報を含むことができる。
【0020】
端末装置1は、端末制御部10、第1端末通信部11、第2端末通信部12、表示部13、および入力部14を備える。
【0021】
第1端末通信部11は、所定の通信規格で通信を行う通信インターフェイスであり、端末制御部10の制御に従って、グローバルネットワークGNを介して接続するサーバー3と通信する。第1端末通信部11は、送信部の一例に対応する。
【0022】
第2端末通信部12は、所定の通信規格で通信を行う通信インターフェイスであり、端末制御部10の制御に従って、ローカルネットワークLNを介して接続する印刷装置2と通信する。第2端末通信部12は通信部の一例に対応する。
【0023】
表示部13は、LED(Light Emitting Diode)やOLED(Organic Light Emitting Diode)などで構成されるディスプレイであり、端末制御部10の制御に従って、所定の態様で情報の表示を実行する。表示部13は、端末装置1と接続する外部機器でもよい。
【0024】
入力部14は、端末装置1に設けられた操作スイッチや、タッチパネル、マウス、キーボード等の入力手段と接続し、ユーザーの入力操作を検出し、検出結果を端末制御部10に出力する入力インターフェイスである。端末制御部10は、入力部14からの入力に基づいて、入力操作に対応する処理を実行する。
【0025】
端末制御部10は、端末プロセッサー100、および、端末記憶部110を備える。端末プロセッサー100は、CPUやMPU等のプログラムを実行するプロセッサーであり、端末装置1を制御するコンピューターの一例に対応する。端末制御部10は制御部の一例に対応する。端末記憶部110は記憶部の一例に対応する。
端末プロセッサー100は、端末記憶部110に記憶されたプログラムを読み出し、ハードウェアおよびソフトウェアにより各種処理を実行する。
【0026】
端末記憶部110は、端末プロセッサー100が実行するプログラム、および、端末プロセッサー100が処理するデータを不揮発的に記憶する。端末記憶部110は、オペレーティングシステム111、生成アプリ112、および、プリンタードライバー113を記憶する。以下の説明では、オペレーティングシステムをOSと略記する。端末記憶部110は、揮発性の記憶領域を備え、端末プロセッサー100のワークエリアを構成してもよい。
【0027】
端末プロセッサー100は、OS実行部101、生成アプリ実行部102、ドライバー実行部103、および、情報取得部104として機能する。OS実行部101は、オペレーティングシステム111を実行する。生成アプリ実行部102は、生成アプリ112を実行する。ドライバー実行部103は、プリンタードライバー113を実行する。情報取得部104は、情報取得モジュール114を実行する。
【0028】
オペレーティングシステム111は、端末制御部10の基本的な制御機能を有するプログラムである。
OS実行部101は、オペレーティングシステム111を動作させて、第1端末通信部11および第2端末通信部12を用いる通信機能、表示部13を用いる表示機能、入力部14による入力を受け付ける入力検出機能を提供する。OS実行部101は、アプリケーションプログラムを実行するプラットフォームを形成する。
【0029】
生成アプリ112は、文書や画像のデータを生成するアプリケーションプログラムである。
プリンタードライバー113は、印刷装置2が実行する印刷コマンドCOを生成し、印刷コマンドCOを送信するプログラムである。プリンタードライバー113は、印刷コマンドCOを送信することによって、印刷装置2に印刷を実行させる。ドライバー実行部103は、プリンタードライバー113を実行して、印刷装置2の仕様に対応する印刷コマンドCOを生成する。印刷コマンドCOは、印刷装置2が実行可能なコマンドと、印刷装置2が印刷媒体に印刷する文字や画像のデータとを含む。印刷コマンドCOは、ページ数、描画種類、印刷設定等を指定するデータを含む。
【0030】
端末装置1が他の印刷装置を制御する場合、端末装置1には、他の印刷装置に対応する他のプリンタードライバーがインストールされる。
【0031】
情報取得モジュール114は、端末装置1が印刷装置2によって印刷を実行させるときに、OS実行部101がドライバー実行部103に送信する情報を取得し、情報をもとに印刷情報DAを生成するプログラムである。情報取得部104は、情報取得モジュール114を実行して印刷情報DAを生成し、印刷情報DAをサーバー3に送信する。
【0032】
図2は、端末制御部10の機能の説明図である。ドライバー実行部103は、ドライバーファイル152、および、機能ファイル153を有する。ドライバーファイル152および機能ファイル153は、印刷装置2のベンダー等が提供するプリンタードライバー113に含まれるファイルである。
【0033】
端末記憶部110の記憶領域には、プリントキュー116が形成される。プリントキュー116は、印刷装置2に実行させる印刷ジョブを格納する。プリントキュー116は、印刷装置2、および、プリンタードライバー113に対応づけられる。図2には1つのプリントキュー116を示すが、端末記憶部110には、印刷装置2の種類や印刷装置2が接続されている印刷ポート、印刷設定がプリントキュー116と異なる他のプリントキューを格納できる。ユーザーは、生成アプリ実行部102が実行する生成アプリ112を使用して、印刷を指示する際に、プリントキュー116を選択する。
【0034】
生成アプリ実行部102は、OS実行部101が実行するオペレーティングシステム111上で生成アプリ112を動作させ、ユーザーの操作に従って文書データや画像データを生成する。生成アプリ実行部102は、ユーザーにより文書や画像の印刷が指示された場合に、印刷データAPを生成する。印刷データAPは、印刷命令に相当する。印刷データAPは、上述したように、ユーザーが選択したプリントキュー116を指定する情報を含む。
【0035】
OS実行部101は、生成アプリ実行部102が印刷データAPを出力した場合にOS実行部101が備えるスプーラーにより、印刷データAPを取得する。スプーラーは、OS実行部101が提供するAPI(Application Programming Interface)である。OS実行部101のスプーラーは、印刷データAPに基づいて、印刷データAPが指定するプリントキュー116に対応づけられたドライバー実行部103に印刷要求PQを出力する。
【0036】
印刷要求PQは、印刷装置2に対する印刷を指示する印刷命令、印刷装置2により印刷される文字や画像のデータ、および、印刷設定を指定するデータを含む。印刷設定を指定するデータとは、印刷媒体のサイズを指定するデータ、フォントを指定するデータ、印刷解像度を指定するデータ、画質を指定するデータ、文字や画像の位置およびサイズを指定するデータ、余白の位置およびサイズを指定するデータ等を含む。
【0037】
1または複数のドライバーファイル152は、印刷装置2に対応する印刷コマンドCOを生成する機能を有する。
ドライバー実行部103は、ドライバーファイル152を用いて、印刷要求PQから文字や画像のデータ、および、印刷設定を指定するデータを取得する。ドライバー実行部103は、ドライバーファイル152により、印刷要求PQから取得したデータに従ってレンダリング等のデータ処理を実行し、印刷装置2が実行可能な印刷コマンドCOを生成する。ドライバー実行部103はドライバーファイル152の実行時に、必要に応じて機能ファイル153を呼び出し、データ処理を行う。機能ファイル153は、文字データや画像データに関するデータ処理機能を提供する。機能ファイル153は、ドライバーファイル152が有していないデータ処理機能を補完する。1つのドライバーファイル152から複数の機能ファイル153を使用可能である。ドライバーファイル152から呼び出し可能な機能ファイル153の数は制限されない。ドライバー実行部103は、生成された印刷コマンドCOを印刷装置2に送信する。ドライバー実行部103は、印刷コマンドCOを印刷装置2に送信した後、ドライバー実行部103は、印刷装置2から印刷コマンドCOに基づく印刷結果RSを応答として受信する。
【0038】
ドライバー実行部103で受信した応答は、OS実行部101に送信される。OS実行部101は、スプーラーの機能により、応答をプリントキュー116に格納させる。印刷要求PQは、上述した印刷ジョブに相当する。OS実行部101のスプーラーは、プリントキュー116に格納された印刷ジョブを、印刷装置2によって順に実行させる。
【0039】
OS実行部101は、印刷要求PQを生成するときに、ドライバー実行部103が実行可能な処理の種類と、ドライバー実行部103が実行できない処理の種類に対応した処理を行うことができる。
【0040】
OS実行部101は、ドライバー実行部103に対してDDI(Device Driver Interface)関数サポート情報IFを求める要求RQを送信する。DDI関数サポート情報IFは、ドライバーファイル152が実行可能なDDI描画関数の種類や内容を示す情報である。ドライバー実行部103は、要求RQに対する応答として、ドライバーファイル152の機能によってDDI関数サポート情報IFをOS実行部101に送信する。OS実行部101は、DDI関数サポート情報IFを参照することにより、ドライバーファイル152が実行可能な処理を特定する。
【0041】
DDI関数サポート情報IFは、ドライバーファイル152が所定フォーマットの画像データの拡大処理および縮小処理を実行可能か否かを示す。OS実行部101は、ドライバーファイル152が所定フォーマットの画像データの拡大処理および縮小処理を実行できない場合には、OS実行部101の機能によって画像データの拡大処理および縮小処理を実行する。
【0042】
OS実行部101は、DDI関数サポート情報IFを、ドライバーファイル152に対応づけて保持する。ドライバー実行部103が複数のドライバーファイル152を有している場合、OS実行部101は、各々のドライバーファイル152が送信するDDI関数サポート情報IFを保持する。OS実行部101は、各ドライバーファイル152の機能に合わせて処理を実行できる。
【0043】
OS実行部101は、ドライバーファイル152が実行できない処理の有無を、DDI関数サポート情報IFに基づき判断できる。OS実行部101は、印刷要求PQを出力する際に、印刷コマンドCOを生成する処理にドライバーファイル152が実行できない処理が含まれる場合には、該当する処理を施した印刷要求PQを生成する。
【0044】
図2に示すように、端末制御部10が情報取得部104を有し、情報取得部104がOS実行部101とドライバーファイル152との間で情報を送受信する。情報取得部104は、OS実行部101が出力する要求RQ、および、印刷要求PQを受信する。
【0045】
情報取得部104は、OS実行部101が出力する要求RQを、ドライバー実行部103に出力する。ドライバー実行部103は、DDI関数サポート情報IFを情報取得部104に出力する。情報取得部104が印刷要求PQをドライバー実行部103に出力したとき、ドライバー実行部103は、印刷コマンドCOを生成し、応答結果を情報取得部104に出力する。情報取得部104は、要求RQおよび印刷要求PQの送信元として扱われる。
【0046】
情報取得部104は、ドライバー実行部103が要求RQに応答して出力するDDI関数サポート情報IFを、OS実行部101に出力する。情報取得部104は、ドライバー実行部103が印刷要求PQに基づいて生成した印刷結果RSを、OS実行部101に出力する。
【0047】
情報取得部104は、OS実行部101にとって、要求RQおよび印刷要求PQの送信先であり、DDI関数サポート情報IFおよび印刷結果RSを送信する送信元である。OS実行部101には、情報取得部104が、ドライバー実行部103と同様のプリンタードライバーとして機能する。情報取得部104は、仮想のプリンタードライバーであり、印刷コマンドCOを生成する等の機能を持たないが、OS実行部101に対しては1つのプリンタードライバーとして機能する。
【0048】
情報取得部104は、OS実行部101から要求RQおよび印刷要求PQを取得する。印刷要求PQは、印刷情報DAを生成する情報を含む。情報取得部104がOS実行部101やドライバー実行部103の機能を改変することなく印刷要求PQを取得し、印刷情報DAを効率よく生成できる。
【0049】
図3は、プリンタードライバー113および情報取得モジュール114のインストールに関する手順と動作を示すフローチャートである。
図3に示す手順によれば、プリンタードライバー113が端末装置1にインストールされる(ステップST11)。プリンタードライバー113がインストールされる際に、もしくはプリンタードライバー113がインストールされた後、ユーザーの設定により印刷装置2、および、印刷装置2の印刷ポート等を指定するプリントキュー116が生成される(ステップST12)。ステップST12で生成されたプリントキュー116には、プリンタードライバー113が対応づけられる(ステップST13)。
【0050】
プリンタードライバー113がインストールされた後、情報取得モジュール114が端末装置1にインストールされる(ステップST14)。情報取得モジュール114をインストールする作業時に、ユーザーの操作により、或いは、事前の設定に従って、情報取得モジュール114に対応させる既存のプリントキュー116が指定される。端末制御部10は、プリントキュー116の指定を受け付け(ステップST15)、指定されたプリントキュー116に、情報取得モジュール114を対応づける(ステップST16)。
【0051】
端末制御部10は、ステップST15で指定されたプリントキュー116に対応づけられているプリンタードライバー113を特定する(ステップST17)。端末制御部10は、ステップST16、ST17に関連付けを反映する関連情報117を生成し、端末記憶部110に記憶させる(ステップST18)。
【0052】
関連情報117は、情報取得モジュール114に、プリントキュー116と、プリンタードライバー113とを関連づける情報である。OS実行部101は、後述する印刷処理で、生成アプリ実行部102によりプリントキュー116が指定された場合に、関連情報117に従って、OS実行部101は、プリントキュー116と情報取得モジュール114とが対応付けられているか否かを判別する。
【0053】
情報取得モジュール114は印刷コマンドCOを生成する機能を持たないので、OS実行部101により、プリントキュー116が情報取得モジュール114と対応付けられていると判別した場合、印刷要求PQを情報取得モジュール114に送信し、情報取得モジュール114は、ドライバー実行部103に送信する。ドライバー実行部103で、印刷コマンドCOを生成する処理はプリンタードライバー113によって実行される。関連情報117によって情報取得モジュール114に関連付けられたプリントキュー116に対応するプリンタードライバー113が、印刷コマンドCOを生成する。
情報取得モジュール114が仮想プリンタードライバーと見なされて、情報取得モジュール114に対して印刷設定が行われた場合、印刷設定の内容をプリンタードライバー113に反映させる必要がある。端末制御部10は、図4に示す動作により、情報取得モジュール114を用いたプリンタードライバー113に対する印刷設定を可能とする。
【0054】
図4は、端末装置1の動作を示すフローチャートであり、印刷設定に関する動作を示す。
生成アプリ実行部102またはOS実行部101に対するユーザーの操作により、印刷設定が開始される。(ステップST21)、端末制御部10は、設定対象となるプリントキュー116を指定する操作を受け付ける(ステップST22)。印刷設定はプリントキュー116に対して行われる。
【0055】
端末制御部10は、ステップST22で指定されたプリントキュー116に関連付けられた情報取得モジュール114を呼び出し、呼び出しに応じて情報取得部104が設定動作を開始する(ステップST23)。
【0056】
情報取得部104は、ドライバー実行部103が実行するプリンタードライバー113に対し、設定画面を要求する(ステップST24)。設定画面は、ドライバー実行部103の動作について設定可能な項目を表示し、各項目への入力を可能とする印刷設定画面である。設定画面の内容は、プリンタードライバー113の機能に依存する。情報取得部104は、ステップST24で関連情報117により情報取得モジュール114と関連付けられたプリントキュー106に対応するプリンタードライバー113に設定画面を要求する。情報取得部104は、プリンタードライバー113から設定画面を取得し(ステップST25)、取得した設定画面を、オペレーティングシステム111の機能により表示部13に表示させる(ステップST26)。オペレーティングシステム111は、印刷コマンドCOを生成するプリンタードライバー113に対応する設定画面を表示させ、ユーザーに設定を行わせることができる。
【0057】
情報取得部104は、ステップST26で表示させた設定画面に対する入力を受け付けて(ステップST27)、設定内容を取得して保存する(ステップST28)。情報取得部104は、取得した設定内容を、ステップST24で設定画面を要求したプリンタードライバー113に送信する(ステップST29)。設定画面でユーザーが入力した設定内容が、印刷コマンドCOを生成するプリンタードライバー113に反映される。
【0058】
図5は、端末装置1の動作を示すフローチャートであり、印刷処理に関する動作を示す。
生成アプリ実行部102に対するユーザーの操作に従って、生成アプリ実行部102が印刷データAPを生成し、出力する(ステップST41)。印刷データAPは、ユーザーが印刷を指示する際に指定したプリントキュー116、または、OS実行部101でデフォルト設定されたプリントキュー116を指定する情報を含む。
【0059】
OS実行部101は、生成アプリ実行部102が印刷データAPを出力したことを検知して、印刷処理を開始する(ステップST42)。
【0060】
OS実行部101は、プリントキュー116に対応付けられたプリンタードライバー113に対し、DDI関数サポート情報IFを求める要求RQを送信する(ステップST43)。ステップST43の宛先は、プリントキュー116と関連付けられた情報取得モジュール114である。要求RQは、サポート情報要求の一例に対応する。
【0061】
情報取得部104が実行する情報取得モジュール114は、要求RQを受信し(ステップST44)、ドライバーファイル152に対して要求RQを送信し、DDI関数サポート情報IFを求める(ステップST45)。情報取得部104がドライバーファイル152に対して送信する要求RQは、OS実行部101が情報取得モジュール114に送信した要求RQと同様のフォーマットを有することが好ましい。情報取得モジュール114は、OS実行部101から受信した要求RQを、変換することなく同一のフォーマットでドライバーファイル152に出力する。ドライバーファイル152は、OS実行部101から直接要求RQを受信した場合と同様に動作すればよい。情報取得モジュール114がインストールされていない場合と同様に動作すればよい。
【0062】
ドライバーファイル152は、情報取得モジュール114から要求RQを受信し、要求RQへの応答としてDDI関数サポート情報IFを送信する(ステップST46)。DDI関数サポート情報IFは、サポート情報の一例に対応する。
【0063】
情報取得モジュール114は、ドライバーファイル152が送信したDDI関数サポート情報IFを取得して保持し(ステップST47)、DDI関数サポート情報IFをOS実行部101に送信する(ステップST48)。情報取得モジュール114がOS実行部101に送信するDDI関数サポート情報IFは、ドライバーファイル152が出力したDDI関数サポート情報IFと同様であることが好ましい。情報取得モジュール114が、ドライバーファイル152から受信したDDI関数サポート情報IFをOS実行部101に送信する。OS実行部101は、ドライバーファイル152から直接、DDI関数サポート情報IFを受信した場合と同様に動作すればよい。情報取得モジュール114がインストールされていない場合と同様に動作すればよい。
【0064】
OS実行部101は、DDI関数サポート情報IFを参照し、印刷データAPに基づき印刷要求PQを生成し、出力する(ステップST49)。印刷要求PQの宛先は、プリントキュー116に情報取得モジュール114が関連付けられている場合には、情報取得モジュール114である。プリントキュー116が情報取得モジュール114と関連付けられていない場合、印刷要求PQの宛先は、プリントキュー116と対応するプリンタードライバー113である。
【0065】
情報取得モジュール114は、印刷要求PQを受信する(ステップST50)。情報取得モジュール114は、印刷要求PQから印刷情報DAを取得し(ステップST51)、印刷情報DAをサーバー3に送信する(ステップST52)。
【0066】
ステップST51で、情報取得モジュール114は、印刷要求PQから抽出した情報を印刷情報DAとしてもよい。或いは、情報取得モジュール114は、印刷要求PQに含まれる指示やコマンドを解析して、ページ数、描画種類、ページ設定等を求め、印刷情報DAを生成してもよい。情報取得モジュール114は、印刷要求PQからDDI描画関数を呼び出すコマンドを検出し、Public Devmodeのカラー情報から描画種類を特定する処理、StartPage関数が呼ばれる回数からページ数を算出する処理、TextOut等の描画命令の数からページ数を算出する処理等を実行してもよい。
【0067】
OS実行部101または情報取得モジュール114は、ステップST52で印刷情報DAを送信する送信先として、サーバー3を指定する指定情報を予め有している。指定情報は、情報取得モジュール114を端末装置1にインストールする際に、設定される。
【0068】
情報取得モジュール114が、印刷要求PQを受信した後、情報取得モジュール114は、印刷要求PQを、プリントキュー116に対応するプリンタードライバー113のドライバーファイル152に送信する(ステップST53)。ドライバーファイル152は、印刷要求PQに基づいて、印刷装置2に対応する印刷コマンドCOを生成し、印刷装置2に送信する(ステップST54)。
【0069】
OS実行部101は、印刷結果RSをプリントキュー116に格納する(ステップST55)。
【0070】
プリントキュー116に格納された印刷コマンドCOは印刷装置2に送信される(ステップST56)。印刷装置2が印刷コマンドCOを受信して印刷を実行すると、印刷装置2から印刷コマンドCOに基づく印刷結果RSが送信される。ドライバー実行部103もしくはドライバーファイル152は印刷結果RSを受信する。
【0071】
情報取得モジュール114は、OS実行部101から印刷要求PQを情報取得モジュール114に送信する。情報取得モジュール114は、OS実行部101から直接、印刷要求PQを受信した場合と同様の処理を行える。ドライバーファイル152は、印刷コマンドCOを生成するデータ処理で、必要に応じて、機能ファイル153を呼び出す。機能ファイル153は、ドライバーファイル152に対し、文字データや画像データに関するデータ処理機能を提供する。
【0072】
ドライバーファイル152は、印刷結果RSを応答としてを、印刷要求PQの送信元である情報取得モジュール114に送信し、情報取得モジュール114が印刷結果RSを受信する(ステップST57)。印刷コマンドCOは、印刷要求PQに対する応答の一例に対応する。情報取得モジュール114は、ドライバーファイル152から受信した印刷結果RSを、OS実行部101に送信する(ステップST58)。
【0073】
端末装置1は、所定の条件に該当する場合に、図5に示す一部の処理を省略可能である。一例として、OS実行部101は、端末装置1の電源が投入されてから最初に印刷処理を実行する場合、ステップST21-ST37を実行し、2回目以後の印刷処理では、ステップST21、ST22、および、ステップST29-ST37を実行する。
【0074】
以上説明したように、端末装置1は、印刷装置2と接続し、印刷装置2に印刷コマンドCOを送信するプリンタードライバー113がインストールされる装置である。情報取得モジュール114は、端末装置1の端末プロセッサー100により実行されるプログラムである。情報取得モジュール114は、情報取得モジュール114をプリンタードライバー113と対応付けさせる。情報取得モジュール114は、印刷要求PQを取得させ、取得された印刷要求PQをプリンタードライバー113に送信させる。情報取得モジュール114は、プリンタードライバー113が印刷要求PQに基づき送信する応答である印刷コマンドCOを受信させ、印刷要求PQに基づく印刷情報DAを取得させる。
【0075】
印刷要求PQから、プリンタードライバー113を改変することなく、仮想プリンタードライバーをインストールすることで印刷装置2が実行する印刷に関する印刷情報DAを取得できる。印刷装置2が実行する印刷処理に関して、印刷量を算出し、印刷コストの算出や課金を行うことが可能となる。印刷装置2に対応して作成されたプリンタードライバー113を使用できる。印刷装置2のベンダー等により作成されたドライバーファイル152を使用する端末装置1に、情報取得モジュール114を仮想プリンタードライバーとして追加することによって、印刷情報DAを取得する機能を実装できる。プリンタードライバー113や印刷装置2の機種や仕様に制限されることなく、様々な種類の印刷装置2を対象として、印刷量の算出等の機能を実現できる。
【0076】
端末装置1は、サーバー3に接続する。情報取得モジュール114は、端末装置1が備える第1端末通信部11により、印刷要求PQに基づき取得された印刷情報DAを予め設定されたサーバー3に送信させる。印刷装置2の印刷量や印刷コストの算出等に役立つ印刷情報DAを、サーバー3によって収集することができる。このため、サーバー3を用いて、印刷装置2の使用に対する課金等を行うことができる。
【0077】
情報取得モジュール114は、印刷設定に関する要求を受け付けたとき、プリンタードライバー113に対して設定画面を要求させる。情報取得モジュール114は、プリンタードライバー113から設定画面の表示に関する情報を取得する。これにより、情報取得モジュール114の機能により、プリンタードライバー113に対応する設定画面を表示させることができる。
【0078】
情報取得モジュール114は、プリンタードライバー113から取得した情報に基づいて、端末装置1が備える表示部13を制御させて、設定画面を表示させる。情報取得モジュール114の機能により、プリンタードライバー113に対応する設定画面を表示させることができる。
【0079】
情報取得モジュール114は、端末装置1が実行する生成アプリ112によって印刷設定画面の表示が要求されたときに、印刷設定に関する要求を受け付けさせる。情報取得モジュール114は、プリンタードライバー113から取得した情報に基づいて、表示部13に、生成アプリ112の印刷設定画面を表示させる。情報取得モジュール114の機能により、印刷設定に関する要求に応じてプリンタードライバー113に対応する印刷設定画面を表示し、印刷設定を行わせることができる。
【0080】
情報取得モジュール114は、印刷設定画面で設定された設定情報を取得させ、取得させた設定情報をプリンタードライバー113に送信させる。これにより、情報取得モジュール114の機能によって印刷設定を行わせた場合に、印刷設定をプリンタードライバー113に反映させることができる。このため、設定に従ってプリンタードライバー113を機能させ、印刷設定に対応する印刷コマンドCOを作成できる。
【0081】
情報取得モジュール114は、生成アプリ112が出力する印刷命令を格納するプリントキュー116の指定を受け付けさせる。情報取得モジュール114は、指定されたプリントキュー116に対応するプリンタードライバー113を特定させ、特定されたプリンタードライバー113にプリントキュー116を対応付けさせる。プリントキュー116が指定されて印刷が要求された場合に、情報取得モジュール114を動作させて、印刷情報DAを取得できる。
【0082】
情報取得モジュール114は、端末装置1のOS実行部101がDDI関数サポート情報IFを要求する要求RQを送信したときに、要求RQを受信させ、OS実行部101から受信された要求RQをプリンタードライバー113に送信させる。プリンタードライバー113を動作させてDDI関数サポート情報IFを取得できる。印刷装置2のベンダー等により作成されたプリンタードライバー113を、情報取得モジュール114が存在しない場合と同様に動作させて、印刷装置2に印刷を実行させることができる。
【0083】
上記実施形態において、印刷装置2に印刷コマンドを送信するプリンタードライバー113、および、情報取得モジュール114がインストールされる端末装置1が実行する印刷制御方法は、以下の動作を含む。印刷制御方法によれば、情報取得モジュール114は予めプリンタードライバー113と対応付けられる。情報取得モジュール114は、印刷要求PQを取得し、取得した印刷要求PQを、情報取得モジュール114に対応付けられたプリンタードライバー113に送信する。情報取得モジュール114は、印刷要求PQに対応する応答をプリンタードライバー113から受信し、印刷要求PQに基づく印刷情報DAを取得する。
【0084】
上記実施形態において、端末装置1は、印刷装置2と接続する第2端末通信部12と、プリンタードライバー113、および、情報取得モジュール114を有する端末制御部10とを備える。端末装置1は、プリンタードライバー113と情報取得モジュール114とを関連付ける関連情報117を記憶する端末記憶部110を備える。端末制御部10は、情報取得モジュール114によって、印刷要求PQを取得し、取得した印刷要求PQを情報取得モジュール114に関連付けられたプリンタードライバー113に送信する。端末制御部10は、印刷要求PQに対応する応答をプリンタードライバー113から受信し、印刷要求PQに基づく印刷情報DAを取得する。
【0085】
端末装置1、および、端末装置1が実行する印刷制御方法によれば、印刷要求PQから、印刷装置2が実行する印刷に関する印刷情報DAを取得できる。このため、印刷装置2が実行する印刷処理に関して、印刷量を算出し、印刷コストの算出や課金を行うことが可能となる。この構成では、印刷装置2に対応して作成されたプリンタードライバー113を利用できる。例えば、印刷装置2のベンダー等により作成されたドライバーファイル152を利用する端末装置1に、情報取得モジュール114を追加することによって、印刷情報DAを取得する機能を実装できる。従って、印刷装置2の機種や仕様に制限されることなく、様々な種類の印刷装置2を対象として、印刷量の算出等の機能を実現できる。
【0086】
上述した実施形態は、一態様を示すものであり、任意に変形および応用が可能である。
例えば、上記実施形態では、1つの情報取得モジュール114および1つのプリンタードライバー113が端末装置1にインストールされた構成を例示したが、これに限定されない。端末装置1に、印刷装置2と異なる他の印刷装置に対応する他のプリンタードライバーがインストールされた構成で、端末制御部10は、他のプリンタードライバーに対応する第2の情報取得モジュールを有していてもよい。第2の情報取得モジュールは、情報取得モジュールと同じ機能を有している。或いは、情報取得モジュール114は、プリンタードライバー113と他のプリンタードライバーとに対応している構成であってもよい。関連情報117によって、情報取得モジュール114がプリントキュー116に関連づけられ、情報取得モジュール114およびプリントキュー116の組み合わせに対してプリンタードライバー113、他のプリンタードライバーが関連づけられていればよい。
【0087】
関連情報117は、プリントキュー116、情報取得モジュール114、および、プリンタードライバー113を関連付ける情報であり、その形態は限定されない。プリントキュー106は、仮想プリンタードライバーとして情報取得モジュール114を指定し、情報取得モジュールと関連付けられたプリンタードライバー113とを関連付ける。印刷要求PQがプリントキュー116に送信されたとき、プリントキュー116は指定する仮想プリンタードライバーである情報取得モジュール114に送信する。情報取得モジュール114は、関連情報117で関連付けられたプリンタードライバー113を実行するドライバー実行部103に印刷要求PQを送信し、印刷情報DAを取得する構成でもよい。
【0088】
印刷装置2は、スキャン機能やファクシミリ機能等の印刷機能以外の機能を有する複合機であってもよい。
【0089】
端末制御部10は、複数のプロセッサーで構成されてもよく、ROM、RAM、その他の周辺回路とともに統合されたチップで構成されてもよい。
【0090】
図1および図2に示した構成は一例であって、端末装置1の具体的な実装形態は特に限定されない。図1の各部に対応するハードウェアが実装される必要はなく、ソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、端末装置1、印刷装置2、およびサーバー3の他の各部の細部構成について、任意に変更可能である。
【0091】
図3図4および図5に示す処理単位は、端末装置1の動作の理解を容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、限定されることはない。処理内容に応じて、さらに多くのステップ単位に分割してもよい。1つのステップ単位がさらに多くの処理を含むように分割してもよい。また、そのステップの順番は、趣旨に支障のない範囲で適宜に入れ替えてもよい。
【符号の説明】
【0092】
1…端末装置(印刷制御装置)、2…印刷装置、3…サーバー、10…端末制御部(制御部)、11…第1端末通信部(送信装置)、12…第2端末通信部(通信部)、13…表示部、14…入力部、20…印刷装置制御部、21…印刷装置通信部、22…印刷部、100…端末プロセッサー、101…OS実行部、102…生成アプリ実行部、103…ドライバー実行部、104…情報取得部、110…端末記憶部(記憶部)、111…オペレーティングシステム、112…生成アプリ、113…プリンタードライバー、114…情報取得モジュール、116…プリントキュー、117…関連情報、152…ドライバーファイル、153…機能ファイル、1000…印刷システム、AP…印刷データ、CO…印刷コマンド、DA…印刷情報、GN…グローバルネットワーク、IF…DDI関数サポート情報(サポート情報)、LN…ローカルネットワーク、PQ…印刷要求、RQ…要求(サポート情報要求)、RS…印刷結果(応答)。
図1
図2
図3
図4
図5