JP2021045861A - 印刷制御装置及びプログラム - Google Patents

印刷制御装置及びプログラム Download PDF

Info

Publication number
JP2021045861A
JP2021045861A JP2019168671A JP2019168671A JP2021045861A JP 2021045861 A JP2021045861 A JP 2021045861A JP 2019168671 A JP2019168671 A JP 2019168671A JP 2019168671 A JP2019168671 A JP 2019168671A JP 2021045861 A JP2021045861 A JP 2021045861A
Authority
JP
Japan
Prior art keywords
print
data
setting
printer
preprint
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
JP2019168671A
Other languages
English (en)
Inventor
大地 林
Daichi Hayashi
大地 林
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2019168671A priority Critical patent/JP2021045861A/ja
Publication of JP2021045861A publication Critical patent/JP2021045861A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】印刷実行指示を受信してからプリンタが印刷を開始するまでの時間を短縮する。【解決手段】事前印刷データ受信部(印刷データ受信部356)は、コンピュータ100が印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データをコンピュータ100から受信する。印刷機構活性化部371は、事前印刷データ受信部(印刷データ受信部356)が事前印刷データをコンピュータ100から受信した後に、印刷機構211を活性化させる。事前印刷設定が最終印刷設定に一致する場合に、印刷開始動作制御部372は、事前印刷データを、活性化された印刷機構211に印刷させる。【選択図】図2

Description

本発明は、印刷制御装置及びプログラムに関するものである。
特開2009−3860号公報(特許文献1)は、コンピュータとプリンタとを備える印刷システムを開示している。プリンタは、コンピュータで生成された印刷データを一時保存するハードディスクを含んでいる。特許文献1に開示された印刷システムでは、コンピュータは、プリンタドライバが起動している間に、プリンタのハードディスクのスピンドルモータを回転させている。
特開2009−3860号公報
特許文献1に開示された印刷システムでは、ユーザから印刷実行指示を受信してから、コンピュータは、印刷データを生成して、プリンタへ送信している。そのため、ユーザから印刷実行指示を受信してからプリンタが印刷を開始するまでの時間が依然として長かった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態に係るプリンタに内蔵される印刷制御装置は、事前印刷データ受信部と、印刷機構活性化部と、印刷開始動作制御部とを備える。事前印刷データ受信部は、コンピュータが印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データをコンピュータから受信する。印刷機構活性化部は、事前印刷データ受信部が事前印刷データを受信した後に、プリンタに含まれる印刷機構を活性化させる。印刷開始動作制御部は、印刷機構の印刷開始動作を制御する。事前印刷設定が、印刷実行指示による最終印刷設定に一致する場合に、印刷開始動作制御部は、事前印刷データを、活性化されている印刷機構に印刷させる。事前印刷設定が最終印刷設定と異なる場合に、印刷開始動作制御部は、事前印刷データをプリンタから削除し、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構に印刷させる。
一実施の形態に係るプリンタに内蔵される印刷制御装置は、事前印刷データ受信部と、印刷機構活性化部と、印刷開始動作制御部とを備える。事前印刷データ受信部は、コンピュータが印刷実行指示を受け付ける前に、複数の事前印刷設定をそれぞれ反映した複数の事前印刷データをコンピュータから受信する。印刷機構活性化部は、事前印刷データ受信部が複数の事前印刷データを受信した後に、プリンタに含まれる印刷機構を活性化させる。印刷開始動作制御部は、印刷機構の印刷開始動作を制御する。複数の事前印刷設定のいずれかが印刷実行指示による最終印刷設定に一致する場合に、印刷開始動作制御部は、複数の事前印刷設定のうち最終印刷設定に一致する事前印刷設定を反映した事前印刷データを、活性化されている印刷機構に印刷させる。複数の事前印刷設定のいずれもが最終印刷設定と異なる場合に、印刷開始動作制御部は、複数の事前印刷データをプリンタから削除し、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構に印刷させる。
一実施の形態に係るプログラムは、コンピュータが印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データをコンピュータから受信するステップと、事前印刷データを受信した後に、プリンタに含まれる印刷機構を活性化させるステップと、事前印刷設定が、印刷実行指示による最終印刷設定に一致する場合に、事前印刷データを、活性化されている印刷機構に印刷させるステップと、事前印刷設定が最終印刷設定と異なる場合に、事前印刷データをプリンタから削除するステップと、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構に印刷させるステップとを、プリンタのプロセッサに実行させる。
一実施の形態に係るプログラムは、コンピュータが印刷実行指示を受け付ける前に、複数の事前印刷設定をそれぞれ反映した複数の事前印刷データをコンピュータから受信するステップと、複数の事前印刷データを受信した後に、プリンタに含まれる印刷機構を活性化させるステップと、複数の事前印刷設定のいずれかが印刷実行指示による最終印刷設定に一致する場合に、複数の事前印刷データのうち最終印刷設定に一致する事前印刷設定を反映した事前印刷データを、活性化されている印刷機構に印刷させるステップと、複数の事前印刷設定のいずれもが最終印刷設定と異なる場合に、複数の事前印刷データをプリンタから削除するステップと、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構に印刷させるステップとを、プリンタのプロセッサに実行させる。
前記一実施の形態に係るプリンタに内蔵される印刷制御装置及びプリンタのプロセッサに実行されるプログラムによれば、ユーザから印刷実行指示を受信してからプリンタが印刷を開始するまでの時間が短縮され得る。
実施の形態1から実施の形態6の印刷システムの構成を示すブロック図である。 実施の形態1の印刷システムの機能を示すブロック図である。 実施の形態1から実施の形態6における、ユーザDBに格納されている印刷履歴データのデータ構造の例を示す図である。 実施の形態1から実施の形態4の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態4の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態6の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態6における事前印刷開始要求のデータ構造の例を示す図である。 実施の形態1及び実施の形態2の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態6の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態6の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態6の印刷システムにおける処理のフローチャートを示す図である。 実施の形態1から実施の形態6の印刷システムにおける処理のフローチャートを示す図である。 実施の形態2の印刷システムの機能を示すブロック図である。 実施の形態3の印刷システムの機能を示すブロック図である。 実施の形態3の印刷システムにおける処理のフローチャートを示す図である。 実施の形態3の印刷システムにおける処理のフローチャートを示す図である。 実施の形態4の印刷システムの機能を示すブロック図である。 実施の形態5の印刷システムの機能を示すブロック図である。 実施の形態5の印刷システムにおける処理のフローチャートを示す図である。 実施の形態5の印刷システムにおける処理のフローチャートを示す図である。 実施の形態5の印刷システムにおける処理のフローチャートを示す図である。 実施の形態5の印刷システムにおける処理のフローチャートを示す図である。 実施の形態6の印刷システムの機能を示すブロック図である。
以下、実施の形態を説明する。なお、同一の構成には同一の参照番号を付し、その説明は繰り返さない。
(実施の形態1)
<実施の形態1の印刷システム1の構成の説明>
図1を参照して、本実施の形態の印刷システム1の構成を説明する。印刷システム1は、コンピュータ100と、プリンタ200とを備えている。コンピュータ100は、通信インタフェース218を介して、プリンタ200に通信可能に接続されている。通信インタフェース218は、特に限定されないが、例えば、イーサネット(登録商標)またはUSB接続である。本実施の形態では、印刷システム1は1台のコンピュータ100を備えているが、複数台のコンピュータ100を備えてもよい。本実施の形態では、印刷システム1は1台のプリンタ200を備えているが、複数台のプリンタ200を備えてもよい。
コンピュータ100は、プリンタ200を制御し得る機器であり、例えば、パーソナルコンピュータまたはスマートフォンである。コンピュータ100は、CPU101、RAM102、ROM103、ストレージデバイス104、ヒューマンインタフェースデバイス(HID)コントローラ105、ディスプレイコントローラ106、送受信インターフェース(IF)107、HID108及びディスプレイ109を含む。
CPU101は、コンピュータ100に含まれる各種デバイスを制御するように構成されている。RAM102は、CPU101がオペレーティングシステム(OS)及びアプリケーションプログラム(以下、単に「アプリケーション」という)を実行する際のワーキングエリアとして使用される。ROM103は、ストレージデバイス104に格納されているOSをRAM102上に展開するためのプログラムを格納する。ストレージデバイス104は、CPU101で実行されるOSもしくはアプリケーション、または、CPU101で処理される印刷データなどの各種データを格納する。ストレージデバイス104は、データを読み書き可能な機器であり、例えば、ハードディスクドライブまたはソリッドステートドライブである。
HID108は、ユーザが操作する入力部であり、例えば、キーボード、マウスまたはタッチパネルである。HID108は、ユーザの入力をHIDコントローラ105へ伝える。HIDコントローラ105は、HID108への入出力を制御する。ディスプレイ109は、ディスプレイコントローラ106が出力する映像データを可視化する。ディスプレイ109は、例えば、液晶ディスプレイである。ディスプレイコントローラ106は、ディスプレイ109への入出力を制御する。
送受信IF107は、通信インタフェース218を経由して、プリンタ200と通信する。送受信IF107は、通信インタフェース218を通じて、コマンド及び印刷データなどを送受信IF207へ送信し、送受信IF207からコマンドまたはデータなどを受信する。
プリンタ200は、例えば、インクジェットプリンタ、レーザープリンタまたは複合機である。プリンタ200は、CPU201、RAM202、ROM203、ストレージデバイス204、操作パネルコントローラ205、インタプリタ206、送受信インターフェース(IF)207、印刷部インタフェース(IF)208、操作パネル209及び印刷エンジン210を含む。
CPU201は、プリンタ200に含まれる各種デバイスを制御するように構成されている。RAM202は、CPU201がOSまたはアプリケーションを実行する際のワーキングエリアとして使用される。ROM203は、ストレージデバイス204に格納されているOSをRAM202上に展開するためのプログラムを格納する。
ストレージデバイス204は、CPU201で実行されるOSもしくはアプリケーション、または、CPU201で処理される印刷データなどの各種データを格納する。ストレージデバイス204は、データを読み書き可能な機器であり、例えば、ハードディスクドライブまたはソリッドステートドライブである。ストレージデバイス204は、ユーザデータベース(DB)204dをさらに格納している。図3を参照して、ユーザDB204dには、印刷履歴データが、ユーザIDと対応づけられて記録されている。印刷履歴データは、ユーザによるプリンタ200の利用履歴であり、例えば、ユーザID、印刷日時、アプリケーション名、文書タイプ及び印刷設定を含む。本明細書において、印刷設定は、例えば、用紙サイズ、縮尺、N−up(複数ページ割付)、カラー印刷設定(白黒印刷/カラー印刷)、両面印刷設定(片面印刷/両面印刷)及び印刷対象ページなどを含む。
操作パネル209は、ユーザが操作する入力部であり、例えば、タッチパネルである。操作パネル209は、ユーザの入力を操作パネルコントローラ205へ伝える。操作パネル209は、操作パネルコントローラ205が出力する映像データを可視化する。操作パネルコントローラ205は、操作パネル209への入出力を制御する。
インタプリタ206は、コンピュータ100から送信されてストレージデバイス204に格納されている印刷データを、印刷エンジン210で処理可能な印刷データに翻訳する。送受信IF207は、送受信IF107と通信する。送受信IF207は、通信インタフェース218を通じて、コマンド及び印刷データなどを送受信IF107から受信し、送受信IF107にコマンドまたはデータなどを送信する。
印刷部IF208は、インタプリタ206で翻訳された印刷データを、インタプリタ206から受信して、印刷エンジン210へ送信する。印刷エンジン210は、印刷機構211を含む。印刷機構211は、印刷時に動作する必要がある全ての部材(例えば、感光ドラム及びトナー)を含む。印刷機構211は、印刷部IF208を通じて受信した印刷データを、紙に印刷する。プリンタ200が省電力モードである場合に、印刷機構211は、その電源が遮断される。
<実施の形態1の印刷システム1の機能の説明>
図2を参照して、Windows(登録商標)OS上で動作するアプリケーションで作成された文書データを、RAWスプール形式で印刷する処理を例に、実施の形態1の印刷システム1の機能を説明する。
コンピュータ100には、コンピュータ100のOS、アプリケーション301、プリンタドライバ310、グラフィカルデバイスインターフェース(GDI)318、スプーラ319及びカーネルモードドライバ320のような第1プログラムが実装されている。アプリケーション301、プリンタドライバ310、GDI318、スプーラ319及びカーネルモードドライバ320のような第1プログラムは、コンピュータ100に含まれるプロセッサ(CPU101)で実行される。
第1プログラムは、例えば、RAM102、ROM103及びストレージデバイス104の少なくとも一つに格納されており、プロセッサ(CPU101)は、RAM102、ROM103及びストレージデバイス104の少なくとも一つから第1プログラムを読み出して、第1プログラムを実行する。第1プログラムは、一つのプロセッサで実行されてもよいし、複数のプロセッサで実行されてもよい。
第1プログラムは、インターネットのような通信回線を通じて、RAM102、ROM103及びストレージデバイス104の少なくとも一つに提供されてもよい。第1プログラムは、非一時的なコンピュータ読み取り可能な記録媒体(例えば、CD、DVDまたはUSBメモリなど)に格納されており、この記録媒体を通じて、RAM102、ROM103及びストレージデバイス104の少なくとも一つに提供されてもよい。第1プログラムは、非一時的なコンピュータ読み取り可能な記録媒体(例えば、CD、DVDまたはUSBメモリなど)に格納されており、プロセッサ(CPU101)は、この記録媒体から第1プログラムを読み出して、第1プログラムを実行してもよい。
アプリケーション301は、文書データ作成部302、印刷準備開始指示受付部303、事前印刷開始要求送信部304を含む。文書データ作成部302は、ユーザの操作に基づいて、文書データを生成する。文書データは、印刷対象となるデータ(コンテンツ情報)である。文書データは、例えば、テキスト、表、図及び写真の少なくとも一つを含む。印刷準備開始指示受付部303は、ユーザから、印刷準備開始指示を受け付ける。印刷準備開始指示は、例えば、印刷制御画面を起動させる指示または印刷プレビュー画面を起動させる指示である。
事前印刷開始要求送信部304は、事前印刷開始要求を事前印刷設定決定部350へ送信する。図7に示されるように、事前印刷開始要求は、例えば、ユーザID、アプリケーション名、ページ番号及び各ページの文書タイプ(テキスト、表、図及び写真など)のデータを含んでいる。
プリンタドライバ310は、印刷ユーザインターフェース(UI)部311と、グラフィックス部315とを含む。印刷UI部311は、印刷UI画面を起動する。印刷UI画面は、特に限定されないが、印刷制御画面または印刷プレビュー画面である。印刷UI部311は、最終印刷設定受付部312と、印刷実行指示受付部313とを含む。最終印刷設定受付部312は、ユーザから、最終印刷設定を受け付ける。印刷実行指示受付部313は、ユーザから、印刷実行指示を受け付ける。グラフィックス部315は、印刷設定と文書データとから、印刷設定を反映した印刷データ(例えば、RAWデータ)を生成する。
カーネルモードドライバ320は、印刷データ送信部321と、印刷開始制御コマンド生成部322とを含む。印刷データ送信部321は、印刷設定を反映した印刷データを、プリンタ200へ送信する。印刷データ送信部321が事前印刷データを送信する際、印刷データ送信部321は事前印刷データ送信部として機能する。印刷データ送信部321が最終印刷データを送信する際、印刷データ送信部321は最終印刷データ送信部として機能する。印刷開始制御コマンド生成部322は、印刷開始制御コマンドを生成して、印刷開始制御コマンドをプリンタ200へ送信する。
プリンタ200には、プリンタ200のOS、事前印刷設定決定部350、印刷データ受信部356、インタプリタドライバ360及び印刷エンジンドライバ370のような第2プログラムが実装されている。事前印刷設定決定部350、印刷データ受信部356、インタプリタドライバ360及び印刷エンジンドライバ370のような第2プログラムは、プリンタ200に含まれるプロセッサ(CPU201)で実行される。
第2プログラムは、例えば、RAM202、ROM203及びストレージデバイス204の少なくとも一つに格納されており、プロセッサ(CPU201)は、RAM202、ROM203及びストレージデバイス204の少なくとも一つから第2プログラムを読み出して、第2プログラムを実行する。第2プログラムは、一つのプロセッサで実行されてもよいし、複数のプロセッサで実行されてもよい。
第2プログラムは、インターネットのような通信回線を通じて、RAM202、ROM203及びストレージデバイス204の少なくとも一つに提供されてもよい。第2プログラムは、非一時的なコンピュータ読み取り可能な記録媒体(例えば、CD、DVDまたはUSBメモリなど)に格納されており、この記録媒体を通じて、RAM202、ROM203及びストレージデバイス204の少なくとも一つに提供されてもよい。第2プログラムは、非一時的なコンピュータ読み取り可能な記録媒体(例えば、CD、DVDまたはUSBメモリなど)に格納されており、プロセッサ(CPU201)は、この記録媒体から第2プログラムを読み出して、第2プログラムを実行してもよい。
プロセッサ(CPU201)は、例えば、プリンタ200に内蔵されているシステムオンチップ(SoC)である。プロセッサ(CPU201)は、例えば、プリンタ200に内蔵されるSoCである。プリンタ200は、記憶部358を含む。記憶部358は、RAM202及びストレージデバイス204の少なくとも一つである。
事前印刷設定決定部350は、事前印刷開始要求送信部304から事前印刷開始要求を受信する。事前印刷設定決定部350は、事前印刷開始要求に基づいて、事前印刷設定を決定する。事前印刷設定決定部350は、事前印刷設定をコンピュータ100(アプリケーション301)へ送信する。
印刷データ受信部356は、印刷設定を反映した印刷データを、コンピュータ100から受信して、記憶部358に格納する。印刷データ受信部356が事前印刷データを受信する際、印刷データ受信部356は事前印刷データ受信部として機能する。印刷データ受信部356が最終印刷データを受信する際、印刷データ受信部356は最終印刷データ受信部として機能する。インタプリタドライバ360は、インタプリタ206を制御する。
印刷エンジンドライバ370は、印刷機構211を含む印刷エンジン210を制御する。印刷エンジンドライバ370は、印刷機構活性化部371と、印刷開始動作制御部372とを含む。印刷機構活性化部371は、印刷機構211を活性化させ、印刷(S18またはS26)が終了するまで、印刷機構211を活性化状態に維持する。印刷開始動作制御部372は、印刷機構211による印刷開始動作を制御する。
<実施の形態1の印刷システム1における印刷処理の流れの説明>
図2から図12を参照して、コンピュータ100のWindows(登録商標)OS上で動作するアプリケーション301で作成された文書データを、RAWスプール形式で印刷する印刷システム1における印刷処理の流れを例に、実施の形態1の印刷システム1における印刷処理の流れを説明する。
図4を参照して、アプリケーション301の文書データ作成部302は、ユーザの操作に基づいて、文書データを生成する。それから、アプリケーション301の印刷準備開始指示受付部303は、ユーザから、印刷準備開始指示を受け付ける(S1)。
印刷準備開始指示を受け付けたアプリケーション301は、プリンタドライバ310に、印刷UI画面起動コマンドを送信する。印刷UI画面起動コマンドは、例えば、プリンタドライバ310の印刷UI部311に、印刷制御画面または印刷プレビュー画面を起動させるコマンドである。プリンタドライバ310の印刷UI部311は、アプリケーション301から印刷UI画面起動コマンドを受信して、印刷UI画面を起動する(S10)。
アプリケーション301は、印刷UI部311を通じて、ユーザから、最終印刷設定を受け付ける(S11)。具体的には、印刷UI部311の最終印刷設定受付部312は、ユーザから、最終印刷設定を受け付ける。印刷設定は、例えば、用紙サイズ、縮尺、N−up(複数ページ割付)、カラー印刷設定(白黒印刷/カラー印刷)、両面印刷設定(片面印刷/両面印刷)及び印刷対象ページなどを含む。印刷UI部311は、最終印刷設定をアプリケーション301へ送信する。アプリケーション301は、印刷UI部311から、最終印刷設定を受信する。
アプリケーション301は、印刷UI部311を通じて、ユーザから、印刷実行指示を受け付ける(S12)。具体的には、印刷UI部311の印刷実行指示受付部313は、ユーザから、印刷実行指示を受け付ける。例えば、印刷実行指示受付部313は、ディスプレイ109上に、印刷ボタンを表示させる。ユーザが印刷ボタンをクリックすることによって、印刷実行指示受付部313は、ユーザから、印刷実行指示を受け付ける。印刷UI部311は、印刷実行指示をアプリケーション301へ送信する。アプリケーション301は、印刷UI部311から、印刷実行指示を受信する。アプリケーション301は、最終印刷設定を、カーネルモードドライバ320へ送信する(S13)。
図4を参照して、本実施の形態では、アプリケーション301がユーザから印刷準備開始指示を受け付けて(S1)から、アプリケーション301がユーザから印刷実行指示を受け付ける(S12)までの間に、事前印刷データをプリンタ200に予め送信するコンピュータ100の処理と、事前印刷データを予め受信し、かつ、印刷機構211を活性化するプリンタ200の処理とが実行される。
具体的には、アプリケーション301の印刷準備開始指示受付部303がユーザから印刷準備開始指示を受け付ける(S1)と、アプリケーション301の事前印刷開始要求送信部304が、プリンタ200に、事前印刷開始要求を送信する(S2)。図7に示されるように、事前印刷開始要求は、例えば、ユーザID、アプリケーション名、ページ番号及び各ページの文書タイプ(テキスト、表、図及び写真など)のデータを含んでいる。
プリンタ200の事前印刷設定決定部350は、事前印刷開始要求に基づいて、事前印刷設定を決定する(S3)。具体的には、図8を参照して、事前印刷設定決定部350は、コンピュータ100(事前印刷開始要求送信部304)から、事前印刷開始要求を受信する(S30)。事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データが、ユーザデータベース(DB)204d内に含まれているかを確認する(S31)。図3に示されるように、ユーザDB204dには、印刷履歴データが、ユーザIDと対応づけられて記録されている。
過去にユーザがプリンタ200を利用したことがなく、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データがユーザDB204dに記録されていない場合には、事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データを仮に設定し、仮印刷履歴データを事前印刷開始要求に含まれるユーザIDに対応づけてユーザDB204dに記録する(S32)。仮印刷履歴データは、例えば、別のユーザIDに対応する印刷履歴データである。仮印刷履歴データは、プリンタ200の製造業者が予め設定した初期印刷設定であってもよい。
事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データを、ユーザDB204dから読み出す(S33)。事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データに基づいて、事前印刷設定を決定する(S34)。具体的には、事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから、使用頻度の高さに応じた印刷設定(例えば、最も使用頻度が高い印刷設定)を選択して、使用頻度の高さに応じた印刷設定(例えば、最も使用頻度が高い印刷設定)を事前印刷設定として決定する。本実施の形態の変形例では、事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから、ユーザが印刷する可能性の高さに応じたページ(例えば、ユーザが最も印刷する可能性が高いページ)を特定して、ユーザが印刷する可能性の高さに応じたページのみを印刷する設定を事前印刷設定として決定する。ユーザが印刷する可能性の高さに応じたページは、例えば、ユーザが閲覧中のドキュメント先頭ページ、または、ユーザが閲覧中のページである。
事前印刷設定決定部350は、事前印刷設定を、コンピュータ100(アプリケーション301)へ送信する(S35)。事前印刷設定は、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、プリンタ200からコンピュータ100に送信される。
図4を参照して、アプリケーション301は、事前印刷設定決定部350から事前印刷設定を受信する(S4)。事前印刷設定は、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、コンピュータ100に受信される。アプリケーション301は、事前印刷設定を、カーネルモードドライバ320へ送信する(S5)。
図4を参照して、CPU101は、事前印刷設定を反映した事前印刷データを作成し、プリンタ200へ送信する(S6)。具体的には、図9を参照して、アプリケーション301は、GDI アプリケーションプログラムインターフェース(API)を呼び出すとともに、事前印刷設定と文書データとをGDI318へ送信する(S40)。GDI APIは、プリンタドライバ310上のプリンタデバイスコンテキストへ描画する(S41)。この描画により、プリンタドライバ310のデバイスドライバインターフェース(DDI)関数が呼び出される。プリンタドライバ310のグラフィックス部315が、事前印刷設定及び文書データから、事前印刷設定を反映した事前印刷データ(例えば、RAWデータ)を生成する(S42)。事前印刷データは、インタプリタ206が翻訳できるプリンタ言語で記述されている。
プリンタドライバ310は、事前印刷データをスプーラ319へ送信する(S43)。スプーラ319は、事前印刷データを、順次、カーネルモードドライバ320へ送信する(S44)。印刷データ送信部321は、事前印刷データを、プリンタ200へ送信する(S45)。事前印刷データは、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、コンピュータ100からプリンタ200に送信される。
図4を参照して、印刷データ受信部356は、事前印刷データを受信して、記憶部358に格納する(S7)。事前印刷データは、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、プリンタ200に受信される。
記憶部358に格納される事前印刷データは、コンピュータ100から送信された事前印刷データであってもよいし、コンピュータ100から送信された事前印刷データをインタプリタドライバ360で翻訳することによって得られた事前印刷データであってもよい。例えば、図10を参照して、印刷データ受信部356は、印刷データ送信部321から事前印刷データを受信して、事前印刷データを記憶部358に格納する(S47)。インタプリタドライバ360は、記憶部358から事前印刷データを読み出して、事前印刷データを印刷エンジン210で処理可能な事前印刷データに翻訳する(S48)。インタプリタドライバ360は、インタプリタドライバ360で翻訳された事前印刷データを記憶部358に格納する(S49)。インタプリタドライバ360は、CPU201に、事前印刷データの翻訳が完了したことを通知する。
図4を参照して、印刷エンジンドライバ370の印刷機構活性化部371は、印刷機構211を活性化させる(S8)。印刷機構211は、例えば、印刷データ受信部356が事前印刷データをコンピュータ100から受信した後に、活性化される。印刷機構活性化部371は、印刷(S18またはS26)が終了するまで、印刷機構211を活性化状態に維持する。
図5を参照して、カーネルモードドライバ320は、アプリケーション301から、事前印刷設定及び最終印刷設定を受信する(S14)。印刷開始制御コマンド生成部322は、事前印刷設定が最終印刷設定に一致するかを判断する(S15)。印刷開始制御コマンド生成部322が、事前印刷設定は最終印刷設定に一致すると判断する場合、印刷開始制御コマンド生成部322は、印刷開始制御コマンドとして事前印刷設定に関する印刷開始コマンド(第1印刷開始コマンド)をプリンタ200へ送信する(S16)。印刷開始動作制御部372は、コンピュータ100から印刷開始制御コマンド(第1印刷開始コマンド)を受信する(S17)。印刷開始動作制御部372は、例えば、印刷機構211が活性化されている間に、印刷開始制御コマンドとして第1印刷開始コマンドをコンピュータ100から受信する。印刷開始制御コマンドが事前印刷設定に関する印刷開始コマンド(第1印刷開始コマンド)である場合には、印刷開始動作制御部372は、印刷機構211に、記憶部358に格納されている事前印刷データを紙に印刷させる(S18)。
印刷開始制御コマンド生成部322が、事前印刷設定は最終印刷設定と異なると判断する場合、印刷開始制御コマンド生成部322は、印刷開始制御コマンドとして印刷中止コマンドをプリンタ200へ送信する(S20)。印刷開始動作制御部372は、コンピュータ100から印刷開始制御コマンド(印刷中止コマンド)を受信する(S17)。印刷開始動作制御部372は、例えば、印刷機構211が活性化されている間に、印刷開始制御コマンドとして印刷中止コマンドをコンピュータ100から受信する。印刷開始制御コマンドが印刷中止コマンドである場合には、印刷開始動作制御部372は、既にプリンタ200に受信されていた事前印刷データを記憶部358から削除する(S21)。
図6を参照して、印刷開始制御コマンド生成部322が、事前印刷設定は最終印刷設定と異なると判断する場合、CPU201は、最終印刷設定を反映した最終印刷データを作成し、プリンタ200へ送信する(S22)。最終印刷データは、コンピュータ100がユーザから印刷実行指示を受け付けた後に、コンピュータ100からプリンタ200に送信される。具体的には、図11を参照して、アプリケーション301は、GDI APIを呼び出すとともに、最終印刷設定と文書データとをGDI318へ送信する(S50)。GDI APIは、プリンタドライバ310上のプリンタデバイスコンテキストへ描画する(S51)。この描画により、プリンタドライバ310のDDI関数が呼び出される。プリンタドライバ310のグラフィックス部315が、最終印刷設定及び文書データから、最終印刷設定を反映した最終印刷データ(例えば、RAWデータ)を生成する(S52)。最終印刷データは、インタプリタ206が翻訳できるプリンタ言語で記述されている。
プリンタドライバ310は、最終印刷データをスプーラ319へ送信する(S53)。スプーラ319は、最終印刷データを、順次、カーネルモードドライバ320へ送信する(S54)。印刷データ送信部321は、最終印刷データを、プリンタ200へ送信する(S55)。
図6を参照して、印刷データ受信部356は、最終印刷データを受信して、記憶部358に格納する(S23)。記憶部358に格納される最終印刷データは、コンピュータ100から送信された最終印刷データであってもよいし、コンピュータ100から送信された最終印刷データをインタプリタドライバ360で翻訳することによって得られた最終印刷データであってもよい。例えば、図12を参照して、印刷データ受信部356は、印刷データ送信部321から最終印刷データを受信して、最終印刷データを記憶部358に格納する(S57)。インタプリタドライバ360は、記憶部358から最終印刷データを読み出して、最終印刷データを印刷エンジン210で処理可能な最終印刷データに翻訳する(S58)。インタプリタドライバ360は、インタプリタドライバ360で翻訳された最終印刷データを記憶部358に格納する(S59)。
図6を参照して、印刷開始制御コマンド生成部322は、印刷開始制御コマンドとして最終印刷設定に関する印刷開始コマンド(第2印刷開始コマンド)をプリンタ200へ送信する(S24)。印刷開始動作制御部372は、コンピュータ100から印刷開始制御コマンド(第2印刷開始コマンド)を受信する(S25)。印刷開始動作制御部372は、例えば、印刷機構が活性化されている間に、印刷開始制御コマンドとして第2印刷開始コマンドをコンピュータ100から受信する。印刷開始動作制御部372は、例えば、印刷中止コマンドをコンピュータ100から受信した後に、印刷開始制御コマンドとして第2印刷開始コマンドをコンピュータ100から受信する。印刷開始制御コマンドが最終印刷設定に関する印刷開始コマンド(第2印刷開始コマンド)である場合には、印刷開始動作制御部372は、印刷機構211に、記憶部358に格納されている最終印刷データを紙に印刷させる(S26)。
本実施の形態の作用効果を説明する。
本実施の形態のプリンタ200に内蔵される印刷制御装置(CPU201)は、事前印刷データ受信部(印刷データ受信部356)と、印刷機構活性化部371と、印刷開始動作制御部372とを備える。事前印刷データ受信部(印刷データ受信部356)は、コンピュータ100が印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データをコンピュータ100から受信する。印刷機構活性化部371は、事前印刷データ受信部(印刷データ受信部356)が事前印刷データを受信した後に、プリンタ200に含まれる印刷機構211を活性化させる。印刷開始動作制御部372は、印刷機構211の印刷開始動作を制御する。事前印刷設定が印刷実行指示による最終印刷設定に一致する場合に、印刷開始動作制御部372は、事前印刷データを、活性化されている印刷機構211に印刷させる。事前印刷設定が最終印刷設定と異なる場合に、印刷開始動作制御部372は、事前印刷データをプリンタ200から削除し、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構211に印刷させる。
本実施の形態では、最終印刷データをコンピュータ100からプリンタ200に送信する前に、事前印刷データをコンピュータ100からプリンタ200に送信するとともに、印刷機構211を活性化させている。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の印刷制御装置(CPU201)は、事前印刷設定決定部350をさらに備える。事前印刷設定決定部350は、コンピュータ100が、印刷準備開始指示を受け付けた後、かつ、印刷実行指示を受け付ける前に、コンピュータ100から事前印刷開始要求を受信する。事前印刷設定決定部350は、事前印刷開始要求に基づいて事前印刷設定を決定する。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の印刷制御装置(CPU201)では、事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を事前印刷設定として決定する。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。そのため、事前印刷設定が最終印刷設定に一致する確率を高めることができる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の印刷制御装置(CPU201)では、事前印刷設定決定部350は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定される印刷する可能性の高さに応じたページのみを印刷する印刷設定を事前印刷設定として決定する。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。そのため、事前印刷設定が最終印刷設定に一致する確率を高めることができる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムは、コンピュータ100が印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データをコンピュータ100から受信するステップ(S7)と、事前印刷データを受信した後に、プリンタ200に含まれる印刷機構211を活性化させるステップ(S8)と、事前印刷設定が印刷実行指示による最終印刷設定に一致する場合に、事前印刷データを、活性化されている印刷機構211に印刷させるステップ(S18)と、事前印刷設定が最終印刷設定と異なる場合に、事前印刷データをプリンタ200から削除するステップ(S21)と、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構211に印刷させるステップ(S26)とを、プリンタ200のプロセッサ(CPU201)に実行させる。
本実施の形態では、最終印刷データをコンピュータ100からプリンタ200に送信する前に、事前印刷データをコンピュータ100からプリンタ200に送信するとともに、印刷機構211を活性化させている。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムは、コンピュータ100が、印刷準備開始指示を受け付けた後、かつ、印刷実行指示を受け付ける前に、コンピュータ100から事前印刷開始要求を受信するステップと、事前印刷開始要求に基づいて事前印刷設定を決定するステップ(S3)とをさらに、プリンタ200のプロセッサ(CPU201)に実行させる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムでは、事前印刷設定を決定するステップ(S3)は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を事前印刷設定として決定するステップである。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。そのため、事前印刷設定が最終印刷設定に一致する確率を高めることができる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムでは、事前印刷設定を決定するステップ(S3)は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定される印刷する可能性の高さに応じたページのみを印刷する印刷設定を事前印刷設定として決定するステップである。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。そのため、事前印刷設定が最終印刷設定に一致する確率を高めることができる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の非一時的なコンピュータに読み取り可能な記録媒体は、本実施の形態のプログラムを格納している。本実施の形態の記録媒体は、本実施の形態のプログラムと同様の効果を奏する。
(実施の形態2)
図1に示されるように、実施の形態2の印刷システム1aは、実施の形態1の印刷システム1と同様の構成を備えている。
図13を参照して、本実施の形態の印刷システム1aの機能を説明する。本実施の形態の印刷システム1aは、実施の形態1の印刷システム1と同様の機能を備えるが、以下の点で主に異なる。事前印刷設定決定部350は、コンピュータ100に含まれるプロセッサ(CPU101)で実行される。
本実施の形態の印刷システム1aにおける印刷処理の流れは、実施の形態1の印刷システム1における印刷処理の流れと同様であるが、以下の点で主に異なる。印刷システム1においてプリンタ200に実装された事前印刷設定決定部350で行われていた処理が、印刷システム1aでは、コンピュータ100に実装された事前印刷設定決定部350で行われている。
そのため、通信インタフェース218を経由するコンピュータ100とプリンタ200との間の通信量を削減することができる。また、一般に、コンピュータ100のプロセッサ(CPU101)は、プリンタ200のプロセッサ(CPU201)よりも高い処理能力を有しているため、事前印刷設定決定部350における処理がより高速になる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
(実施の形態3)
図1に示されるように、実施の形態3の印刷システム1bは、実施の形態1の印刷システムと同様の構成を備えている。
図14を参照して、実施の形態3の印刷システム1bの機能を説明する。印刷システム1bは、実施の形態1の印刷システム1と同様の機能を備えるが、以下の点で主に異なる。
本実施の形態の事前印刷設定決定部350bは、第1決定部351と、印刷データサイズ概算部352と、空きリソース容量予測部353と、第2決定部354とを含む。第1決定部351は、実施の形態1の事前印刷設定決定部350と同様の機能を有しているが、事前印刷設定に代えて、暫定事前印刷設定を決定する。印刷データサイズ概算部352は、暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算する。
空きリソース容量予測部353は、事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図4のS6)における空きリソース容量を予測する。第2決定部354は、暫定事前印刷設定から事前印刷設定を決定する。
図3から図7、図9から図12、図14から図16を参照して、実施の形態3の印刷システム1bにおける印刷処理の流れを説明する。印刷システム1bにおける印刷処理の流れは、実施の形態1の印刷システム1における印刷処理の流れと同様であるが、以下の点で主に異なる。
本実施の形態の事前印刷設定を決定するステップ(S3)は、第1決定部351が暫定事前印刷設定を決定するステップと、第2決定部354が暫定事前印刷設定から事前印刷設定を決定するステップとを主に含む。
第1決定部351が暫定事前印刷設定を決定するステップは、実施の形態1において、事前印刷設定決定部350が事前印刷設定を決定するステップと同様である。具体的には、図15を参照して、第1決定部351は、コンピュータ100(事前印刷開始要求送信部304)から、事前印刷開始要求を受信する(S30b)。第1決定部351は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データが、ユーザデータベース(DB)204d内に含まれているかを確認する(S31b)。過去にユーザがプリンタ200を利用したことがなく、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データがユーザDB204dに記録されていない場合には、第1決定部351は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データを仮に設定し、仮印刷履歴データを事前印刷開始要求に含まれるユーザIDに対応づけてユーザDB204dに記録する(S32b)。第1決定部351は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データを、ユーザDB204dから読み出す(S33b)。
第1決定部351は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データに基づいて、暫定事前印刷設定を決定する(S34b)。具体的には、第1決定部351は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから、使用頻度の高さに応じた印刷設定(例えば、最も使用頻度が高い印刷設定)を選択する。第1決定部351は、使用頻度の高さに応じた印刷設定(例えば、最も使用頻度が高い印刷設定)を暫定事前印刷設定として決定する。第1決定部351は、暫定事前印刷設定を、印刷データサイズ概算部352及び第2決定部354へ送信する。
印刷データサイズ概算部352は、第1決定部351から、暫定事前印刷設定を受信する。印刷データサイズ概算部352は、暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算する(S61)。具体的には、印刷データサイズ概算部352は、事前印刷開始要求に含まれるアプリケーション名、ページ番号及び各ページの文書タイプ(図7を参照)と、暫定事前印刷設定とから、暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算する。印刷データサイズ概算部352は、暫定事前印刷データのデータサイズを、第2決定部354へ送信する。図15を参照して、第2決定部354は、第1決定部351から暫定事前印刷設定を受信し、印刷データサイズ概算部352から暫定事前印刷データのデータサイズを受信する(S62)。
空きリソース容量予測部353は、事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図4のS6)における空きリソース容量を予測する(S63)。空きリソース容量予測部353は、空きリソース容量を、第2決定部354へ送信する。図15を参照して、第2決定部354は、空きリソース容量予測部353で予測された空きリソース容量を受信する(S64)。空きリソース容量は、例えば、コンピュータ100とプリンタ200間の通信インタフェース218の空き容量及びプリンタ200の記憶部358(RAM202、ストレージデバイス204)の空き容量などを含む。
一例として、空きリソース容量予測部353は、記憶部358(ストレージデバイス204)に格納された学習済みモデルを用いて、事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図4のS6)における空きリソース容量を予測する。学習済みモデルは、例えば、空きリソース容量予測ニューラルネットワークである。空きリソース容量予測ニューラルネットワークは、機械学習を用い、過去にユーザがプリンタ200を利用して印刷を実行した日時を入力層とし、当該日時における空きリソース容量を出力層として生成される。空きリソース容量予測ニューラルネットワークは、入力層と出力層との間に、隠れ層を含む。CPU201は、常に、空きリソース容量を監視して、空きリソース容量の経時変化(過去にユーザがプリンタ200を利用して印刷を実行した日時及び当該日時における空きリソース容量)を、ストレージデバイス204に記録している。ストレージデバイス204に記録された空きリソース容量の経時変化を教師データを用いて機械学習を行うことによって、学習済みモデル(空きリソース容量予測ニューラルネットワーク)が生成される。
空きリソース容量予測部353は、事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図4のS6)を学習済みモデル(例えば、空きリソース容量予測ニューラルネットワーク)に入力する。こうして、空きリソース容量予測部353は、事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図4のS6)における空きリソース容量を予測する。なお、機械学習は、特に限定されないが、再帰ニューラルネットワーク(RNN)、畳み込みニューラルネットワーク(CNN)、長期−短期記憶(LSTM)またはディープビリーフネットワーク(DBN)のような深層学習を例示することができる。
図16を参照して、第2決定部354は、暫定事前印刷データのデータサイズが、予測された空きリソース容量よりも大きいかを判断する(S65)。第2決定部354が、暫定事前印刷データのデータサイズは予測された空きリソース容量よりも大きくないと判断する場合、第2決定部354は、暫定事前印刷設定を事前印刷設定として決定する(S66)。
これに対し、第2決定部354が、暫定事前印刷データのデータサイズは予測された空きリソース容量よりも大きいと判断する場合、第2決定部354は、ユーザDB204dにアクセスして、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データを参照する。第2決定部354は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから、ユーザが印刷する可能性の高さに応じたページ(例えば、ユーザが最も印刷する可能性が高いページ)を特定する(S68)。ユーザが印刷する可能性の高さに応じたページは、例えば、ユーザが閲覧中のドキュメント先頭ページ、または、ユーザが閲覧中のページである。第2決定部354は、暫定印刷設定のうち、ユーザが印刷する可能性の高さに応じたページ(例えば、ユーザが最も印刷する可能性が高いページ)のみを印刷する印刷設定を、事前印刷設定として決定する(S69)。
以上のようにして、第2決定部354は、暫定事前印刷設定から事前印刷設定を決定する。事前印刷設定決定部350は、第2決定部354で決定された事前印刷設定を、コンピュータ100(アプリケーション301)へ送信する(S35)。事前印刷設定は、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、プリンタ200からコンピュータ100に送信される。
本実施の形態の作用効果について説明する。本実施の形態は、実施の形態1の作用効果に加えて、以下の作用効果を奏する。
本実施の形態の印刷制御装置(CPU201)では、事前印刷設定決定部350bは、空きリソース容量予測部353を含む。空きリソース容量予測部353は、事前印刷データをコンピュータ100からプリンタ200へ送信する時点における空きリソース容量を予測する。空きリソース容量は、プリンタ200の記憶部358の空き容量及びコンピュータ100とプリンタ200とを通信可能に接続する通信インタフェース218の空き容量の少なくとも一つを含む。事前印刷設定決定部350bは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を暫定事前印刷設定として決定する。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、記憶部358に格納されている。事前印刷設定決定部350bは、暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算する。暫定事前印刷データのデータサイズが空きリソース容量よりも大きくない場合に、事前印刷設定決定部350bは、暫定事前印刷設定を事前印刷設定として決定する。暫定事前印刷データのデータサイズが空きリソース容量よりも大きい場合に、事前印刷設定決定部350bは、使用頻度の高さに応じた印刷設定のうち、印刷履歴データから特定される印刷される可能性の高さに応じたページのみを印刷する印刷設定を事前印刷設定として決定する。
本実施の形態では、暫定事前印刷データのデータサイズが空きリソース容量よりも大きくない場合には、事前印刷設定が最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。また、少なくとも、ユーザの使用頻度の高さに応じた印刷設定のうち印刷される可能性の高さに応じたページについて、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。さらに、印刷システム1bのリソース(記憶部358及び通信インタフェース218の少なくとも一つ)に過剰な負荷をかけることが防止され得る。
本実施の形態のプログラムでは、事前印刷設定を決定するステップ(S3)は、事前印刷データをコンピュータ100からプリンタ200へ送信する時点における空きリソース容量を予測するステップ(S63)と、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を暫定事前印刷設定として決定するステップ(S34b)と、暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算するステップ(S61)と、暫定事前印刷データのデータサイズが空きリソース容量よりも大きくない場合に、暫定事前印刷設定を事前印刷設定として決定するステップ(S66)と、暫定事前印刷データのデータサイズが空きリソース容量よりも大きい場合に、使用頻度の高さに応じた印刷設定のうち、印刷履歴データから特定される印刷される可能性の高さに応じたページのみを印刷する印刷設定を事前印刷設定として決定するステップ(S69)とを含む。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。空きリソース容量は、記憶部358の空き容量及びコンピュータ100とプリンタ200とを通信可能に接続する通信インタフェース218の空き容量の少なくとも一つを含む。
本実施の形態では、暫定事前印刷データのデータサイズが空きリソース容量よりも大きくない場合には、事前印刷設定が最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。また、少なくとも、ユーザの使用頻度の高さに応じた印刷設定のうち印刷される可能性の高さに応じたページについて、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。さらに、印刷システム1bのリソース(記憶部358及び通信インタフェース218の少なくとも一つ)に過剰な負荷をかけることが防止され得る。
本実施の形態の非一時的なコンピュータに読み取り可能な記録媒体は、本実施の形態のプログラムを格納している。本実施の形態の記録媒体は、本実施の形態のプログラムと同 (実施の形態4)
図1に示されるように、実施の形態4の印刷システム1cは、実施の形態3の印刷システム1bと同様の構成を備えている。
図17を参照して、本実施の形態の印刷システム1cの機能を説明する。本実施の形態の印刷システム1cは、実施の形態3の印刷システム1bと同様の機能を備えるが、以下の点で主に異なる。事前印刷設定決定部350bは、コンピュータ100に含まれるプロセッサ(CPU101)で実行される。
本実施の形態の印刷システム1cにおける印刷処理の流れは、実施の形態3の印刷システム1bにおける印刷処理の流れと同様であるが、以下の点で主に異なる。印刷システム1bにおいてプリンタ200に実装された事前印刷設定決定部350bで行われていた処理が、印刷システム1cでは、コンピュータ100に実装された事前印刷設定決定部350bで行われている。
そのため、通信インタフェース218を経由するコンピュータ100とプリンタ200との間の通信量を削減することができる。また、一般に、コンピュータ100のプロセッサ(CPU101)は、プリンタ200のプロセッサ(CPU201)よりも高い処理能力を有しているため、事前印刷設定決定部350bにおける処理がより高速になる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
(実施の形態5)
図1に示されるように、実施の形態5の印刷システム1dは、実施の形態3の印刷システム1bと同様の構成を備えている。
図18を参照して、本実施の形態の印刷システム1dの機能を説明する。本実施の形態の印刷システム1dは、実施の形態3の印刷システム1bと同様の機能を備えるが、以下の点で主に異なる。
印刷システム1dは、実施の形態3の事前印刷設定決定部350bに代えて、事前印刷設定決定部350dを備えている。事前印刷設定決定部350dは、第1決定部351dと、印刷データサイズ概算部352dと、空きリソース容量予測部353と、第2決定部354dとを含む。第1決定部351dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから使用頻度が高い順に選択された1つ以上の暫定事前印刷設定を決定する。印刷データサイズ概算部352dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定されるユーザの使用頻度が高い印刷設定の順に、第n暫定事前印刷データのデータサイズを概算する。第n暫定事前印刷データは、第n暫定事前印刷設定を反映した第n暫定事前印刷データである。第n暫定事前印刷設定は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データに含まれる、n番目に使用頻度が高い印刷設定である。
空きリソース容量予測部353は、1つ以上の事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図19のS6d)における空きリソース容量を予測する。第2決定部354dは、第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が、空きリソース容量予測部353で予測された空きリソース容量よりも大きいかを判断する。こうして、第2決定部354dは、1つ以上の暫定事前印刷設定から1つ以上の事前印刷設定を決定する。
図6,図7及び図19から図22を参照して、実施の形態5の印刷システム1dにおける印刷処理の流れを説明する。本実施の形態の印刷システム1dにおける印刷処理の流れは、実施の形態3の印刷システム1bにおける印刷処理の流れと同様であるが、以下の点で主に異なる。
図19を参照して、事前印刷設定決定部350dは、事前印刷開始要求に基づいて1つ以上の事前印刷設定を決定する(S3d)。本実施の形態の1つ以上の事前印刷設定を決定するステップ(S3d)は、第1決定部351dが1つ以上の暫定事前印刷設定を決定するステップと、第2決定部354dが1つ以上の暫定事前印刷設定から1つ以上の事前印刷設定を決定するステップとを主に含む。
具体的には、図21を参照して、第1決定部351dは、実施の形態3のステップS30bからステップ32bを経て、第1決定部351dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データを、ユーザDB204dから読み出す(S33b)。
図22を参照して、事前印刷設定決定部350dは、第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が前記空きリソース容量以下である間、自然数nを1から一つずつ増加させながら、以下のステップS34d,S61d,S62d,S65dを繰り返し実行する。すなわち、事前印刷設定決定部350dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定されるユーザの使用頻度が高い印刷設定の順に、以下のステップS34d,S61d,S62d,S65dを繰り返し実行する。ユーザの使用頻度が高い印刷設定の順序は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定される。
具体的には、第1決定部351dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データに基づいて、n番目に使用頻度が高い印刷設定を第n暫定事前印刷設定として決定する(S34d)。具体的には、第1決定部351dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから、n番目に使用頻度が高い印刷設定を選択する。第1決定部351dは、n番目に使用頻度が高い印刷設定を第n暫定事前印刷設定として決定する。第1決定部351dは、第n暫定事前印刷設定を、印刷データサイズ概算部352d及び第2決定部354dへ送信する。
印刷データサイズ概算部352dは、第1決定部351dから、第n暫定事前印刷設定を受信する。印刷データサイズ概算部352dは、第n暫定事前印刷データのデータサイズを概算する(S61d)。具体的には、印刷データサイズ概算部352dは、事前印刷開始要求に含まれるアプリケーション名、ページ番号及び各ページの文書タイプ(図7を参照)と、第n暫定事前印刷設定とから、第n暫定事前印刷データのデータサイズを概算する。印刷データサイズ概算部352dは、第n暫定事前印刷データのデータサイズを、第2決定部354dへ送信する。第2決定部354dは、第1決定部351dから第n暫定事前印刷設定を受信し、印刷データサイズ概算部352dから第n暫定事前印刷データのデータサイズを受信する(S62d)。
空きリソース容量予測部353は、実施の形態3のステップS63と同じく、事前印刷データをコンピュータ100からプリンタ200へ送信する時点(図19のS6d)における空きリソース容量を予測する(S63)。空きリソース容量予測部353は、空きリソース容量を、第2決定部354へ送信する。第2決定部354は、空きリソース容量予測部353で予測された空きリソース容量を受信する(S64)。
第2決定部354dは、第1番目から第n番目までの暫定事前印刷データのデータサイズの和が、予測された空きリソース容量よりも大きいかを判断する(S65d)。具体的には、第2決定部354dは、第1番目から第n番目までの暫定事前印刷データのデータサイズの和を算出する。それから、第2決定部354dは、第1番目から第n番目までの暫定事前印刷データのデータサイズの和を、空きリソース容量予測部353で予測された空きリソース容量と比較する。
第2決定部354dが、第1番目から第n番目までの暫定事前印刷データのデータサイズの和が予測された空きリソース容量以下であると判断する間、事前印刷設定決定部350dは、nをn+1に置き換えて、ステップS34d,S61d,S62d,S65dを実行する。第2決定部354dが、第1番目から第n番目までの暫定事前印刷データのデータサイズの和は予測された空きリソース容量よりも大きいと判断するまで、事前印刷設定決定部350dは、nを一つずつ増加させながら、ステップS34d,S61d,S62d,S65dを繰り返し実行する。
第2決定部354dが、第1番目から第n番目までの暫定事前印刷データのデータサイズの和は予測された空きリソース容量よりもはじめて大きくなると判断し、かつ、nが2以上の自然数である場合、第2決定部354dは、第1番目から第n−1番目の暫定事前印刷設定をn−1個の事前印刷設定として決定する(S66d)。nが3以上の自然数である場合、第2決定部354dは、複数の暫定事前印刷設定を複数の事前印刷設定として決定する。
なお、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データに含まれる全ての印刷設定について、ステップS34d,S61d,S62d,S65dが実行された場合には、第2決定部354dは、第1番目から第n番目の暫定事前印刷設定(すなわち、全ての暫定事前印刷設定)をn個の事前印刷設定として決定する。
これに対し、第2決定部354dが、第1番目から第n番目までの暫定事前印刷データのデータサイズの和は予測された空きリソース容量よりも大きいと判断し、かつ、n=1である場合、第2決定部354dは、実施の形態3のステップS68と、以下のステップS69dとを実行する。具体的には、実施の形態3のステップS68により、第2決定部354dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから、ユーザが印刷する可能性の高さに応じたページ(例えば、ユーザが最も印刷する可能性が高いページ)を特定する。第2決定部354dは、実施の形態3のステップS69と同様に、第1暫定印刷設定のうち、ユーザが印刷する可能性の高さに応じたページ(例えば、ユーザが最も印刷する可能性が高いページ)のみを印刷する印刷設定を、事前印刷設定として決定する(S69d)。
以上のようにして、第2決定部354dは、1つ以上の暫定事前印刷設定(例えば、複数の暫定事前印刷設定)から1つ以上の事前印刷設定(例えば、複数の事前印刷設定)を決定する。事前印刷設定決定部350dは、第2決定部354dで決定された1つ以上の事前印刷設定(例えば、複数の事前印刷設定)を、コンピュータ100へ送信する(S35d)。1つ以上の暫定事前印刷設定(例えば、複数の事前印刷設定)は、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、プリンタ200からコンピュータ100に送信される。
図19を参照して、アプリケーション301は、事前印刷設定決定部350dから1つ以上の事前印刷設定を受信する(S4d)。1つ以上の暫定事前印刷設定は、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、コンピュータ100に受信される。アプリケーション301は、1つ以上の事前印刷設定を、カーネルモードドライバ320へ送信する(S5d)。
CPU101は、1つ以上の事前印刷設定(例えば、複数の事前印刷設定)を反映した1つ以上の事前印刷データ(例えば、複数の事前印刷データ)を作成し、プリンタ200へ送信する(S6d)。1つ以上の事前印刷データについて、図9に示されるステップS40からステップS45がCPU101によって実行されることによって、1つ以上の事前印刷データが作成されて、プリンタ200へ送信される。1つ以上の事前印刷データは、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、コンピュータ100からプリンタ200に送信される。
印刷データ受信部356は、1つ以上の事前印刷データ(例えば、複数の事前印刷データ)を受信して、記憶部358に格納する(S7d)。1つ以上の事前印刷データ(例えば、複数の事前印刷データ)は、例えば、コンピュータ100が、ユーザから印刷準備開始指示を受け付けた後、かつ、ユーザから印刷実行指示を受け付ける前に、プリンタ200に受信される。
記憶部358に格納される1つ以上の事前印刷データは、コンピュータ100から送信された1つ以上の事前印刷データであってもよいし、コンピュータ100から送信された1つ以上の事前印刷データをインタプリタドライバ360で翻訳することによって得られた1つ以上の事前印刷データであってもよい。例えば、1つ以上の事前印刷データについて、図9に示されるステップS47からステップS49がCPU201によって実行されることによって、インタプリタドライバ360で翻訳された1つ以上の事前印刷データが、記憶部358に格納される。インタプリタドライバ360は、CPU201に、1つ以上の事前印刷データの翻訳が完了したことを通知する。
図19を参照して、印刷エンジンドライバ370の印刷機構活性化部371は、印刷機構211を活性化させる(S8)。印刷機構211は、例えば、印刷データ受信部356が事前印刷データをコンピュータ100から受信した後に、活性化される。印刷機構活性化部371は、印刷(S18dまたはS26)が終了するまで、印刷機構211を活性化状態に維持する。
図20を参照して、カーネルモードドライバ320は、アプリケーション301から、1つ以上の事前印刷設定(例えば、複数の事前印刷データ)及び最終印刷設定を受信する(S14d)。印刷開始制御コマンド生成部322は、1つ以上の事前印刷設定(例えば、複数の事前印刷データ)のいずれかが最終印刷設定に一致するかを判断する(S15d)。印刷開始制御コマンド生成部322が、1つ以上の事前印刷設定(例えば、複数の事前印刷データ)のいずれかは最終印刷設定に一致すると判断する場合、印刷開始制御コマンド生成部322は、印刷開始制御コマンドとして、最終印刷設定に一致する事前印刷設定に関する印刷開始コマンド(第1印刷開始コマンド)をプリンタ200へ送信する(S16d)。印刷開始動作制御部372は、コンピュータ100から印刷開始制御コマンド(第1印刷開始コマンド)を受信する(S17)。印刷開始動作制御部372は、例えば、印刷機構211が活性化されている間に、印刷開始制御コマンドとして第1印刷開始コマンドをコンピュータ100から受信する。印刷開始制御コマンドが、最終印刷設定に一致する事前印刷設定に関する印刷開始コマンド(第1印刷開始コマンド)である場合には、印刷開始動作制御部372は、印刷機構211に、最終印刷設定に一致する事前印刷設定を反映した事前印刷データのみを紙に印刷させる(S18d)。
印刷開始制御コマンド生成部322は、印刷開始制御コマンドとして、最終印刷設定と異なる事前印刷設定に関する印刷中止コマンドをさらにプリンタ200へ送信する(S71)。印刷開始動作制御部372は、コンピュータ100から印刷開始制御コマンドを受信する(S72)。印刷開始制御コマンドが、最終印刷設定と異なる事前印刷設定に関する印刷中止コマンドである場合には、印刷開始動作制御部372は、最終印刷設定と異なる事前印刷設定を反映した事前印刷データを、記憶部358から削除する(S73)。
図20を参照して、印刷開始制御コマンド生成部322が、1つ以上の事前印刷設定(例えば、複数の事前印刷データ)はいずれも最終印刷設定と異なると判断する場合、印刷開始制御コマンド生成部322は、印刷開始制御コマンドとして1つ以上の事前印刷設定に関する印刷中止コマンドをプリンタ200へ送信する(S20d)。印刷開始動作制御部372は、コンピュータ100から印刷開始制御コマンドを受信する(S17)。印刷開始動作制御部372は、例えば、印刷機構211が活性化されている間に、印刷開始制御コマンドとして印刷中止コマンド(印刷中止コマンド)をコンピュータ100から受信する。印刷開始制御コマンドが、1つ以上の事前印刷設定に関する印刷中止コマンドである場合には、印刷開始動作制御部372は、既にプリンタ200に受信されていた1つ以上の事前印刷データを、記憶部358から削除する(S21d)。
図6を参照して、1つ以上の事前印刷設定がいずれも最終印刷設定と異なる場合には、実施の形態1,2と同様に、ステップS22からステップS26が実行される。印刷開始動作制御部372は、印刷機構211に、最終印刷データを紙に印刷させる。
本実施の形態の作用効果について説明する。本実施の形態は、実施の形態3の作用効果に加えて、以下の作用効果を奏する。
本実施の形態のプリンタ200に内蔵される印刷制御装置(CPU201)は、事前印刷データ受信部(印刷データ受信部356)と、印刷機構活性化部371と、印刷開始動作制御部372とを備える。事前印刷データ受信部(印刷データ受信部356)は、コンピュータ100が印刷実行指示を受け付ける前に、複数の事前印刷設定をそれぞれ反映した複数の事前印刷データをコンピュータ100から受信する。印刷機構活性化部371は、事前印刷データ受信部(印刷データ受信部356)が複数の事前印刷データを受信した後に、プリンタ200に含まれる印刷機構211を活性化させる。印刷開始動作制御部372は、印刷機構211の印刷開始動作を制御する。複数の事前印刷設定のいずれかが印刷実行指示による最終印刷設定に一致する場合に、印刷開始動作制御部372は、複数の事前印刷設定のうち最終印刷設定に一致する事前印刷設定を反映した事前印刷データを、活性化されている印刷機構211に印刷させる。複数の事前印刷設定のいずれもが最終印刷設定と異なる場合に、印刷開始動作制御部372は、複数の事前印刷データをプリンタ200から削除し、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構211に印刷させる。
本実施の形態では、最終印刷データをコンピュータ100からプリンタ200に送信する前に、事前印刷データをコンピュータ100からプリンタ200に送信するとともに、印刷機構211を活性化させている。また、事前印刷設定の数が複数であるため、複数の事前印刷設定のいずれかが最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の印刷制御装置(CPU201)は、事前印刷設定決定部350dをさらに備える。事前印刷設定決定部350dは、コンピュータ100が、印刷準備開始指示を受け付けた後、かつ、印刷実行指示を受け付ける前に、コンピュータ100から事前印刷開始要求を受信する。事前印刷設定決定部350dは、事前印刷開始要求に基づいて複数の事前印刷設定を決定する。事前印刷設定の数が複数であるため、複数の事前印刷設定のいずれかが最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の印刷制御装置(CPU201)では、事前印刷設定決定部350dは、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから使用頻度が高い順に選択された複数の印刷設定を複数の事前印刷設定として決定する。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。そのため、複数の事前印刷設定のいずれかが最終印刷設定に一致する確率をさらに高めることができる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態の印刷制御装置(CPU201)では、事前印刷設定決定部350dは、空きリソース容量予測部353を含む。空きリソース容量予測部353は、複数の事前印刷データをコンピュータ100からプリンタ200へ送信する時点における空きリソース容量を予測する。空きリソース容量は、プリンタ200の記憶部358の空き容量及びコンピュータ100とプリンタ200とを通信可能に接続する通信インタフェース218の空き容量の少なくとも一つを含む。第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が空きリソース容量以下である間は、事前印刷設定決定部350dは、自然数nを1から一つずつ増加させながら、(i)事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択されるn番目に使用頻度が高い印刷設定を第n暫定事前印刷設定として決定することと、(ii)第n暫定事前印刷設定を反映した第n暫定事前印刷データのデータサイズを概算することと、(iii)第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が空きリソース容量よりも大きいかを判断することとを繰り返す。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、記憶部358に格納されている。事前印刷設定決定部350dが、第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が空きリソース容量よりもはじめて大きくなる場合に、事前印刷設定決定部350dは、第1暫定事前印刷設定から第n−1暫定事前印刷設定を複数の事前印刷設定として決定する。
本実施の形態では、ユーザの使用頻度が高い第1暫定事前印刷設定から第n−1暫定事前印刷設定のいずれかが最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。さらに、印刷システム1dのリソース(記憶部358及び通信インタフェース218の少なくとも一つ)に過剰な負荷をかけることが防止され得る。
本実施の形態のプログラムは、コンピュータ100が印刷実行指示を受け付ける前に、複数の事前印刷設定をそれぞれ反映した複数の事前印刷データをコンピュータ100から受信するステップ(S7d)と、複数の事前印刷データを受信した後に、プリンタ200に含まれる印刷機構211を活性化させるステップ(S8)と、複数の事前印刷設定のいずれかが印刷実行指示による最終印刷設定に一致する場合に、複数の事前印刷データのうち最終印刷設定に一致する事前印刷設定を反映した事前印刷データを、活性化されている印刷機構211に印刷させるステップ(S18d)と、複数の事前印刷設定のいずれもが最終印刷設定と異なる場合に、複数の事前印刷データをプリンタ200から削除するステップ(S21d)と、最終印刷設定を反映した最終印刷データを、活性化されている印刷機構211に印刷させるステップ(S26)とを、プリンタ200のプロセッサ(CPU201)に実行させる。
本実施の形態では、最終印刷データをコンピュータ100からプリンタ200に送信する前に、事前印刷データをコンピュータ100からプリンタ200に送信するとともに、印刷機構211を活性化させている。また、事前印刷設定の数が複数であるため、事前印刷設定が最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムは、コンピュータ100が、印刷準備開始指示を受け付けた後、かつ、印刷実行指示を受け付ける前に、コンピュータ100から事前印刷開始要求を受信するステップと、事前印刷開始要求に基づいて複数の事前印刷設定を決定するステップ(S3d)とをさらに、プリンタ200のプロセッサ(CPU201)に実行させる。事前印刷設定の数が複数であるため、事前印刷設定が最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムでは、複数の事前印刷設定を決定するステップ(S3d)は、事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから使用頻度が高い順に選択された複数の印刷設定を複数の事前印刷設定として決定するステップである。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、プリンタ200の記憶部358に格納されている。そのため、事前印刷設定が最終印刷設定に一致する確率をさらに高めることができる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
本実施の形態のプログラムでは、複数の事前印刷設定を決定するステップ(S3d)は、複数の事前印刷データをコンピュータ100からプリンタ200へ送信する時点における空きリソース容量を予測するステップ(S63)を含む。空きリソース容量は、プリンタ200の記憶部358の空き容量及びコンピュータ100とプリンタ200とを通信可能に接続する通信インタフェース218の空き容量の少なくとも一つを含む。複数の事前印刷設定を決定するステップ(S3d)は、第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が空きリソース容量以下である間は、自然数nを1から一つずつ増加させながら、(i)事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択されるn番目に使用頻度が高い印刷設定を第n暫定事前印刷設定として決定すること(S34d)と、(ii)第n暫定事前印刷設定を反映した第n暫定事前印刷データのデータサイズを概算すること(S61d)と、(iii)第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が空きリソース容量よりも大きいかを判断すること(S65d)とを繰り返すステップを含む。印刷履歴データは、ユーザID及び印刷設定を含み、かつ、記憶部358に格納されている。複数の事前印刷設定を決定するステップ(S3d)は、第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が空きリソース容量よりもはじめて大きくなる場合に、第1暫定事前印刷設定から第n−1暫定事前印刷設定を複数の事前印刷設定として決定するステップ(S66d)とを含む。
本実施の形態では、ユーザの使用頻度が高い第1暫定事前印刷設定から第n−1暫定事前印刷設定のいずれかが最終印刷設定に一致する確率を高めることができる。そのため、印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。さらに、印刷システム1dのリソース(記憶部358及び通信インタフェース218の少なくとも一つ)に過剰な負荷をかけることが防止され得る。
本実施の形態の非一時的なコンピュータに読み取り可能な記録媒体は、本実施の形態のプログラムを格納している。本実施の形態の記録媒体は、本実施の形態のプログラムと同様の効果を奏する。
(実施の形態6)
図1に示されるように、実施の形態6の印刷システム1eは、実施の形態5の印刷システム1dと同様の構成を備えている。
図23を参照して、本実施の形態の印刷システム1eの機能を説明する。本実施の形態の印刷システム1eは、実施の形態5の印刷システム1dと同様の機能を備えるが、以下の点で主に異なる。事前印刷設定決定部350dは、コンピュータ100に含まれるプロセッサ(CPU101)で実行される。
本実施の形態の印刷システム1eにおける印刷処理の流れは、実施の形態5の印刷システム1dにおける印刷処理の流れと同様であるが、以下の点で主に異なる。印刷システム1dにおいてプリンタ200に実装された事前印刷設定決定部350dで行われていた処理が、印刷システム1eでは、コンピュータ100に実装された事前印刷設定決定部350dで行われている。
そのため、通信インタフェース218を経由するコンピュータ100とプリンタ200との間の通信量を削減することができる。また、一般に、コンピュータ100のプロセッサ(CPU101)は、プリンタ200のプロセッサ(CPU201)よりも高い処理能力を有しているため、事前印刷設定決定部350dにおける処理がより高速になる。印刷実行指示を受信してからプリンタ200が印刷を開始するまでの時間が短縮され得る。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、実施の形態1から実施の形態6では、Windows(登録商標)OS上で動作するアプリケーションで作成された文書データを、RAWスプール形式で印刷する処理を説明したが、EMFスプール形式のような他の形式で印刷する処理が実行されてもよい。また、アプリケーションが動作するOSは、Windows(登録商標)に限定されず、他の任意のOSが用いられ得る。
(付記)
(請求項15)
プリンタのプロセッサに実行させるプログラムであって、前記プログラムは、
コンピュータが印刷実行指示を受け付ける前に、複数の事前印刷設定をそれぞれ反映した複数の事前印刷データを前記コンピュータから受信するステップと、
前記複数の事前印刷データを受信した後に、前記プリンタに含まれる印刷機構を活性化させるステップと、
前記複数の事前印刷設定のいずれかが前記印刷実行指示による最終印刷設定に一致する場合に、前記複数の事前印刷データのうち前記最終印刷設定に一致する前記事前印刷設定を反映した前記事前印刷データを、活性化されている前記印刷機構に印刷させるステップと、
前記複数の事前印刷設定のいずれもが前記最終印刷設定と異なる場合に、前記複数の事前印刷データを前記プリンタから削除するステップと、前記最終印刷設定を反映した最終印刷データを、活性化されている前記印刷機構に印刷させるステップとを、
前記プロセッサに実行させる、プログラム。
(請求項16)
前記コンピュータが、印刷準備開始指示を受け付けた後、かつ、前記印刷実行指示を受け付ける前に、前記コンピュータから事前印刷開始要求を受信するステップと、
前記事前印刷開始要求に基づいて前記複数の事前印刷設定を決定するステップとをさらに、前記プロセッサに実行させる、請求項15に記載のプログラム。
(請求項17)
前記複数の事前印刷設定を決定する前記ステップは、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから使用頻度が高い順に選択された複数の印刷設定を前記複数の事前印刷設定として決定するステップであり、
前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されている、請求項16に記載のプログラム。
(請求項18)
前記複数の事前印刷設定を決定する前記ステップは、
前記複数の事前印刷データを前記コンピュータから前記プリンタへ送信する時点における空きリソース容量を予測するステップを含み、前記空きリソース容量は、前記プリンタの記憶部の空き容量及び前記コンピュータと前記プリンタとを通信可能に接続する通信インタフェースの空き容量の少なくとも一つを含み、
第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が前記空きリソース容量以下である間は、自然数nを1から一つずつ増加させながら、(i)、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択されるn番目に使用頻度が高い印刷設定を第n暫定事前印刷設定として決定することと、(ii)前記第n暫定事前印刷設定を反映した前記第n暫定事前印刷データの前記データサイズを概算することと、(iii)前記第1暫定事前印刷データから前記第n暫定事前印刷データまでの前記データサイズの前記和が前記空きリソース容量よりも大きいかを判断することとを繰り返すステップと、
前記第1暫定事前印刷データから前記第n暫定事前印刷データまでの前記データサイズの前記和が前記空きリソース容量よりもはじめて大きくなる場合に、第1暫定事前印刷設定から第n−1暫定事前印刷設定を前記複数の事前印刷設定として決定するステップとを含み、
前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記記憶部に格納されている、請求項16に記載のプログラム。
1,1a,1b,1c,1d,1e 印刷システム、100 コンピュータ、101 CPU、102 RAM、103 ROM、104 ストレージデバイス、105 ヒューマンインタフェースデバイス(HID)コントローラ、106 ディスプレイコントローラ、107 送受信IF、108 ヒューマンインタフェースデバイス(HID)、109 ディスプレイ、200 プリンタ、201 CPU、202 RAM、203 ROM、204 ストレージデバイス、204d ユーザデータベース、205 操作パネルコントローラ、206 インタプリタ、207 送受信インターフェース、208 印刷部インターフェース、209 操作パネル、210 印刷エンジン、211 印刷機構、218 通信インタフェース、301 アプリケーション、302 文書データ作成部、303 印刷準備開始指示受付部、304 事前印刷開始要求送信部、310 プリンタドライバ、311 印刷ユーザインターフェース部、312 最終印刷設定受付部、313 印刷実行指示受付部、315 グラフィックス部、319 スプーラ、320 カーネルモードドライバ、321 印刷データ送信部、322 印刷開始制御コマンド生成部、350,350b,350d 事前印刷設定決定部、351,351d 第1決定部、352,352d 印刷データサイズ概算部、353 空きリソース容量予測部、354,354d 第2決定部、356 印刷データ受信部、358 記憶部、360 インタプリタドライバ、370 印刷エンジンドライバ、371 印刷機構活性化部、372 印刷開始動作制御部。

Claims (14)

  1. プリンタに内蔵される印刷制御装置であって、前記印刷制御装置は、事前印刷データ受信部と、印刷機構活性化部と、印刷開始動作制御部とを備え、
    前記事前印刷データ受信部は、コンピュータが印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データを前記コンピュータから受信し、
    前記印刷機構活性化部は、前記事前印刷データ受信部が前記事前印刷データを受信した後に、前記プリンタに含まれる印刷機構を活性化させ、
    前記印刷開始動作制御部は、前記印刷機構の印刷開始動作を制御し、
    前記事前印刷設定が前記印刷実行指示による最終印刷設定に一致する場合に、前記印刷開始動作制御部は、前記事前印刷データを、活性化されている前記印刷機構に印刷させ、
    前記事前印刷設定が前記最終印刷設定と異なる場合に、前記印刷開始動作制御部は、前記事前印刷データを前記プリンタから削除し、前記最終印刷設定を反映した最終印刷データを、活性化されている前記印刷機構に印刷させる、印刷制御装置。
  2. 事前印刷設定決定部をさらに備え、
    前記事前印刷設定決定部は、前記コンピュータが、印刷準備開始指示を受け付けた後、かつ、前記印刷実行指示を受け付ける前に、前記コンピュータから事前印刷開始要求を受信し、前記事前印刷開始要求に基づいて前記事前印刷設定を決定する、請求項1に記載の印刷制御装置。
  3. 前記事前印刷設定決定部は、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を前記事前印刷設定として決定し、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されている、請求項2に記載の印刷制御装置。
  4. 前記事前印刷設定決定部は、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定される印刷する可能性の高さに応じたページのみを印刷する印刷設定を前記事前印刷設定として決定し、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されている、請求項2に記載の印刷制御装置。
  5. 前記事前印刷設定決定部は、空きリソース容量予測部を含み、
    前記空きリソース容量予測部は、前記事前印刷データを前記コンピュータから前記プリンタへ送信する時点における空きリソース容量を予測し、前記空きリソース容量は、前記プリンタの記憶部の空き容量及び前記コンピュータと前記プリンタとを通信可能に接続する通信インタフェースの空き容量の少なくとも一つを含み、
    前記事前印刷設定決定部は、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を暫定事前印刷設定として決定し、前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記記憶部に格納されており、
    前記事前印刷設定決定部は、前記暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算し、
    前記暫定事前印刷データの前記データサイズが前記空きリソース容量よりも大きくない場合に、前記事前印刷設定決定部は、前記暫定事前印刷設定を前記事前印刷設定として決定し、
    前記暫定事前印刷データの前記データサイズが前記空きリソース容量よりも大きい場合に、前記事前印刷設定決定部は、前記使用頻度の高さに応じた前記印刷設定のうち、前記印刷履歴データから特定される印刷される可能性の高さに応じたページのみを印刷する印刷設定を前記事前印刷設定として決定する、請求項2に記載の印刷制御装置。
  6. プリンタに内蔵される印刷制御装置であって、前記印刷制御装置は、事前印刷データ受信部と、印刷機構活性化部と、印刷開始動作制御部とを備え、
    前記事前印刷データ受信部は、コンピュータが印刷実行指示を受け付ける前に、複数の事前印刷設定をそれぞれ反映した複数の事前印刷データを前記コンピュータから受信し、
    前記印刷機構活性化部は、前記事前印刷データ受信部が前記複数の事前印刷データを受信した後に、前記プリンタに含まれる印刷機構を活性化させ、
    前記印刷開始動作制御部は、前記印刷機構の印刷開始動作を制御し、
    前記複数の事前印刷設定のいずれかが前記印刷実行指示による最終印刷設定に一致する場合に、前記印刷開始動作制御部は、前記複数の事前印刷設定のうち前記最終印刷設定に一致する前記事前印刷設定を反映した前記事前印刷データを、活性化されている前記印刷機構に印刷させ、
    前記複数の事前印刷設定のいずれもが前記最終印刷設定と異なる場合に、前記印刷開始動作制御部は、前記複数の事前印刷データを前記プリンタから削除し、前記最終印刷設定を反映した最終印刷データを、活性化されている前記印刷機構に印刷させる、印刷制御装置。
  7. 事前印刷設定決定部をさらに備え、
    前記事前印刷設定決定部は、前記コンピュータが、印刷準備開始指示を受け付けた後、かつ、前記印刷実行指示を受け付ける前に、前記コンピュータから事前印刷開始要求を受信し、前記事前印刷開始要求に基づいて前記複数の事前印刷設定を決定する、請求項6に記載の印刷制御装置。
  8. 前記事前印刷設定決定部は、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから使用頻度が高い順に選択された複数の印刷設定を前記複数の事前印刷設定として決定し、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されている、請求項7に記載の印刷制御装置。
  9. 前記事前印刷設定決定部は、空きリソース容量予測部を含み、
    前記空きリソース容量予測部は、前記複数の事前印刷データを前記コンピュータから前記プリンタへ送信する時点における空きリソース容量を予測し、前記空きリソース容量は、前記プリンタの記憶部の空き容量及び前記コンピュータと前記プリンタとを通信可能に接続する通信インタフェースの空き容量の少なくとも一つを含み、
    第1暫定事前印刷データから第n暫定事前印刷データまでのデータサイズの和が前記空きリソース容量以下である間は、前記事前印刷設定決定部は、自然数nを1から一つずつ増加させながら、(i)前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択されるn番目に使用頻度が高い印刷設定を第n暫定事前印刷設定として決定することと、(ii)前記第n暫定事前印刷設定を反映した前記第n暫定事前印刷データの前記データサイズを概算することと、(iii)前記第1暫定事前印刷データから前記第n暫定事前印刷データまでの前記データサイズの前記和が前記空きリソース容量よりも大きいかを判断することとを繰り返し、
    前記第1暫定事前印刷データから前記第n暫定事前印刷データまでの前記データサイズの前記和が前記空きリソース容量よりもはじめて大きくなる場合に、前記事前印刷設定決定部は、第1暫定事前印刷設定から第n−1暫定事前印刷設定を前記複数の事前印刷設定として決定し、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記記憶部に格納されている、請求項7に記載の印刷制御装置。
  10. プリンタのプロセッサに実行させるプログラムであって、前記プログラムは、
    コンピュータが印刷実行指示を受け付ける前に、事前印刷設定を反映した事前印刷データを前記コンピュータから受信するステップと、
    前記事前印刷データを受信した後に、前記プリンタに含まれる印刷機構を活性化させるステップと、
    前記事前印刷設定が前記印刷実行指示による最終印刷設定に一致する場合に、前記事前印刷データを、活性化されている前記印刷機構に印刷させるステップと、
    前記事前印刷設定が前記最終印刷設定と異なる場合に、前記事前印刷データを前記プリンタから削除するステップと、前記最終印刷設定を反映した最終印刷データを、活性化されている前記印刷機構に印刷させるステップとを、
    前記プロセッサに実行させる、プログラム。
  11. 前記コンピュータが、印刷準備開始指示を受け付けた後、かつ、前記印刷実行指示を受け付ける前に、前記コンピュータから事前印刷開始要求を受信するステップと、
    前記事前印刷開始要求に基づいて前記事前印刷設定を決定するステップとをさらに、前記プロセッサに実行させる、請求項10に記載のプログラム。
  12. 前記事前印刷設定を決定する前記ステップは、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を前記事前印刷設定として決定するステップであり、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されている、請求項11に記載のプログラム。
  13. 前記事前印刷設定を決定する前記ステップは、前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから特定される印刷する可能性の高さに応じたページのみを印刷する印刷設定を前記事前印刷設定として決定するステップであり、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されている、請求項11に記載のプログラム。
  14. 前記事前印刷設定を決定する前記ステップは、
    前記事前印刷データを前記コンピュータから前記プリンタへ送信する時点における空きリソース容量を予測するステップと、
    前記事前印刷開始要求に含まれるユーザIDに対応する印刷履歴データから選択される使用頻度の高さに応じた印刷設定を暫定事前印刷設定として決定するステップと、
    前記暫定事前印刷設定を反映した暫定事前印刷データのデータサイズを概算するステップと、
    前記暫定事前印刷データの前記データサイズが前記空きリソース容量よりも大きくない場合に、前記暫定事前印刷設定を前記事前印刷設定として決定するステップと、
    前記暫定事前印刷データの前記データサイズが前記空きリソース容量よりも大きい場合に、前記使用頻度の高さに応じた前記印刷設定のうち、前記印刷履歴データから特定される印刷される可能性の高さに応じたページのみを印刷する印刷設定を前記事前印刷設定として決定するステップとを含み、
    前記印刷履歴データは、ユーザID及び印刷設定を含み、かつ、前記プリンタの記憶部に格納されており、
    前記空きリソース容量は、前記記憶部の空き容量及び前記コンピュータと前記プリンタとを通信可能に接続する通信インタフェースの空き容量の少なくとも一つを含む、請求項11に記載のプログラム。
JP2019168671A 2019-09-17 2019-09-17 印刷制御装置及びプログラム Pending JP2021045861A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019168671A JP2021045861A (ja) 2019-09-17 2019-09-17 印刷制御装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019168671A JP2021045861A (ja) 2019-09-17 2019-09-17 印刷制御装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2021045861A true JP2021045861A (ja) 2021-03-25

Family

ID=74877332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019168671A Pending JP2021045861A (ja) 2019-09-17 2019-09-17 印刷制御装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2021045861A (ja)

Similar Documents

Publication Publication Date Title
JP2011186725A (ja) プリンタードライバー、印刷制御装置、プリンター検索プログラム
JP5538919B2 (ja) 印刷制御装置、印刷制御方法、及びプログラム
JP4926622B2 (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
KR20060010182A (ko) 다이렉트 이미지 처리 방법 및 장치
JP2009199419A (ja) コンピュータ、印刷制御プログラム及び印刷制御装置
US20120011435A1 (en) Display apparatus and display method
JP6067039B2 (ja) 印刷に要する時間の予測値を求める画像処理装置、画像処理方法およびそのプログラム
JP5387360B2 (ja) 情報処理方法、そのプログラム及び情報処理装置
JP2010211251A (ja) 画像形成システム、情報処理装置、プリントサーバ、画像形成装置、画像形成補助プログラム、および印字制御方法
JP2021045861A (ja) 印刷制御装置及びプログラム
JP5152243B2 (ja) 印刷プログラム、印刷制御装置、及び印刷設定情報のデータ構造
JP6773139B2 (ja) サーバー装置及び情報処理システム
JP2010250393A (ja) 情報処理装置、及び、情報処理方法
JP2011028502A (ja) プラグインソフトウェア
JP2007152898A (ja) 印刷処理装置
JP2010218325A (ja) 印刷制御装置および印刷システム
US20200341710A1 (en) Job transmission device, job processing device, program, and job transmission method performed by job transmission device
JP2009122745A (ja) 印刷指示装置、印刷システム、及びプログラム
KR100645437B1 (ko) 메타파일 스풀링시작과 거의 동시에 인쇄데이터를생성시작하는 인쇄데이터 생성방법
JP5958073B2 (ja) 印刷システム
JP4325062B2 (ja) 印刷システム及び該印刷システムにおける印刷装置とドライバソフトとの組合せ選択方法
KR100485790B1 (ko) 프린터에 저장된 인쇄데이터를 디스플레이하는 인쇄시스템및 그 제어방법
JP4957576B2 (ja) 印刷装置制御方法、そのプログラム及び印刷制御装置
JP5240315B2 (ja) 画像形成システム、情報処理装置、画像形成補助プログラム、および印字制御方法
JP2005100350A (ja) 印刷システムおよび印刷プログラム、印刷方法、並びにプリンタ