JP4748246B2 - プログラム、およびコンピュータ - Google Patents

プログラム、およびコンピュータ Download PDF

Info

Publication number
JP4748246B2
JP4748246B2 JP2009103882A JP2009103882A JP4748246B2 JP 4748246 B2 JP4748246 B2 JP 4748246B2 JP 2009103882 A JP2009103882 A JP 2009103882A JP 2009103882 A JP2009103882 A JP 2009103882A JP 4748246 B2 JP4748246 B2 JP 4748246B2
Authority
JP
Japan
Prior art keywords
print
printer driver
unit
printing
processing
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.)
Active
Application number
JP2009103882A
Other languages
English (en)
Other versions
JP2010257040A (ja
Inventor
優治 宮田
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009103882A priority Critical patent/JP4748246B2/ja
Priority to US12/748,111 priority patent/US8917411B2/en
Publication of JP2010257040A publication Critical patent/JP2010257040A/ja
Application granted granted Critical
Publication of JP4748246B2 publication Critical patent/JP4748246B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、印刷に関連する制御を行うプリンタドライバ部としてコンピュータを機能させるプログラムと、プリンタドライバ部を備えたコンピュータに関する。
従来、OS(Operating System)やアプリケーションが有するUI(User Interface)を利用してユーザが印刷中止指示を入力した際に、その印刷中止指示をプリンタドライバに伝えて、プリンタドライバにおいて印刷中止に対応した処理を実行する技術が知られている(例えば、特許文献1参照)。この事例は、OSやアプリケーションが先に印刷の中止を認識し、それをプリンタドライバへと伝達する事例である。
一方、従来、プリンタドライバが先に印刷の中止を認識し、それをOSやアプリケーションへ伝達する事例も存在する(例えば、特許文献2参照)。特許文献2に記載の技術の場合、解像度との関係で過剰に小さい文字が潰れてしまうおそれがある場合に、そのことをプリンタドライバが判断して印刷を中止する。
このようにプリンタドライバが印刷を中止する事例としては、上記事例の他にも、例えば、所定の期間内に印刷可能な枚数がユーザ毎に決められているプリンタにおいて、印刷可能な上限枚数を超えたとプリンタドライバが判断した場合に以降の印刷を中止する、といったものがある。
あるいは、例えば、プリンタドライバが自らのUIとして印刷プレビューを表示する画面を有するものにおいて、プレビューを見たユーザが印刷をキャンセル操作を行った場合に印刷を中止する、といったものもある。
特開2004−216693号公報 特開2003−150339号公報
ところで、上記特許文献2に記載の技術のように、プリンタドライバ側の都合で印刷を中止した際、印刷を中止した旨をアプリケーションに伝達すると、アプリケーションが予期しない挙動を示すことがあった。
具体例を挙げて説明すると、例えば、印刷を中止した旨をプリンタドライバからアプリケーションに伝達すると、アプリケーションによっては、致命的なエラーが発生した旨を表示するなど、ユーザに対して過度の不安を与えるような挙動を示すことがあった。
また、別の例としては、例えば、印刷を中止した旨をプリンタドライバからアプリケーションに伝達すると、アプリケーションによっては、プリンタドライバに対して再印刷の命令を出すこともあった。このような場合に、プリンタドライバが印刷中止の伝達を繰り返しても、アプリケーションが再印刷命令を繰り返すだけであれば、いつまでたっても印刷中止を達成できない状況に陥るおそれがあった。
ここで、アプリケーションによるエラーメッセージの出力や再印刷命令の発行を回避する方法としては、プリンタドライバ側の都合で印刷中止を行う場合に、アプリケーションに対しては印刷を中止した旨の情報を伝えない、という方法もある。このようにすれば、アプリケーションは、プリンタドライバ側の都合で印刷が中止されたとしても、そのことを認識しないまま通常の印刷処理と同様に印刷関連命令の発行を続ける。したがって、プリンタドライバは、アプリケーションからの命令を受け取るだけにとどめて、それらの命令に対応した印刷データの出力を実行しないようにし、これにより、アプリケーションによるエラーメッセージの出力や再印刷命令の発行を回避しながら、印刷の中止を達成することができる。
しかしながら、上記のような方法を採用すると、アプリケーションからプリンタドライバへ伝達される印刷関連の命令が、最初の命令から最後の命令まですべて伝達されることになるため、それらすべての命令を伝達するのに相応の時間を要し、印刷中止にかかる時間が長くなってしまうという問題があった。
本発明は、上記問題を解決するためになされたものであり、その目的は、印刷を中止する旨をアプリケーション部に伝達することなく印刷を中止可能で、しかも、印刷中止にかかる時間を短縮可能なプリンタドライバ部としてコンピュータを機能させるプログラムと、そのようなプリンタドライバ部を備えたコンピュータを提供することにある。
以下、本発明において採用した構成について説明する。
請求項1に記載のプログラムは、アプリケーションプログラムに基づく処理を実行するアプリケーション部と、印刷データを印刷装置へと出力可能なプリンタドライバ部と、前記アプリケーション部と前記プリンタドライバ部との間で印刷関連の命令および情報を伝達するインターフェース部とを備え、前記アプリケーション部から印刷関連の命令が発行された際に、前記インターフェース部では、前記プリンタドライバ部から伝達された印刷設定に応じた前処理を実行してから前記印刷関連の命令を前記プリンタドライバ部へと伝達し、前記プリンタドライバ部では、前記印刷設定に応じた後処理を実行して前記印刷データを完成させ、その印刷データを前記印刷装置へと出力するコンピュータにおいて、前記コンピュータを前記プリンタドライバ部として機能させるためのプログラムであって、あらかじめ定められた印刷中止条件が成立したか否かを判断する判断手段と、前記判断手段によって前記印刷中止条件が成立したと判断された場合に、前記インターフェース部での前処理、および前記プリンタドライバ部での後処理のうち、少なくとも一方の処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する印刷設定変更手段と、前記判断手段によって前記印刷中止条件が成立していないと判断された場合には、前記印刷データの出力を実行する一方、前記判断手段によって前記印刷中止条件が成立したと判断された場合には、前記印刷データの出力を実行しない出力制御手段とを備えた前記プリンタドライバ部として、前記コンピュータを機能させるためのプログラムである。
このように構成されたプログラムによってプリンタドライバ部を機能させれば、印刷中止条件が成立した場合に、インターフェース部での前処理、およびプリンタドライバ部での後処理のうち、少なくとも一方の処理の一部または全部が、実行されない状態または短時間で完了する状態になり、且つ、印刷データの出力が実行されない状態となる。
したがって、アプリケーション部に印刷の中止を伝達しないまま、アプリケーション部から印刷関連の命令を受け取るにもかかわらず、印刷を中止するための処理に要する時間を短縮することができ、アプリケーション部が予期しない挙動を示さないようにすることができる。
請求項2に記載のプログラムは、請求項1に記載のプログラムにおいて、前記印刷設定変更手段は、前記インターフェース部から前記印刷関連の命令として初期化命令が伝達された場合に、前記インターフェース部での前処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する手段であることを特徴とする。
このように構成されたプログラムによってプリンタドライバ部を機能させれば、インターフェース部から初期化命令が伝達された場合に、インターフェース部での前処理において参照される印刷設定を変更でき、以降は、インターフェース部での前処理に要する時間を短縮できる。
請求項3に記載のプログラムは、請求項1または請求項2に記載のプログラムにおいて、前記印刷設定変更手段は、前記インターフェース部から前記印刷関連の命令として初期化命令が伝達された場合に、前記プリンタドライバ部での後処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する手段であることを特徴とする。
このように構成されたプログラムによってプリンタドライバ部を機能させれば、インターフェース部から初期化命令が伝達された場合に、プリンタドライバ部での後処理において参照される印刷設定を変更でき、以降は、プリンタドライバ部での後処理に要する時間を短縮できる。
請求項4に記載のプログラムは、請求項1〜請求項3のいずれかに記載のプログラムにおいて、前記印刷設定変更手段は、前記インターフェース部から前記印刷関連の命令としてページ開始命令が伝達された場合に、前記プリンタドライバ部での後処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する手段であることを特徴とする。
このように構成されたプログラムによってプリンタドライバ部を機能させれば、インターフェース部からページ開始命令が伝達された場合に、プリンタドライバ部での後処理において参照される印刷設定を変更でき、以降は、プリンタドライバ部での後処理に要する時間を短縮できる。
請求項5に記載のプログラムは、請求項1〜請求項4のいずれかに記載のプログラムにおいて、前記判断手段によって前記印刷中止条件が成立したと判断された場合に、印刷を中止する旨を利用者に対して通知する通知手段を備えた前記プリンタドライバ部として、前記コンピュータを機能させることを特徴とする。
このように構成されたプログラムによってプリンタドライバ部を機能させれば、印刷を中止する場合には、その旨が利用者に対して通知されるので、利用者は、印刷が通常通り終了したのか中止されたのかを察知できる。
請求項6に記載のコンピュータは、アプリケーションプログラムに基づく処理を実行するアプリケーション部と、印刷データを前記印刷装置へと出力可能なプリンタドライバ部と、前記アプリケーション部と前記プリンタドライバ部との間で印刷関連の命令および情報を伝達するインターフェース部とを備え、前記アプリケーション部から印刷関連の命令が発行された際に、前記インターフェース部では、前記プリンタドライバ部から伝達された印刷設定に応じた前処理を実行してから前記印刷関連の命令を前記プリンタドライバ部へと伝達し、前記プリンタドライバ部では、前記印刷設定に応じた後処理を実行して前記印刷データを完成させ、その印刷データを前記印刷装置へと出力するコンピュータであって、前記プリンタドライバ部は、あらかじめ定められた印刷中止条件が成立したか否かを判断する判断手段と、前記判断手段によって前記印刷中止条件が成立したと判断された場合に、前記インターフェース部での前処理、および前記プリンタドライバ部での後処理のうち、少なくとも一方の処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する印刷設定変更手段と、前記判断手段によって前記印刷中止条件が成立していないと判断された場合には、前記印刷データの出力を実行する一方、前記判断手段によって前記印刷中止条件が成立したと判断された場合には、前記印刷データの出力を実行しない出力制御手段とを備えることを特徴とする。
このように構成されたコンピュータによれば、印刷中止条件が成立した場合に、インターフェース部での前処理、およびプリンタドライバ部での後処理のうち、少なくとも一方の処理の一部または全部が、実行されない状態または短時間で完了する状態になり、且つ、印刷データの出力が実行されない状態となる。
したがって、アプリケーション部に印刷の中止を伝達しないまま、アプリケーション部から印刷関連の命令を受け取るにもかかわらず、印刷を中止するための処理に要する時間を短縮することができ、アプリケーション部が予期しない挙動を示さないようにすることができる。
本発明のコンピュータの一例に相当するPCと、このPCに接続されたプリンタとで構成されたシステムのブロック図。 (a)はPCが備える印刷処理関連のソフトウェアを示すブロック図、(b)はアプリケーションが表示する印刷設定画面の説明図。 印刷処理を示すフローチャート。 初期処理を示すフローチャート。 ページ処理を示すフローチャート。 中断メッセージを示す説明図。 (a)はアプリケーションが印刷する文書の具体例を示す説明図、(b)はプリンタドライバへ伝達される印刷関連の命令の具体例を示す説明図。 (a)は利用者が設定した印刷設定を示す説明図、(b)は印刷中止時にプリンタドライバによって変更された印刷設定を示す説明図、(c)は3ページ目以降の印刷中止時に出力される印刷データを示す説明図。
次に、本発明の実施形態について一例を挙げて説明する。
[ハードウェアの構成]
図1は、パーソナルコンピュータ1(以下、PC1という)と、このPC1に接続されたプリンタ2とを備えたシステムの概略構成を示すブロック図である。このシステム内に含まれるPC1は、本発明でいうコンピュータに相当し、プリンタ2は、本発明でいう印刷装置に相当する。
このシステムの内、PC1は、図1に示すように、CPU11、ROM12、RAM13、NVRAM14、HDD15(ハードディスク装置15)、操作部16、表示部17、および通信インターフェース18などを備えている。
CPU11は、ROM12やRAM13に記憶されたプログラムに従って、PC1各部に対する制御および各種演算を実行する装置で、後述するアプリケーション31,GDI33,およびプリンタドライバ35としての処理や、その他、OSとしての処理などは、このCPU11によって実行される。
ROM12は、PC1の電源スイッチを切っても記憶内容を保持可能な記憶装置で、BIOS(Basic Input Output System)や通常であれば更新されない読み出し用のデータ等を記憶している。
RAM13は、CPU11から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM13には、OSやアプリケーション31などのソフトウェアがHDD15から読み込まれ、また、CPU11による各種演算の結果やHDD15から読み込まれたデータもRAM13に記憶されるようになっている。後述するプリンタドライバ35としての処理を実行する際には、プリンタドライバ35のプログラムがHDD15からRAM13に読み込まれ、RAM13に記憶されたプログラムに従って、CPU11がプリンタドライバとしての処理を実行することになる。
NVRAM(Non Volatile RAM)14は、PC1の電源スイッチを切っても記憶内容を保持可能、且つ、その記憶内容を更新可能な記憶装置で、利用者によって任意に変更され得る設定データや各種可変データを記憶している。
HDD15は、OS、各種アプリケーションプログラム、および各種データファイルを保存しておくための装置で、上記アプリケーション31やプリンタドライバ35のプログラムもHDD15に保存されている。
操作部16は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。表示部17は、各種情報を利用者に提示するための出力装置であり、例えば、液晶ディスプレイ等によって構成される。
通信インターフェース18は、プリンタおよびその他の周辺機器を接続可能なシリアルインターフェース(例えば、USBインターフェース)、あるいは、LAN(Local Area Network)インターフェース等である。
プリンタ2は、CPU21、ROM22、RAM23、NVRAM24、印刷部25、操作部26、表示部27、通信インターフェース28などを備えている。
CPU21は、ROM22に記憶されている制御プログラムに従ってプリンタ2各部の制御および各種演算を実行する装置である。
ROM22は、プリンタ2の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。
RAM23は、CPU21から直接アクセスされるメインメモリ等として利用される記憶装置で、PC1から受信したデータを格納するためのバッファとして利用されている。また、CPU21が処理中に算出する各種データなども一時的にRAM23に記憶されるようになっている。
NVRAM24は、このプリンタ2に関する設定等、電力供給が断たれたときにも消失させたくないデータを記憶する記憶装置である。本実施形態の場合、プリンタ2には、1ヶ月に印刷可能な枚数の上限をユーザ毎に設定する機能があり、当月中に印刷可能な残りの枚数(以下、印刷可能残枚数ともいう。)は、このNVRAM24に記憶される仕組みになっている。
印刷部25は、インクジェット方式や電子写真方式の印刷機構により、シート状の媒体(例えば記録用紙)に対する印刷を実行可能に構成されている。
操作部26は、利用者がマニュアル操作でプリンタ2に対して指令を与える場合に操作するキー入力装置である。
表示部27は、液晶ディスプレイによって構成された装置で、プリンタ2の設定や状態などの情報を表示できるようになっている。
通信インターフェース28は、PC1側の通信インターフェース18と同じ規格に準拠したもので、PC1との間でデータ通信を実行可能に構成されている。
[PCが備えるソフトウェアの構成]
次に、PC1が備えるソフトウェアの構成について説明する。
本実施形態において、PC1には、マルチタスク機能を備えたOS(例えば、WindowsXP(登録商標))が搭載され、複数のプロセスが並列に機能するとともに、それら複数のプロセスが連携して各種処理を実行するようになっている。
後述する印刷関連の処理を実行するソフトウェアとしては、図2(a)に示すように、アプリケーション31、GDI(Graphics Device Interface)33、プリンタドライバ35などが機能する。
アプリケーション31は、例えばワープロソフトや表計算ソフトなどに代表されるもので、アプリケーション31において作成された文書の印刷を指示する操作が行われると、アプリケーション31は、印刷すべき文書に対応する印刷関連の命令(GDI用描画命令など)を生成し、その命令をGDI33に対して与える。
GDI33は、OSの一部として提供される描画関連の処理を実行するソフトウェアで、仮想化された描画領域であるデバイスコンテキストの管理や、このデバイスコンテキストへの描画に伴う表示用ないし印刷用データの作成などを実行する。
プリンタドライバ35は、アプリケーション31からGDI33経由で伝達される命令に従って、印刷データを生成、出力するソフトウェアである。アプリケーション31は、印刷関連の命令をプリンタドライバ35に対して与えたい場合に、GDI33に対して指令を与えるための関数(API;Application Program Interface)を呼び出すことにより、GDI33経由でプリンタドライバ35へ命令を伝達する。また、GDI33は、印刷データを生成・出力する際には、プリンタドライバ35を利用するための関数(DDI;Device Driver Interface)を呼び出すことにより、プリンタドライバ35を利用して印刷データの生成・出力を実行する。
以上のようなソフトウェアのうち、アプリケーション31は、図2(b)に示すような印刷設定用のUIを有し、このUIを利用して設定された印刷設定の内容(アプリケーション側印刷設定)は、GDI33経由でプリンタドライバ35へと伝達される。図2(b)に例示した印刷設定用UIの場合、印刷設定として、用紙サイズ、用紙向き、解像度、およびウォーターマーク(例えば社外秘といった文字や記号を付加する機能)についての設定を、利用者が任意に指定できる。なお、このアプリケーション31の場合、複数ページある文書の途中で用紙向きを変えたり、ウォーターマークの有無をページ毎に設定したりすることもできる。
一方、プリンタドライバ35は、プリンタ2が有する機能や性能をプリンタ側印刷設定としてGDI33へ伝達する。具体例を交えて説明すれば、例えば、プリンタ2がモノクロプリンタである場合、その旨の情報がプリンタ側印刷設定としてGDI33へ伝達される。あるいは、例えば、プリンタ2の解像度などもプリンタ側印刷設定としてGDI33へ伝達される。このようなプリンタ2の印刷能力に関する情報は、GDI33経由でアプリケーション31に伝達することもできる。
ただし、アプリケーション31は、プリンタ2の印刷能力を特に考慮することなく印刷関連の命令を発行することができる。これも具体例を交えて説明すれば、例えば、プリンタ2がモノクロプリンタであっても、アプリケーション31は、カラー印刷用の命令をそのまま発行することができる。また、アプリケーション31は、プリンタ2の解像度を考慮することなく、GDI用描画命令を発行することができる。
これは、アプリケーション31が印刷関連の命令を発行した際に、GDI33は、上記プリンタ側印刷設定を考慮して、プリンタ2での印刷を実行可能な命令に変換した上で、その命令をプリンタドライバ35に伝達するからである。
すなわち、GDI33は、例えば、仮にアプリケーション31がカラー印刷に対応したGDI用描画命令をGDI33に対して発行したとしても、プリンタ2がモノクロプリンタであれば、プリンタ側印刷設定を考慮して、カラー印刷対応のGDI用描画命令をモノクロ印刷対応のプリンタドライバ用描画命令に変換してからプリンタドライバ35に伝達する。
また、アプリケーション31が解像度を特定することなくGDI用描画命令をGDI33に対して発行したとしても、GDI33においてプリンタ側印刷設定を考慮した解像度で描画処理が行われて、プリンタドライバ35において利用される。
こうした仕組みにより、アプリケーション31が要求する印刷能力とプリンタ2が有する印刷能力に差異があっても、その差異をGDI33において吸収してプリンタドライバ35へと伝達することができ、これにより、アプリケーション31およびプリンタドライバ35には過剰な負担がかからない仕組みになっている。
[プリンタドライバによる印刷処理の説明]
次に、上記PC1においてプリンタドライバ35(厳密には、PC1においてプリンタドライバに相当する処理を実行するCPU11;以下、単にプリンタドライバ35と称する。)によって実行される印刷処理の詳細について、図3〜図5のフローチャートに基づいて説明する。
なお、本実施形態では、プリンタ2が所定期間に印刷できる印刷枚数が予め決められており、プリンタ2は自身が印刷可能な印刷枚数(以下、印刷可能残枚数という)を管理している。プリンタドライバ35は、印刷処理を開始する場合に、プリンタ2で管理されている印刷可能残枚数を取得し、これから印刷する印刷枚数が印刷可能残枚数を超えると判断すると、印刷を中止する仕組みになっている。
この印刷処理は、アプリケーション31からの印刷要求に基づき、GDI33経由でプリンタドライバ35がコールされることによって開始される。印刷処理を開始すると、プリンタドライバ35は、まず、初期処理を実行する(S105)。このS105の初期処理は、詳しくは図4に示すような処理となる。
すなわち、図4に示す初期処理を開始すると、プリンタドライバ35は、まず、印刷開始命令が呼ばれたか否かを判断する(S205)。この印刷開始命令は、文書全体の印刷を開始するに当たって、最初にアプリケーション31から伝達される命令である。
S205において、印刷開始命令が呼ばれていない場合は(S205:NO)、S205へ戻ることにより、印刷開始命令が呼ばれるまで待機する状態になる。一方、S205において、印刷開始命令が呼ばれた場合(S205:YES)、プリンタドライバ35は、NVRAM24に記憶された印刷可能残枚数をプリンタ2から取得し(S210)、取得した値を変数iに代入する(S215)。
続いて、プリンタドライバ35は、変数iが0より大きいか否かを判断し(S220)、変数iが0より大きい場合は(S220:YES)、プリンタ2に対して印刷開始命令を出力する(S225)。
この印刷開始命令を出力した場合、プリンタドライバ35は、印刷開始命令出力フラグを真にし(S230)、印刷中止フラグを偽にして(S235)、図4に示す初期処理を終了する。なお、印刷開始命令出力フラグは、印刷開始命令の出力をした場合に真とされるフラグであり、印刷中止フラグは、プリンタドライバ35の判断で印刷を中止した場合に真とされるフラグである。
一方、S220において、変数iが0以下であった場合は(S220:NO)、すでに印刷可能残枚数が無い状態になっていることを意味し、この時点で全く印刷ができないことになる。そのため、プリンタドライバ35は、上述のような印刷開始命令も含めてプリンタ2に対しては何も出力せず、印刷開始命令出力フラグは偽とし(S240)、印刷中止フラグを真にして(S245)、図4に示す初期処理を終了する。
さて、以上のようにして図4に示す初期処理を終了すると、図3に示すS105を終えたことになるので、続いて、プリンタドライバ35は、初期化命令が呼ばれたか否かを判断する(S110)。この初期化命令は、文書の各ページの印刷を開始するに当たって、各ページの印刷設定に変更がある場合にアプリケーション31から伝達される命令である。
S110において、初期化命令が呼ばれていた場合(S110:YES)、プリンタドライバ35は、アプリケーション31から伝達される設定内容に従って印刷設定を初期化する(S115)。このS110により、図2(b)に例示した印刷設定用UIに含まれる各項目の内容が設定されることになる。
そして、プリンタドライバ35は、印刷中止フラグが真であるか否かを確認する(S120)。印刷中止フラグが真である場合は(S120:YES)、プリンタドライバ35の判断で印刷を中止する状況にあったということを意味するので、この場合は、GDI33の処理に影響する印刷設定を高速用に変更して(S125)、S110へと戻る。
より詳しく説明すると、印刷設定には、すでに説明したとおり、用紙サイズ、用紙向き、解像度、ウォーターマークなどの項目があるが、この中には、設定の変更内容がGDI33にも伝えられる項目が含まれている。しかも、GDI33に伝えられる項目の中には、GDI33での処理速度に影響を与える項目が含まれている。
具体的には、上記項目中、解像度は、GDI33に伝えられる項目であり、且つ、GDI33での処理速度に影響を与える項目に該当する。アプリケーション31からGDI33へ印刷関連の命令が伝えられた場合、その命令はGDI33で処理されて、プリンタドライバ35で処理可能な印刷命令に置き換えられた上でプリンタドライバ35へと送られる。
このとき、GDI33では、解像度が高い印刷設定になっている場合ほど、より細かい印刷命令に置き換えられる一方、解像度が低い印刷設定になっている場合は、大まかな印刷命令に置き換えられることがある。そのため、このような場合には、解像度が高ければ高いほど、GDI33での処理に時間がかかるということになる。
そこで、S125では、印刷設定を変更することでGDI33での内部処理が速くなる項目(上記事例では解像度)について、GDI33の処理が高速化されるような設定値に変更する処理を実行する。具体例を挙げれば、当初の印刷設定において解像度600DPIが利用者によって設定されていても、S125では、GDI33の処理が高速化されるように、解像度を300DPIに変更する、といった処理が行われる。
ちなみに、解像度をどの程度まで下げるかは、高速化される程度も考慮してあらかじめ決めておけばよい事項であり、上記事例のような300DPIという具体例が推奨値を意味するものではない。また、上記事例では、解像度を低下させる例を示したが、解像度以外の印刷設定を変更することでGDI33の処理が高速化されるのであれば、そのような項目は、すべてS125での変更対象になり得る項目となる。
なお、S120において、印刷中止フラグが偽である場合は(S120:NO)、その時点において、プリンタドライバ35の判断で印刷を中止する状況にはなかったということを意味するので、この場合は、S125を実行することなく、S110へと戻る。
さて、S110において、初期化命令が呼ばれていなかった場合(S110:NO)、プリンタドライバ35は、続いて、ページ開始命令が呼ばれたか否かを判断する(S130)。このページ開始命令は、文書の各ページの印刷を開始する際にアプリケーション31から伝達される命令である。
S130においてページ開始命令が呼ばれていた場合(S130:YES)、プリンタドライバ35は、ページ処理を実行する(S135)。このS135のページ処理は、詳しくは図5に示すような処理となる。
すなわち、図5に示すページ処理を開始すると、プリンタドライバ35は、まず、印刷中止フラグが真であるか否かを確認する(S305)。このS305において、印刷中止フラグが真である場合は(S305:YES)、プリンタドライバ35の判断で印刷を中止する状況にあったということを意味するので、この場合は、プリンタドライバ35の内部処理に影響する印刷設定を高速用に変更する(S310)。
より詳しく説明すると、印刷設定には、すでに説明した解像度のように、GDI33での処理速度に影響を与える項目が含まれているが、さらに、プリンタドライバ35の内部処理の処理速度に影響を与える項目も含まれている。
具体的には、上記項目中、ウォーターマークは、プリンタドライバ35の内部処理によって付加されるものであるため、ウォーターマークありの場合はプリンタドライバ35の内部処理に時間を要することになり、ウォーターマークなしの場合はプリンタドライバ35の内部処理に要する時間を短縮することができる。
そこで、S310では、印刷設定を変更することでプリンタドライバ35の内部処理が速くなる項目(上記事例ではウォーターマーク)について、プリンタドライバ35の内部処理が高速化されるような設定値に変更する処理を実行する。具体例を挙げれば、当初の印刷設定においてウォーターマークありが利用者によって設定されていても、S310では、プリンタドライバ35の内部処理が高速化されるように、ウォーターマークなしの設定に変更する、といった処理が行われる。
ちなみに、上記事例では、ウォーターマークの有無を変更する例を示したが、ウォーターマーク以外の印刷設定を変更することでプリンタドライバ35の内部処理が高速化されるのであれば、そのような項目は、すべてS310での変更対象になり得る項目となる。
なお、S305において、印刷中止フラグが偽である場合は(S305:NO)、その時点において、プリンタドライバ35の判断で印刷を中止する状況にはなかったということを意味するので、この場合は、S310を実行することなく、S315へと進む。また、S310を終えた場合も、S315へと進む。
さて、S315へと進んだ場合、プリンタドライバ35は、描画命令が呼ばれたか否かを判断する(S315)。この描画命令は、文書の各ページ内に文字や図形等を描画する際にアプリケーション31から伝達される命令である。
S315において、描画命令が呼ばれた場合は(S315:YES)、印刷中止フラグが真であるか否かを判断する(S320)。印刷中止フラグが偽である場合は(S320:NO)、プリンタドライバ35の判断で印刷を中止する状況にはなかったということを意味するので、この場合は、描画命令に対応する描画処理を実行して(S325)、S315へと戻る。これにより、描画命令がアプリケーション31から伝達される間は、S315〜S325が繰り返される状態となって、1ページ内の描画が進められることになる。
一方、S320において、印刷中止フラグが真である場合は(S320:YES)、プリンタドライバ35の判断で印刷を中止する状況にあったということを意味するので、この場合は、S325を実行することなく、S315へと戻る。この場合、描画命令がアプリケーション31から伝達される間は、S315〜S320が繰り返される状態となるが、S325は実行されないの、実際に描画処理がなされることはない。
さて、S315においては、描画命令が呼ばれない場合もあり(S315:NO)、その場合、プリンタドライバ35は、ページ終了命令が呼ばれたか否かを判断する(S330)。このページ終了命令は、文書の各ページの印刷を終了する際にアプリケーション31から伝達される命令である。
S330において、ページ終了命令が呼ばれていない場合は(S330:NO)、S315へと戻ることにより、再び別の命令が到来するのを待つ状態になる。一方、S330において、ページ終了命令が呼ばれていた場合(S330:YES)、プリンタドライバ35は、ウォーターマーク設定がONか否かを判断する(S335)。
S335において、ウォーターマーク設定がONの場合は(S335:YES)、ウォーターマークを付加する処理を実行して(S340)、S345へと進む。一方、S335において、ウォーターマーク設定がOFFの場合は(S335:NO)、S340を実行することなく、S345へと進む。
S340が実行された場合は、ウォーターマークを付加する処理のため、プリンタドライバ35の内部処理に相応の時間を要することになる。しかし、利用者がウォーターマーク設定をONにしていた場合でも、S310が実行されている場合は、S310においてウォーターマーク設定がOFFにされる。そのため、S340が実行されることはなく、その分だけプリンタドライバ35の内部処理に要する時間は短縮されることになる。
さて、S345へと進んだら、プリンタドライバ35は、印刷中止フラグが真であるか否かを判断する(S345)。S345において、印刷中止フラグが偽である場合は(S345:NO)、プリンタドライバ35の判断で印刷を中止する状況にはなかったということを意味するので、この場合は、描画結果をプリンタ2へ出力する(S350)。
なお、S350では、一般的なプリンタドライバ同様、描画領域に描画された画像に対して、所定の色成分(例えば、CMYK)からなるカラーイメージデータに変換する色変換処理を行う。そして、その変換されたカラーイメージデータに基づいて2値カラーイメージデータを生成する2値化処理を行い、各プレーンデータを所定の解像度に圧縮する。
その上で、圧縮したデータに各種制御コマンドを付加して、プリンタ2に適合するページ記述言語(PDL:Page Description Language)を作成し、この作成した1ページ分のPDLデータをプリンタ2に送信する。以上の処理により、1ページ分のPDLデータがスプーラシステムに出力され、スプーラシステムでの処理によってPDLデータがプリンタ2に出力されることになる。
このようにして描画結果をプリンタ2へ出力したら、プリンタドライバ35は、変数iを1減らして(S355)、変数iが0より大きいか否かを判断する(S360)。S360において、変数iが0以下であった場合は(S360:NO)、S355の演算の結果、印刷可能残枚数が無い状態に至ったことを意味するので、その場合は、印刷中止フラグを真にして(S365)、図5に示すページ処理を終了する。
また、S360において、変数iが0より大きい場合は(S360:YES)、S355の演算の結果、印刷可能残枚数がまだあることを意味するので、その場合は、S365を実行することなく、図5に示すページ処理を終了する。
一方、S345において、印刷中止フラグが真である場合は(S345:YES)、プリンタドライバ35の判断で印刷を中止する状況にあったということを意味するので、この場合は、S350〜S365を実行することなく、図5に示すページ処理を終了する。
以上のようにして図5に示すページ処理を終了すると、図3に示すS135を終えたことになるので、この場合は、S110へと戻る。
さて一方、S130においてページ開始命令が呼ばれなかった場合(S130:NO)、プリンタドライバ35は、印刷終了命令が呼ばれたか否かを判断する(S140)。この印刷終了命令は、文書全体の印刷を終了する場合にアプリケーション31から伝達される命令である。
S140において、印刷終了命令が呼ばれていない場合は(S140:NO)、S110へと戻ることにより、再び別の命令が到来するのを待つ状態になる。一方、S140において、印刷終了命令が呼ばれていた場合(S140:YES)、プリンタドライバ35は、印刷開始命令出力フラグが真であるか否かを確認する(S145)。この印刷開始命令出力フラグは、S230において真がセットされる一方、S240において偽がセットされるフラグである。
したがって、S145において、印刷開始命令出力フラグが真である場合は(S145:YES)、プリンタ2に対して印刷開始命令を出力済みなので、この印刷開始命令と対になる印刷終了命令を出力して(S150)、S155へと進む。一方、S145において、印刷開始命令出力フラグが偽である場合は(S145:NO)、プリンタ2に対して印刷開始命令を未出力なので、S150を実行することなく、S155へと進む。
こうしてS155へ進むと、プリンタドライバ35は、印刷中止フラグが真であるか否かを確認する(S155)。このS155において、印刷中止フラグが真である場合は(S155:YES)、プリンタドライバ35の判断で印刷を中止する状況にあったということを意味するので、この場合は、中止メッセージを表示して(S160)、図3に示す印刷処理を終了する。このS160により、PC1の表示部17には、図6に示すような中止メッセージが表示され、これにより、利用者は印刷が中止された旨を認識することができる。
一方、S155において、印刷中止フラグが偽である場合は(S155:NO)、プリンタドライバ35の判断で印刷を中止する状況にはなかったということを意味するので、この場合はS160を実行することなく図3に示す印刷処理を終了する。
[印刷中止制御がなされる場合の具体的事例]
次に、上記のようなプリンタドライバ35が機能して印刷中止制御がなされる場合の挙動について、具体的な例を挙げて説明する。
以下に説明する例では、図7(a)に示すような5ページの文書の印刷を指令する場合を例に挙げて説明を行う。この文書は、1〜3ページ目は用紙向きが縦向き、4〜5ページ目は用紙向きが横向きに設定された文書であり、この印刷設定は、図2(b)に例示した印刷設定用UIを利用してアプリケーション31側で実施されているものである。
また、プリンタ2に記憶されている印刷可能残枚数は、2となっている事例を想定する。すなわち、図7(a)に示すような5ページの文書の印刷を指令するものの、印刷可能残枚数は2となっているため、2ページ目までは印刷され、3ページ目以降は、プリンタドライバ35が印刷不可と判断して、印刷中止制御が行われるケースを想定して、以下の説明を行う。
上記のような文書の印刷が利用者によって指令された場合、アプリケーション31は、GDI33経由でプリンタドライバ35に対して印刷関連の命令を伝達する。このときプリンタドライバ35に伝達される命令は、図7(b)に示すような命令群となる。
具体的には、プリンタドライバ35には、まず、印刷開始命令が伝達され、続いて、初期化命令が伝達される。この初期化命令の中には、図2(b)に例示した印刷設定用UIにおいて設定された各項目の内容が含まれ、例えば、この段階では、用紙向きを縦向きとする旨の情報が含まれている。
続いて、プリンタドライバ35には、各ページに対応する命令として、ページ開始命令、いくつかの描画命令、およびページ終了命令が伝達される。描画命令の数や種別は、各ページの描画内容に応じて変わる。また、本実施形態の場合、1〜3ページ目に対応する命令群が伝達された後、4ページ目に対応する命令群が伝達される前に、あらためて初期化命令が伝達される。この初期化命令の中には、用紙向きを横向きとする旨の情報が含まれており、これにより、4ページ目以降の用紙向きが横向きとされることになる。
このように4ページ目以降は、印刷設定が変更されるため、1〜3ページ目と4〜5ページ目とでは、図8(a)に示すような印刷設定が、アプリケーション31から指示されることになる。そして、5ページ目に対応する命令群が伝達された後、最後に印刷終了命令が伝達されて、プリンタドライバ35に対する命令の伝達が完了する。
以上のような命令群がプリンタドライバ35に伝達されると、通常であれば、プリンタドライバ35は上記5ページの文書に対応する印刷データを生成、出力することになる。ただし、すでに説明した通り、この事例では、上記5ページの文書の印刷を開始する際に、印刷可能残枚数が残り2枚となっていて、3ページ目以降を印刷できない状況を想定している。
そのため、3ページ目以降に対応する命令群がアプリケーション31からプリンタドライバ35へ伝達されると、プリンタドライバ35では、上述した印刷処理の中で印刷設定を変更することになり、各ページの印刷設定が図8(b)に示すような内容に変更される(図中斜線を付した箇所が設定変更箇所)。また、3ページ目以降について、プリンタドライバ35は、印刷データの生成、出力も実行しないので、プリンタ2での印刷もなされない状態になる。
このようにプリンタドライバ35が印刷設定を変更する場合、プリンタドライバ35は、2段階のタイミングに分けて印刷設定の変更を行う。具体的には、この事例の場合、2ページ目の印刷データを出力した時点で印刷可能残枚数が0になるので、これ以降の印刷がなされなくなる。
そこで、第1段階として、3ページ目に対応する命令群を処理するときには、上述のS305で肯定判断がなされて、S310でプリンタドライバ35の内部処理に影響する印刷設定が高速用に変更される。その結果、本実施形態の場合であれば、3ページ目以降について、ウォーターマークの設定がOFFに変更されることになる。
次に、第2段階として、4ページ目に対応する命令群を処理する前には、元々印刷設定が変更(用紙向きが縦向きから横向きに変更)される状況にあり、4ページ目のページ処理の前には初期化命令が呼ばれるため、S110で肯定判断がなされ、またS120でも肯定判断がなされ、S125でGDI33の処理に影響する印刷設定が高速用に変更される。その結果、本実施形態の場合であれば、4ページ目以降について、解像度が300DPIに変更されることになる。
このように2段階に分けて印刷設定の変更を行うのは、プリンタドライバ35の内部処理に影響する印刷設定は、プリンタドライバ35が内部的に実施する設定変更なので、プリンタドライバ35が所望のタイミングで実施できるのに対し、GDI33の処理に影響する印刷設定は、初期化命令が呼ばれたタイミングでしか、設定変更ができないためである。
ただし、このように段階的に印刷設定を変更しても、プリンタドライバ35では、3ページ目に対応する命令群を処理する段階では、利用者がウォーターマークの設定をONにしていたにもかかわらず、ウォーターマークを描画する処理から解放されるので、その分だけ処理が迅速に完了することになる。
また、4ページ目以降に対応する命令群を処理する段階では、GDI33が300DPIでの描画に必要な命令群を伝達する状態になるので、600DPIでの描画に必要な命令群を伝達していた状態よりも、GDI33の内部処理が迅速に完了することになる。
したがって、単に印刷データの生成、出力を見合わせるだけで、こうした印刷設定の変更がなされない技術に比べれば、アプリケーション31からの命令群の伝達完了までに要する時間とプリンタドライバ35の内部処理に要する時間、双方が短縮されることになるのである。
なお、以上のような印刷中止制御が行われる場合でも、印刷開始命令出力フラグが真となっていれば、S145では肯定判断がなされ、S150では印刷終了命令が出力される。その結果、プリンタドライバ35では、図8(c)に示すような、2ページ分の印刷データが生成され、プリンタ2に対して出力されることになる。
[効果]
以上説明した通り、上記プリンタドライバ35によれば、印刷中止条件が成立した場合に、S125により、GDI33(本発明でいうインターフェース部に相当。)での前処理が、より短時間で完了する状態(上記実施形態の場合、解像度600DPI対応の処理が、より迅速に処理が完了する解像度300DPI対応の処理で代替された状態)になる。また、S310により、プリンタドライバ35(本発明でいうプリンタドライバ部に相当。)での後処理が、実行されない状態(上記実施形態の場合、ウォーターマークを描画しない状態)になる。
したがって、アプリケーション31(本発明でいうアプリケーション部に相当。)に印刷の中止を伝達しないまま、アプリケーション31から印刷関連の命令を受け取るにもかかわらず、印刷を中止するための処理に要する時間を短縮することができる。また、アプリケーション31に印刷の中止を伝達しないことにより、アプリケーション31が予期しない挙動を示さないようにすることができる。
また、このような機能を実現するに当たって、プリンタドライバ35は、GDI33から初期化命令が伝達された機会を利用して、GDI33での前処理において参照される印刷設定を変更しているので、GDI33に特別なインターフェースを追加しなくても、上記のようなGDI33での前処理の高速化を実現できる。
さらに、プリンタドライバ35は、GDIからページ開始命令が伝達された段階で、プリンタドライバ35での後処理が実行されない設定内容に印刷設定を変更しているので、GDI33での前処理において参照される印刷設定を変更できない状況でも、プリンタドライバ35での後処理に要する時間を、先行して短縮することができ、これにより、印刷中止に要する時間の短縮に寄与することができる。
加えて、プリンタドライバ35は、印刷を中止する場合には、S160により、印刷を中止する旨を利用者に対して通知しているので、利用者は、中止メッセージを見て印刷が通常通り終了したのか中止されたのかを察知できる。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態においては、GDI33での処理が迅速化され得る印刷設定として、解像度を高解像度(600DPI)から低解像度(300DPI)に変更する例を示したが、この解像度の絶対値は任意であり、さらなる処理の高速化に寄与するのであれば、例えば100DPI,150DPI等、上記実施形態とは異なる解像度に変更してもよい。
また、GDI33での処理が迅速化され得る印刷設定として、解像度以外の設定を変更してもよい。一例を挙げれば、色モード(フルカラー、モノクロ)の変更をしてもよく、この場合、フルカラーよりもモノクロの方が伝達すべき情報量が少なくなるので、GDI33での処理が迅速化されることになる。
さらに、プリンタドライバ35の内部処理に関しても、ウォーターマークの描画を見合わせることで迅速化を図る事例を示したが、これもウォーターマーク以外のものについて、いくつかの処理を実行しない構成にしてもよい。
具体的には、ヘッダー/フッターを付加する処理、色変換を行う処理、コレート処理などは、印刷中止に伴って不要となる処理なので、これらの処理を実行しない印刷設定(または、ある程度の処理を実行するとしても、より短時間で処理が完了する印刷設定)に変更することで、プリンタドライバ35の内部処理を迅速に完了させることが可能となる。
また、上記実施形態において、プリンタドライバ35は、GDI33から初期化命令が伝達されたタイミングで、GDI33での前処理において参照される印刷設定だけを変更していたが、このタイミングで、プリンタドライバ35での後処理が実行されない設定内容に印刷設定を変更してもよい。具体的には、S310相当の処理をS125とともに実行するようにしてもよい。
加えて、上記実施形態では、印刷可能残枚数が0になったときにプリンタドライバ35の判断で印刷を中止する事例を示したが、他の判定条件に基づいてプリンタドライバ35が印刷の中止を判断する場合でも、本発明の構成を採用することができる。
例えば、プリンタドライバ35が自らのUIとして印刷プレビューを表示する画面を有する場合、プレビューを見たユーザが印刷をキャンセル操作を行った場合に、プリンタドライバ35の判断で印刷を中止する、といった構成を採用してもよい。
あるいは、プリンタドライバ35が、PC−FAX機能に対応し、自らのUIとしてFAX番号入力画面を有する場合、その入力画面でユーザがFAX送信のキャンセル操作を行った場合に、プリンタドライバ35の判断でFAX送信を中止する、といった構成を採用してもよい。すなわち、本発明でいう印刷装置は、PCからプリンタデバイスとして認識し得るデバイス全般を含むものであり、単機能のプリンタはもちろんのこと、例えば、ファクシミリ装置、MFP(Multifunction Peripheral)なども、本発明でいう印刷装置の概念に含まれるものである。
また、プリンタドライバ35が、特定のキーワードや特定の画像に基づいて機密文書等の印刷が指示されたか否かを検出する機能を備えている場合には、機密文書等の印刷が指示された際に、プリンタドライバ35の判断で印刷を中止する、といった構成を採用してもよい。
ちなみに、上記のようにプリンタドライバ35の判断で印刷を中止する事例の中には、ユーザの指示に基づいてプリンタドライバ35が判断を行う事例、ユーザの指示がなくてもプリンタドライバ35が判断を行う事例、双方が存在するので、S160によって中止メッセージを表示する際には、いずれの事例に該当するのかを判断する処理ステップを追加し、ユーザの指示がなくてもプリンタドライバ35が判断を行う場合にのみ、中止メッセージを表示するように構成してもよい。このようにすれば、ユーザが明示的に指示をしているにもかかわらず、メッセージが出力されてしまうのを回避できるので、ユーザがメッセージダイアログを閉じる手間を省くことができる。
1・・・パーソナルコンピュータ、2・・・プリンタ、11,21・・・CPU、12,22・・・ROM、13,23・・・RAM、14,24・・・NVRAM、15・・・ハードディスク装置、16,26・・・操作部、17,27・・・表示部、18,28・・・通信インターフェース、25・・・印刷部、31・・・アプリケーション、33・・・GDI、35・・・プリンタドライバ。

Claims (6)

  1. アプリケーションプログラムに基づく処理を実行するアプリケーション部と、印刷データを印刷装置へと出力可能なプリンタドライバ部と、前記アプリケーション部と前記プリンタドライバ部との間で印刷関連の命令および情報を伝達するインターフェース部とを備え、前記アプリケーション部から印刷関連の命令が発行された際に、前記インターフェース部では、前記プリンタドライバ部から伝達された印刷設定に応じた前処理を実行してから前記印刷関連の命令を前記プリンタドライバ部へと伝達し、前記プリンタドライバ部では、前記印刷設定に応じた後処理を実行して前記印刷データを完成させ、その印刷データを前記印刷装置へと出力するコンピュータにおいて、前記コンピュータを前記プリンタドライバ部として機能させるためのプログラムであって、
    あらかじめ定められた印刷中止条件が成立したか否かを判断する判断手段と、
    前記判断手段によって前記印刷中止条件が成立したと判断された場合に、前記インターフェース部での前処理、および前記プリンタドライバ部での後処理のうち、少なくとも一方の処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する印刷設定変更手段と、
    前記判断手段によって前記印刷中止条件が成立していないと判断された場合には、前記印刷データの出力を実行する一方、前記判断手段によって前記印刷中止条件が成立したと判断された場合には、前記印刷データの出力を実行しない出力制御手段と
    を備えた前記プリンタドライバ部として、前記コンピュータを機能させるためのプログラム。
  2. 前記印刷設定変更手段は、前記インターフェース部から前記印刷関連の命令として初期化命令が伝達された場合に、前記インターフェース部での前処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する手段である
    ことを特徴とする請求項1に記載のプログラム。
  3. 前記印刷設定変更手段は、前記インターフェース部から前記印刷関連の命令として初期化命令が伝達された場合に、前記プリンタドライバ部での後処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する手段である
    ことを特徴とする請求項1または請求項2に記載のプログラム。
  4. 前記印刷設定変更手段は、前記インターフェース部から前記印刷関連の命令としてページ開始命令が伝達された場合に、前記プリンタドライバ部での後処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する手段である
    ことを特徴とする請求項1〜請求項3のいずれかに記載のプログラム。
  5. 前記判断手段によって前記印刷中止条件が成立したと判断された場合に、印刷を中止する旨を利用者に対して通知する通知手段
    を備えた前記プリンタドライバ部として、前記コンピュータを機能させることを特徴とする請求項1〜請求項4のいずれかに記載のプログラム。
  6. アプリケーションプログラムに基づく処理を実行するアプリケーション部と、印刷データを前記印刷装置へと出力可能なプリンタドライバ部と、前記アプリケーション部と前記プリンタドライバ部との間で印刷関連の命令および情報を伝達するインターフェース部とを備え、前記アプリケーション部から印刷関連の命令が発行された際に、前記インターフェース部では、前記プリンタドライバ部から伝達された印刷設定に応じた前処理を実行してから前記印刷関連の命令を前記プリンタドライバ部へと伝達し、前記プリンタドライバ部では、前記印刷設定に応じた後処理を実行して前記印刷データを完成させ、その印刷データを前記印刷装置へと出力するコンピュータであって、
    前記プリンタドライバ部は、
    あらかじめ定められた印刷中止条件が成立したか否かを判断する判断手段と、
    前記判断手段によって前記印刷中止条件が成立したと判断された場合に、前記インターフェース部での前処理、および前記プリンタドライバ部での後処理のうち、少なくとも一方の処理の一部または全部を対象として、当該対象となる処理が実行されない設定内容か、当該対象となる処理が元の設定内容よりも短時間で完了する設定内容に、前記印刷設定を変更する印刷設定変更手段と、
    前記判断手段によって前記印刷中止条件が成立していないと判断された場合には、前記印刷データの出力を実行する一方、前記判断手段によって前記印刷中止条件が成立したと判断された場合には、前記印刷データの出力を実行しない出力制御手段と
    を備えることを特徴とするコンピュータ。
JP2009103882A 2009-04-22 2009-04-22 プログラム、およびコンピュータ Active JP4748246B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009103882A JP4748246B2 (ja) 2009-04-22 2009-04-22 プログラム、およびコンピュータ
US12/748,111 US8917411B2 (en) 2009-04-22 2010-03-26 Computer connectable with a printer, computer-readable storage medium, and printing method with data generation time reduction capability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009103882A JP4748246B2 (ja) 2009-04-22 2009-04-22 プログラム、およびコンピュータ

Publications (2)

Publication Number Publication Date
JP2010257040A JP2010257040A (ja) 2010-11-11
JP4748246B2 true JP4748246B2 (ja) 2011-08-17

Family

ID=42991876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009103882A Active JP4748246B2 (ja) 2009-04-22 2009-04-22 プログラム、およびコンピュータ

Country Status (2)

Country Link
US (1) US8917411B2 (ja)
JP (1) JP4748246B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5229112B2 (ja) * 2009-05-28 2013-07-03 セイコーエプソン株式会社 コントローラーの制御方法およびコントローラー
JP6881194B2 (ja) 2017-09-28 2021-06-02 ブラザー工業株式会社 プリンタドライバおよび、情報処理装置
JP6939342B2 (ja) * 2017-09-28 2021-09-22 ブラザー工業株式会社 プリンタドライバおよび、情報処理装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3620633B2 (ja) * 1998-09-04 2005-02-16 セイコーエプソン株式会社 印刷データ送信装置及び印刷システム
US7006257B1 (en) * 1999-11-19 2006-02-28 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
JP3904054B2 (ja) * 2000-02-04 2007-04-11 セイコーエプソン株式会社 用紙排出プログラムを記録した媒体、データ識別プログラムを記録した媒体、用紙排出装置、データ識別装置、用紙排出方法およびデータ識別方法
JP3812278B2 (ja) * 2000-04-05 2006-08-23 セイコーエプソン株式会社 記録媒体およびコンピュータ
JP2001356896A (ja) * 2000-05-04 2001-12-26 Oce Technologies Bv ネットワーク化されたプリンタシステムにおける段階付けされたユーザ警告
JP2003150339A (ja) 2001-11-09 2003-05-23 Canon Inc プリンタドライバ及びその駆動方法
JP3925224B2 (ja) * 2002-02-07 2007-06-06 セイコーエプソン株式会社 プリンタドライバ
EP1492338A4 (en) * 2002-04-02 2005-08-31 Matsushita Electric Ind Co Ltd PRINTING CONTROL DEVICE AND METHOD
JP3762394B2 (ja) * 2002-08-29 2006-04-05 キヤノン株式会社 情報処理装置、印刷ジョブ処理方法、プログラム、コンピュータ可読の形態で記憶した記憶媒体
JP3703453B2 (ja) * 2002-12-06 2005-10-05 キヤノン株式会社 印刷制御装置およびデータ処理方法およびプログラムおよびコンピュータが読み取り可能な記憶媒体
JP2004192085A (ja) * 2002-12-09 2004-07-08 Canon Inc 印刷システム
JP2004216693A (ja) 2003-01-14 2004-08-05 Canon Inc 印刷装置
JP4250569B2 (ja) * 2004-06-25 2009-04-08 キヤノン株式会社 印刷制御装置及び印刷制御方法
US7274891B2 (en) * 2005-05-19 2007-09-25 Kabushiki Kaisha Toshiba Image forming apparatus and printing time specifying system
US7558492B2 (en) * 2005-07-29 2009-07-07 Canon Kabushiki Kaisha Image forming apparatus and image forming method
JP2007141100A (ja) * 2005-11-21 2007-06-07 Fuji Xerox Co Ltd プリンタドライバプログラム及びプリンタドライバプログラムを記憶した記憶媒体
JP4484806B2 (ja) * 2005-11-30 2010-06-16 キヤノン株式会社 記録システム、記録方法、ホスト装置、プログラム、及び、コンピュータ可読媒体
JP4799206B2 (ja) * 2006-02-20 2011-10-26 キヤノン株式会社 印刷制御用プログラムおよび印刷制御装置及び印刷制御方法
US20080219685A1 (en) * 2007-03-05 2008-09-11 Kabushiki Kaisha Toshiba Image forming apparatus and image forming method
JP4884266B2 (ja) * 2007-03-19 2012-02-29 株式会社リコー 画像形成装置、画像形成システム、プログラムおよび記録媒体
US8240656B2 (en) * 2007-06-19 2012-08-14 Kabushiki Kaisha Toshiba Paper feeding device, image forming apparatus, and setting information switching method
JP4375449B2 (ja) * 2007-06-28 2009-12-02 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理プログラム、および画像処理方法
JP2009116402A (ja) * 2007-11-01 2009-05-28 Canon Inc 印刷制御装置、印刷制御方法、及び、印刷制御プログラム
JP5272220B2 (ja) * 2008-05-15 2013-08-28 株式会社リコー シート給送装置および画像形成装置

Also Published As

Publication number Publication date
JP2010257040A (ja) 2010-11-11
US20100271660A1 (en) 2010-10-28
US8917411B2 (en) 2014-12-23

Similar Documents

Publication Publication Date Title
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
EP3270282B1 (en) Terminal apparatus to control a printing operation and method thereof
US8705079B2 (en) Information processing apparatus
JP5103339B2 (ja) 動的なプリンタ・ドライバ・ユーザー・インターフェース生成
JP6175854B2 (ja) プログラムおよび情報処理装置
EP2175397A2 (en) Image forming apparatus and method thereof
JP2001158159A (ja) 印刷制御方法及び装置および印刷システム
JP4748246B2 (ja) プログラム、およびコンピュータ
JP2013140554A (ja) 印刷制御システム、印刷制御方法、プログラムおよびコンピュータ
JP5929374B2 (ja) プログラムおよび情報処理装置
JP2007179482A (ja) 印刷システム及びプログラム
US8854652B2 (en) Host device and printing control method thereof
JP4029391B2 (ja) プリンタ
JP2010284852A (ja) 印刷装置、及び印刷方法
JP4363463B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
JP2007301881A (ja) マルチポート印刷装置
US9165225B2 (en) Program and information processing apparatus
JP2010218325A (ja) 印刷制御装置および印刷システム
JP4661832B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
JP2007130945A (ja) プリンタ装置
US8699071B2 (en) Image forming apparatus and method of forming an image thereof
JP2008293303A (ja) データ処理装置、画像処理システム、コンピュータプログラム
JP2012221198A (ja) プリントシステム
JP2011034533A (ja) 通信装置及びプログラム
JP2008059281A (ja) 画像処理プログラム、指示装置、および画像処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110502

R150 Certificate of patent or registration of utility model

Ref document number: 4748246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3