JP2019117621A - Driver program and computer - Google Patents
Driver program and computer Download PDFInfo
- Publication number
- JP2019117621A JP2019117621A JP2018100160A JP2018100160A JP2019117621A JP 2019117621 A JP2019117621 A JP 2019117621A JP 2018100160 A JP2018100160 A JP 2018100160A JP 2018100160 A JP2018100160 A JP 2018100160A JP 2019117621 A JP2019117621 A JP 2019117621A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- information
- driver program
- instruction information
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、プリンタにプリント動作を実行させるコンピュータのプログラムに関する。 The present invention relates to a computer program that causes a printer to execute a printing operation.
従来より、通信ネットワークを通じて接続されたプリンタにプリント動作の実行を指示するのに先立って、当該プリント動作の品質を担保するためのプリント前動作の実行を指示するコンピュータのプログラムが知られている。例えば特許文献1において、OSによって起動されたプログラムは、プリンタの出力ポートがレディ状態であり且つプリンタへの直近のデータ送信からの経過時間が規定時間以上であることに応じて、プリント前動作の実行を指示するオートウェイクアップコマンドをプリンタに送信する。 Conventionally, prior to instructing a printer connected via a communication network to execute a printing operation, there is known a computer program that instructs to execute a pre-printing operation for securing the quality of the printing operation. For example, according to Patent Document 1, the program activated by the OS corresponds to the pre-printing operation according to the fact that the output port of the printer is ready and the elapsed time from the latest data transmission to the printer is equal to or longer than the prescribed time. Send an auto wake up command to the printer to instruct execution.
また、従来より、プリンタにおける印刷枚数を情報管理サーバで管理し、印刷枚数に応じて課金を行うシステムが知られている(例えば、特許文献2参照)。 Further, there has been known a system in which the number of printed sheets in a printer is managed by an information management server and charging is performed according to the number of printed sheets (see, for example, Patent Document 2).
特許文献1に記載のプログラムは、オートウェイクアップコマンドをプリンタが受信してから印刷データを受信するまでの時間に拘わらず、前述の条件を満たしたことに応じてオートウェイクアップコマンドをプリンタに送信する。すなわち、特許文献1に記載のプログラムによれば、オートウェイクアップコマンドをプリンタが受信してから印刷データを受信するまでの時間が長くなるおそれがある。当該時間が長くなると、インクが乾いて印刷品質が低下したり、乾いたインクを排出してインクが無駄に消費されたり、或いは、無駄な電力が消費されるという課題を生じる。 The program described in Patent Document 1 transmits an auto wake up command to the printer in response to satisfying the above-described conditions regardless of the time from the printer reception of the auto wake up command to the reception of the print data. Do. That is, according to the program described in Patent Document 1, there is a possibility that the time from the reception of the auto wakeup command to the reception of the print data may become long. If the time is long, the ink may be dried to deteriorate the print quality, or the dried ink may be discharged to waste the ink, or waste power may be consumed.
また、特許文献2に記載のシステムに特許文献1に記載のプログラムを用いると、情報管理サーバがオートウェイクアップコマンドを印刷と判断し、印刷枚数が意図せず増加してしまうという課題を生じる。 In addition, when the program described in Patent Document 1 is used in the system described in Patent Document 2, the information management server determines that the auto wakeup command is printing, and the number of printed sheets increases unintentionally.
本発明は、上記の事情に鑑みてなされたものであり、その目的は、プリント前動作の実行を指示するか否かを適切に判断可能なドライバプログラムを提供することにある。 The present invention has been made in view of the above-described circumstances, and an object thereof is to provide a driver program capable of appropriately determining whether to instruct execution of a pre-printing operation.
本明細書に記載のドライバプログラムは、通信インタフェースを備えるコンピュータによって読み取り可能である。該ドライバプログラムは、前記コンピュータのOSからプリント指示を含むプリント指示情報を受け付けるプリント指示受付処理を前記コンピュータに実行させる。前記プリント指示は、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示す。該ドライバプログラムは、前記プリント指示受付処理で前記プリント指示を受け付けたことに応じて、プリント前動作の開始を準備指示情報によって指示するか否かを判断する判断処理を前記コンピュータに実行させる。前記プリント前動作は、前記プリント動作の前に、前記プリンタによって前記プリント動作の準備を行う動作である。前記準備指示情報は、前記プリント動作の指示に先行して前記プリンタに送信される情報である。該ドライバプログラムは、前記プリント前動作を指示すると前記判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、前記プリント前動作を指示すると前記判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する生成処理と、前記通信インタフェースを通じて前記プリンタにプリント実行情報を送信するプリント実行指示処理とを前記コンピュータに実行させる。前記プリント実行情報は、前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報である。該ドライバプログラムは、前記プリント指示情報に含まれる情報と、前記プリンタとの通信に要する時間を示す参照通信時間との少なくとも一方を用いて、前記プリント前動作の開始を前記準備指示情報によって指示するか否かを判断する前記判断処理を前記コンピュータに実行させる。 The driver program described herein is readable by a computer provided with a communication interface. The driver program causes the computer to execute print instruction acceptance processing for receiving print instruction information including a print instruction from the OS of the computer. The print instruction indicates that an instruction to cause the printer to execute a print operation has been input by the user. The driver program causes the computer to execute determination processing to determine whether start of the pre-printing operation is instructed by preparation instruction information in response to reception of the print instruction in the print instruction acceptance processing. The pre-printing operation is an operation for preparing the printing operation by the printer before the printing operation. The preparation instruction information is information transmitted to the printer prior to the instruction of the printing operation. The driver program instructs preparation operation processing for transmitting the preparation instruction information to the printer through the communication interface, and instructs the pre-printing operation according to the judgment in the judgment processing that the pre-printing operation is instructed. A generation process of generating print data to be a target of the print operation based on the content data designated by the user in response to the determination in the determination process and the execution of the preparation instruction process; The computer is caused to execute a print execution instruction process of transmitting print execution information to the printer. The print execution information is information for instructing execution of the print operation on the print data generated in the generation process. The driver program instructs the start of the pre-printing operation by the preparation instruction information using at least one of information included in the print instruction information and a reference communication time indicating a time required for communication with the printer. The computer is caused to execute the determination process of determining whether or not it is determined.
上記構成によれば、プリント指示情報に含まれる情報と、プリンタとの通信に要する時間を示す参照通信時間との少なくとも一方を用いて、プリント前動作の開始を準備指示情報によって指示するか否かが判断される。したがって、プリント前動作の開始を指示する準備指示情報を送信するか否かを適切に判断することができる。 According to the above configuration, whether start of the pre-printing operation is instructed by the preparation instruction information using at least one of the information included in the print instruction information and the reference communication time indicating the time required for communication with the printer Is judged. Therefore, it can be appropriately determined whether to transmit preparation instruction information instructing the start of the pre-printing operation.
本実施形態に係るコンピュータは、通信インタフェース及びコントローラを備える。前記コントローラは、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示すプリント指示を含むプリント指示情報を生成する第1生成処理と、前記プリント動作の前に、前記プリンタによって実行される動作であるプリント前動作の開始を、前記プリント動作の指示に先行して前記プリンタに送信される情報である準備指示情報によって指示するか否かを判断する判断処理と、前記プリント前動作を指示すると前記判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、前記プリント前動作を指示すると前記判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する第2生成処理と、前記通信インタフェースを通じて、前記第2生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報であるプリント指示情報を前記プリンタに送信するプリント実行指示処理と、を実行する。前記コントローラは、前記第1生成処理で生成した前記プリント指示情報に含まれる情報と、前記プリンタとの通信に要する時間を示す参照通信時間との少なくとも一方を用いて、前記プリント前動作の開始を前記準備指示情報によって指示するか否かを判断する前記判断処理を実行する。 The computer according to the present embodiment includes a communication interface and a controller. The controller executes a first generation process of generating print instruction information including a print instruction indicating that an instruction to cause the printer to execute a print operation has been input by a user, and is executed by the printer before the print operation. Judgment processing of judging whether start of pre-printing operation which is an operation is instructed by preparation instruction information which is information sent to the printer prior to the instruction of the printing operation, and instructing the pre-printing operation Then, according to the determination in the determination process, the preparation instruction process of transmitting the preparation instruction information to the printer through the communication interface and the preprint operation when it is instructed in the determination process and the preparation instruction process In response to the execution, based on the content data designated by the user, Print instruction information, which is information for instructing the execution of the print operation on the print data generated in the second generation processing through the second generation processing for generating print data to be a target of the lint operation, and the communication interface Print instruction processing for transmitting the print request to the printer. The controller uses at least one of information included in the print instruction information generated in the first generation process and a reference communication time indicating a time required for communication with the printer to start the pre-printing operation. The determination process is performed to determine whether or not to instruct according to the preparation instruction information.
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できる。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings as appropriate. The embodiment described below is only an example of the present invention, and the embodiment of the present invention can be appropriately modified without departing from the scope of the present invention. For example, the execution order of each process to be described later can be appropriately changed without changing the gist of the present invention.
本実施形態では、パーソナルコンピュータ(以下、「PC」と表記する)50にインストールされて実行されるドライバプログラム66(図2(B))を説明する。 In the present embodiment, a driver program 66 (FIG. 2B) installed and executed in a personal computer (hereinafter, referred to as “PC”) 50 will be described.
ドライバプログラム66がインストールされるPC50は、種々の手段によってプリンタ10と通信可能にされる。具体的には、PC50は、図1(A)に示されるように、PC70とともにネットワーク11に接続されている。また、PC70は、ネットワーク11を介してプリンタ10と通信可能となっている。なお、PC70には、自身に接続されるプリンタ10をネットワーク11内で共有し、PC50からプリンタ10を利用可能なプリンタ共有が設定されており、所謂サーバとして機能する。以下では、PC70によって管理されるプリンタ10を共有プリンタ10と表記する。一方、PC50は、PC70を介してプリンタ10と通信可能であり、所謂クライアントとして機能する。
The PC 50 in which the
また、PC50は、図1(B)に示されるように、プリンタ10がケーブル12を介してローカル接続されたPC70にネットワーク接続され、PC70を通じてプリンタ10と通信可能に接続される。図1(A)と同様に、図1(B)においても、PC70には、プリンタ共有が設定されており、PC50からプリンタ10を利用可能となっている。
Further, as shown in FIG. 1B, the
また、PC50は、図1(C)に示されるように、ネットワーク11やケーブル12を用いてプリンタ10と接続され、ネットワーク11やケーブル12を通じてプリンタ10と通信を行う。なお、ケーブル12は、USBケーブルやパラレルケーブルなどである。また、PC50は、有線LANによってネットワーク接続されていてもよいし、無線LANによってネットワーク接続されていてもよい。また、PC50は、不図示のアクセスポイントを経由して、Wi−Fi(Wi-Fi Allianceの登録商標)などによってネットワーク11に接続されてもよい。
Further, as shown in FIG. 1C, the
PC70は、例えば、PC50から受信した印刷ジョブからプリンタ10がプリントしたシートの枚数(以下、プリント枚数と表記)を取得し、プリント枚数に応じた使用金額を算出する管理機能を備えている。PC70を用いてのプリンタ10の管理は、例えばメーカが行う。すなわち、メーカが管理するプリンタ10がユーザに提供される。
The
メーカは、例えば、プリンタ10と、ドライバプログラム66とのセットをユーザに提供する。或いは、メーカは、プリンタ10と、ドライバプログラム66と、PC70にインストール可能なプログラム(不図示)とのセットをユーザに提供する。ドライバプログラム66は、例えば、プリンタ10に同梱されたCD−ROM等の形式で提供されてもよいし、メーカのWEBサイトを通じてダウンロード可能にされてもよい。
The maker provides, for example, a set of the
本実施形態では、プリンタ10との接続手段や、PC70の有無などに応じて、後述の先行コマンドをプリンタ10に適切に入力可能なドライバプログラム66を説明する。
In the present embodiment, a
プリンタ10は、図2(A)に示されるように、電源部26と、動作部20と、ディスプレイ23と、入力インタフェース(以下、I/Fと表記する)24と、通信インタフェース(以下、I/Fと表記する)25と、制御部30とを主に備える。プリンタ10を構成する各構成要素は、不図示の通信バスを通じて相互に接続されている。本実施形態では、インクジェット方式のプリンタ10を例として説明するが、プリンタ10は、インクジェット方式に限定されず、電子写真方式などの公知の他の方式であってもよい。
As shown in FIG. 2A, the
電源部26は、電源プラグを通じて外部電源から供給された電力を、プリンタ10の各構成要素に供給する。より詳細には、電源部26は、外部電源から取得した電力を、動作部20に駆動電力(例えば、直流24V)として出力し、制御部30に制御電力(例えば、直流5V)として出力する。また、図示は省略するが、電源部26は、ディスプレイ23、入力I/F24、及び通信I/F25にも電力を供給している。電源部26は、例えば、商用交流電圧を直流電圧に変換するAC/DCコンバータと、AC/DCコンバータが出力する直流電圧を所定の直流電圧に降圧するスイッチングレギュレータなどのDC/DCコンバータとを有する。
The
また、電源部26は、制御部30から出力される駆動信号に基づいて、駆動状態と休眠状態とに切り替えが可能である。より詳細には、制御部30は、AC/DCコンバータやDC/DCコンバータが備えるスイッチング素子を駆動させる駆動信号を出力することによって、休眠状態にある電源部26を駆動させて駆動状態にする。
In addition, the
駆動状態とは、動作部20に駆動電力を出力している状態である。換言すれば、駆動状態とは、動作部20が動作可能な状態である。休眠状態とは、動作部20に駆動電力を出力していない状態である。換言すれば、休眠状態とは、動作部20が動作不能な状態である。一方、電源部26は、駆動状態であるか休眠状態であるかに拘わらず、制御部30に制御電力を出力している。また、図示は省略するが、入力I/F24は、電源部26が駆動状態であるか休眠状態であるかに拘わらず、ユーザ操作に応じた操作信号を出力することができる。また、通信I/F25は、電源部26が駆動状態であるか休眠状態であるかに拘わらず、外部装置から情報を受信することができる。
The drive state is a state in which drive power is output to the
動作部20は、制御部30の指示に従ってプリント動作及びプリント前動作を実行する。プリント動作は、シートに画像をプリントする動作である。プリント前動作は、プリント動作で所定品質の画像をシートにプリントするために、プリント動作に先立って実行される動作である。プリント動作及びプリント前動作の詳細は、後述する。動作部20は、図1に示されるように、搬送部21と、吐出部22とを主に備える。
The
搬送部21は、不図示の給送トレイに支持されたシートを搬送方向に搬送する。搬送部21は、例えば、不図示のモータの駆動力が伝達されて回転する複数のローラによって構成される。モータによって回転されるローラは、給送トレイに支持されたシートを吐出部22に対面する位置まで搬送し、吐出部22によって画像がプリントされたシートをプリンタ10の外部に排出する。プリンタ10は、複数の給送トレイを備えることができる。
The
吐出部22は、搬送部21によって搬送されたシートに対面し得る位置において、搬送方向と直交する主走査方向に移動する。吐出部22は、不図示のモータの駆動力が伝達されることによって、主走査方向に移動する。吐出部22の下面には、複数のノズルが形成されたノズル面が形成されている。吐出部22は、ノズルからインク滴を吐出する。
The
吐出部22が主走査方向に移動する過程で吐出したインクがシートに着弾することによって、シートに画像がプリントされる。吐出部22が主走査方向の一方から他方に移動する過程において、吐出部22から吐出されたインクが着弾し得るシート上の領域を「プリント領域」と表記する。シートは、複数のプリント領域に区画される。そして、吐出部22は、後述するプリント動作において、複数のプリント領域それぞれに対して順番に画像をプリントする。
An image is printed on the sheet by the discharged ink landing on the sheet in the process of the
ディスプレイ23は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示面を備える。 The display 23 is a liquid crystal display, an organic EL display, or the like, and has a display surface for displaying various information.
入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、入力I/F24は、ディスプレイ23の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク等である。
The input I / F 24 is a user interface that receives an input operation by the user. Specifically, the input I / F 24 has a button, and outputs various operation signals associated with the pressed button to the
タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ53に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
The input I / F 24 realized as a touch sensor outputs position information indicating the position on the display surface touched by the user. Note that "touch" in the present specification includes all operations for causing an input medium to contact a display surface. Further, even if the input medium does not touch the display surface, bringing the input medium close to a position where the distance to the display surface is very small may be included in the concept of “touch” described above. Furthermore, the input medium may be a finger of the user, a touch pen, or the like. The user operation of tapping the position of the icon displayed on the
通信I/F25は、ネットワーク11やケーブル12を通じてPC70やPC50と通信可能なインタフェースである。すなわち、プリンタ10は、通信I/F25を通じてPC70やPC50に各種情報を送信し、通信I/F25を通じてPC70やPC50から各種情報を受信する。通信I/F25は、例えば、Wi−Fi(Wi-Fi Allianceの登録商標)に従った通信手順で、ネットワーク11の不図示のアクセスポイントに無線信号を送信及び受信するものであってもよいし、LANケーブルや、USBケーブルなどのケーブル12が接続されるインタフェースであってもよい。
The communication I /
制御部30は、プリンタ10の全体動作を制御するものである。制御部30は、図2(A)に示されるように、CPU31、ROM32、RAM33、EEPROM34、ASIC35を主とするマイクロコンピュータである。
The control unit 30 controls the overall operation of the
ROM32には、CPU31がプリンタ10の動作を制御するためのプログラムが格納される。RAM33は、CPU31がプログラムを実行する際に用いる各種データを一時的に記録する記憶領域又は作業領域として使用される。EEPROM34には、電源オフ後も保持すべき設定やフラグ等が格納される。CPU31は、プログラムをROM32から読み出して実行することにより、プリンタ10の動作を制御する。ASIC35には、搬送部21と、吐出部22と、ディスプレイ23と、入力I/F24と、通信I/F25とが接続されている。ASIC35は、CPU31の指示に従ってプリンタ10の各構成要素を動作させる。
The
ROM32、RAM33、EEPROM34は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末50のメモリ62についても同様である。
The
EEPROM34には、プリンタ10の装置情報が記憶されている。装置情報は、プリンタ10のモデル名、シリアルナンバー、及びMACアドレスや、復帰時間情報が記憶されている。
Device information of the
復帰時間情報は、プリンタ10が待機状態からプリント実行可能状態に移行した後から、プリントデータが入力しなかった場合に待機状態に戻るまでの復帰時間T1を示す情報であり、EEPROM34に予め記憶される。プリンタ10の待機状態とは、電源部26が休眠状態であり、吐出部22のノズルが不図示のキャップに覆われた状態である。プリンタ10のプリント実行可能状態とは、電源部26が駆動状態であり、吐出部22のノズルがキャップに覆われていない状態である。
The recovery time information is information indicating a recovery time T1 for returning to the standby state when print data is not input after the
ASIC35は、モータへ駆動信号を出力する。モータが回転すると、搬送部21はシートを搬送し、吐出部22は主走査方向に移動する。ASIC35は、ピエゾ素子等の駆動素子へ駆動信号を出力する。駆動素子が振動すると、吐出部22はノズルからインク滴を吐出する。ASIC35は、ディスプレイ23へ画像信号を出力し、ディスプレイ23に画面を表示させる。ASIC35は、入力I/F24から出力される操作信号を取得する。ASIC35は、通信I/F25を通じて外部装置から情報を受信し、通信I/F25を通じて外部装置に情報を送信する。
The
PC50は、図2(B)に示されるように、ディスプレイ53と、入力I/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。情報処理端末50に含まれるディスプレイ53、入力I/F54、通信I/F55、CPU61は、プリンタ10に含まれるディスプレイ23、入力I/F24、通信I/F25、CPU31と同様の構成であるので、説明は省略する。CPU61及びメモリ62は、コントローラの一例である。
As shown in FIG. 2B, the
PC50は、例えば、携帯電話、スマートフォン、タブレット端末等であってもよい。PC50は、コンピュータの一例である。PC50の入力I/F54は、例えば、マウス及びキーボードの組み合わせであってもよい。この場合において、ディスプレイ53に表示されたアイコンなどのオブジェクトの位置にマウスポインタを移動させてクリックするユーザ操作は、当該オブジェクトを指定する指定操作の一例である。
The
メモリ62は、例えば、RAM、ROM、EEPROM、HDD、PC50に着脱されるUSBメモリ等の可搬記憶媒体、CPU61が備えるバッファ等、或いはそれらの組み合わせによって構成される。メモリ62は、プログラム記憶領域62A(以下、「領域62A」と表記する)と、データ記憶領域62B(以下、「領域62B」と表記する)とを有する。領域62Aには、OS64と、ドライバプログラム66とがインストールされている。領域62Aに記憶される各プログラムは、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。領域62Bには、各プログラムの実行に必要なデータ或いは情報が記憶される。
The
本実施形態では、Windows(Microsoft Corporationの登録商標) Operating SystemをOS64の具体例として説明するが、OS64の具体例はこれに限定されず、例えば、Android(Google inc.の登録商標) OS、iOS(Cisco Systems,Inc.の登録商標)等であってもよい。
In the present embodiment, Windows (registered trademark of Microsoft Corporation) Operating System is described as a specific example of the
ドライバプログラム66は、OS64から受け付けたプリント指示情報に従って、プリンタ10にプリント処理を実行させるためのプログラムである。ドライバプログラム66は、単一のモデルのプリンタ10に対してのみプリント処理を指示可能であってもよいし、複数のモデルのプリンタ10に対してプリント処理を指示可能であってもよい。
The
ドライバプログラム66には、OS64によって指定された複数の関数が定義されている。そして、ドライバプログラム66は、複数の関数がOS64によって所定の順序で呼び出されることによって、プリンタ10にプリント動作を実行させることができる。本実施形態に係るプリント指示情報は、例えば、所定の定数を引数として、ドライバプログラム66に定義された関数がOS64によって呼び出されたことを指す。
In the
領域62Bは、第1領域62Cと、第2領域62Dとを含む。第1領域62Cは、例えば、OS64に関する基本情報、或いはドライバプログラムの設定情報のデータベースである所謂レジストリである。
The
第1領域62Cは、条件情報を記憶している。条件情報は、プリンタ10に実行させるプリント動作の実行条件を示すための情報である。条件情報は、セキュアフラグ及び認証情報を含む。
The
条件情報は、ドライバプログラム66がインストールされたタイミングで第1領域62Cに記憶される。また、ドライバプログラム66は、第1領域62Cに記憶された条件情報をユーザの指示に従って変更することができる。より詳細には、ドライバプログラム66は、OS64からの参照指示に従って第1領域62Cから条件情報を読み出し、読み出した条件情報をディスプレイ53に表示させる。次に、ドライバプログラム66は、条件情報を変更するユーザ操作を入力I/F54を通じて受け付けたことに応じて、第1領域62Cに記憶された条件情報を変更後の条件情報で上書きする。
The condition information is stored in the
セキュアフラグは、所謂セキュアプリントをプリンタ10に実行させるか否かを示す情報である。セキュアフラグには、セキュアプリントを実行させる指示に対応する「ON」、或いはセキュアプリントを実行させない指示に対応する「OFF」が設定される。認証情報は、ユーザによって指定されたPINである。認証情報には、セキュアフラグに「ON」が設定される場合にのみ、有効な値が設定される。
The secure flag is information indicating whether to cause the
セキュアプリントとは、有効な認証情報の入力をトリガとして開始されるプリント動作を指す。すなわち、プリンタ10は、セキュアプリントの実行を指示するプリント実行情報を受信したことに応じて直ちにプリント動作を開始せず、入力I/F24を通じて認証情報の入力を受け付けたことに応じてプリント動作を開始する。
Secure printing refers to a printing operation that is triggered by the input of valid authentication information. That is, the
また、領域62Bは、1以上のキュー領域を含む。キュー領域は、プリンタ10に送信すべき情報が記憶されるメモリ領域である。キュー領域は、プリンタ10を特定する所謂印刷ポートに対応付けられている。ドライバプログラム66には、例えば、情報を記憶させるべきキュー領域が、関数の引数としてOS64から指定される。以下、ドライバプログラム66に対して指定されたキュー領域を、「指定キュー」と表記することがある。
The
キュー領域には、各種動作の実行をプリンタ10に指示するための情報が記憶される。より詳細には、キュー領域には、図3(A)に示される先行コマンド、図3(B)に示されるプリント実行情報、及び不図示のステータス送信指示情報等が記憶される。プリント実行情報は、プリント動作の実行を指示するための情報であって、給送指示情報、頭出し指示情報、搬送指示情報、吐出指示情報、及び排出指示情報等を含む。先行コマンドは、プリント前動作の実行を指示するためのコマンドである。不図示のステータス送信指示情報は、プリンタ10の状態を示すステータス情報の送信を指示するための情報である。但し、キュー領域に記憶される情報の具体例は、これらに限定されない。
The queue area stores information for instructing the
キュー領域は、OS64が通信I/F55を通じてプリンタ10に送信する情報が、送信順を特定して記憶される領域である。換言すれば、OS64は、キュー領域に指示情報が記憶されているか否かを所定のタイミングでチェックする。そして、OS64は、キュー領域に指示情報が記憶されていると判断したことに応じて、当該指示情報を予め定められた送信順序で、通信I/F55を通じてプリンタ10に送信し、送信した指示情報をキュー領域から削除する。
The queue area is an area where information transmitted by the
より詳細には、キュー領域に記憶される指示情報には、図3(A)及び図3(B)に示されるように、ジョブIDが付加される。ジョブIDは、キュー領域内において、連続して送信すべき指示情報を特定するための情報である。すなわち、複数の指示情報に同一のジョブIDが付加される場合がある。OS64は、同一のジョブIDが付加された複数の指示情報を、キュー領域に記憶された順にプリンタ10に送信する。また、OS64は、異なるジョブIDが付加された指示情報を、当該ジョブIDの生成順にプリンタ10に送信する。
More specifically, the job ID is added to the instruction information stored in the queue area, as shown in FIGS. 3A and 3B. The job ID is information for specifying instruction information to be continuously transmitted in the queue area. That is, the same job ID may be added to a plurality of pieces of instruction information. The
OS64は、例えばキュー領域において、まず、ジョブID“コンテンツデータA”が付加された搬送指示情報、吐出指示情報、及び排出指示情報をこの順に送信する。次に、OS64は、ジョブID“コンテンツデータB”が付加された給送指示情報、及び頭出し指示情報をこの順に送信する。このとき、ジョブID“コンテンツデータB”が付加された給送指示情報が、ジョブID“コンテンツデータA”が付加された排出指示情報より先にキュー領域に書き込まれていたとしても、排出指示情報が先に送信される。すなわち、同一のジョブIDが付加された複数の指示情報が書き込み順に連続して送信される。
For example, in the queue area, the
なお、PC70は、PC50の構成と同様であるので、説明は省略する。 In addition, since PC70 is the same as that of the structure of PC50, description is abbreviate | omitted.
[プリント指示処理]
以下、ドライバプログラム66が実行するプリント指示処理について、図4を参照して説明する。ドライバプログラム66は種々の処理を実行するが、以下では、ドライバプログラム66が先行コマンドを送信するか否かを判断し、当該判断にしたがって、先行コマンドを送信し、或いは先行コマンドを送信せずに、プリントデータを送信するプリント指示処理について説明する。なお、以下の説明では、本発明において特に重要な処理を説明し、それ以外の処理の説明を省略している場合がある。先行コマンドは、準備指示情報の一例である。
Print instruction processing
The print instruction process executed by the
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「制御」等の処理は、CPU31、61の処理を表している。CPU61による処理は、OS64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
The flowchart of this specification basically shows the processing of the
ドライバプログラム66は、ドライバプログラム66に定義された関数がOS64によって呼び出されることにより、プリント指示を含むプリント指示情報を受け付ける。ドライバプログラム66は、プリント指示情報を受け付けたか否かを判断する(S11)。ドライバプログラム66は、プリント指示情報を受け付けていないと判断すると(S11:No)、プリント指示処理を終了する。プリント指示を含むプリント指示情報を生成するOS64の処理は、第1生成処理の一例である。
The
一方、ドライバプログラム66は、プリント指示情報を受け付けたと判断すると(S11:Yes)、プリント指示情報が示す指定キューに、既にプリントデータがあるか否かを判断する(S12)。プリント指示情報を受け付ける処理(S12:Yes)は、プリント指示受付処理の一例である。
On the other hand, when the
ドライバプログラム66は、指定キューにプリントデータがあると判断すると(S12:Yes)、ステップS13からS17、S21、S22の処理をスキップして、プリント指示情報を生成するStartPage処理を実行する(S18)。
If the
[StartPage処理]
StartPage処理は、指定コンテンツデータに含まれるページデータ毎に実行される。StartPage処理の処理対象となるページデータは、例えば、OS64によって、関数の引数として指定される。図7(A)を参照して、StartPage処理の詳細を説明する。
[StartPage processing]
The StartPage process is executed for each page data included in the designated content data. The page data to be processed by the StartPage process is specified, for example, by the
OS64は、ドライバプログラム66に定義された関数“DrvStartPage()”を呼び出す(S71)。ドライバプログラム66は、関数“DrvStartPage()”が呼び出されたことに応じて、ヘッダ指示情報を生成し、生成したヘッダ指示情報をキュー領域67Aに記憶させる(S72)。ヘッダ指示情報は、1枚のシートに画像を記録する一連の動作において、シートに画像をプリントする前に実行すべき動作を指示するためのプリント実行情報である。本実施形態に係るヘッダ指示情報は、給送指示情報及び頭出し指示情報である。
The
そして、ドライバプログラム66は、関数“DrvStartPage()”を終了する(S73)。次に、OS64は、ドライバプログラム66に定義された描画関数を呼び出す。複数の描画関数が所定の順序で実行されることによって、ドライバプログラム66は、ページデータからプリントデータを生成する(S74)。プリントデータは、例えば、ページデータをラスタライズしたラスタデータである。また、ドライバプログラム66は、プリントデータに対するプリント動作を実行させるためのプリント実行情報を生成し、生成したプリント実行情報をキュー領域67Aに記憶させる。ステップS74では、後述するように、吐出指示情報及び搬送指示情報が生成される。ステップS74においてプリントデータを生成する処理は、生成処理及び第2生成処理の一例である。以下、ドライバプログラム66がプリント実行情報を生成する処理の詳細を説明する。
Then, the
まず、ドライバプログラム66は、ラスタライズの対象として受け渡されるデータの単位を示す単位情報を、OS64に通知する。単位情報には、例えば、ページデータの単位での受け渡しを指示する“ページ”、或いはバンドデータの単位での受け渡しを指示する“バンド”が設定される。バンドデータは、ページデータの一部のデータである。
First, the
単位情報“ページ”を取得したOS64は、ステップS74において、ページデータを、ドライバプログラム66に引き渡す。ドライバプログラム66は、OS64から引き渡されたページデータ全体をラスタライズしてラスタデータを生成する。次に、ドライバプログラム66は、領域62Bに展開されたラスタデータを、領域62B内で90°回転させる。次に、ドライバプログラム66は、プリント領域の1つに記録する画像を示す複数のパスデータを、90°回転されたラスタデータから抽出する。そして、ドライバプログラム66は、抽出したパスデータそれぞれに基づいて吐出指示情報及び搬送指示情報を生成し、生成した吐出指示情報及び搬送指示情報を順番にキュー領域67Aに書き込む。ドライバプログラム66は、パスデータの抽出、吐出指示情報及び搬送指示情報の生成、生成した情報のキュー領域67Aへの書き込みを、ページデータに含まれる全てのパスデータに対して連続して実行する。
The
一方、単位情報“バンド”を取得したOS64は、ステップS74において、ページデータに含まれる複数のバンドデータのうちの1つを、ドライバプログラム66に引き渡す。ドライバプログラム66は、OS64から引き渡されたバンドデータ全体をラスタライズしてラスタデータを生成する。次に、ドライバプログラム66は、ラスタデータに基づいて吐出指示情報及び搬送指示情報を生成し、生成した吐出指示情報及び搬送指示情報をキュー領域67Aに書き込む。そして、ページデータを構成する全てのバンドデータに対して、前述の処理が繰り返し実行される。
On the other hand, the
次に、OS64は、ドライバプログラム66に定義された関数“DrvEndPage()”を呼び出す(S75)。ドライバプログラム66は、関数“DrvEndPage()”が呼び出されたことに応じて、排出指示情報を生成し、生成した排出指示情報をキュー領域67Aに記憶させる(S76)。
Next, the
図7(A)に示されるStartPage処理によってキュー領域67Aに書き込まれた複数のプリント実行情報は、OS64によって書き込み順にプリンタ10に送信される。典型的には、OS64は、給送指示情報、頭出し指示情報、吐出指示情報、搬送指示情報、吐出指示情報、・・・、排出指示情報を、通信I/F55を通じてプリンタ10にこの順で送信する。ステップS72の処理、ステップS74でプリント実行情報をキュー領域67Aに記憶させる処理、ステップS76の処理は、通信I/F55を通じてプリンタ10にプリント実行情報を送信するプリント実行指示処理の一例である。
The plurality of pieces of print execution information written in the
そして、ドライバプログラム66は、関数“DrvEndPage()”を終了する(S77)。これにより、StartPage処理が終了する。StartPage処理により、プリントデータがOS64によって印刷ポートからプリンタ10に送信される。
Then, the
次に図4に戻って、ドライバプログラム66は、ステップS12において、指定キューにプリントデータがないと判断すると(S12:No)、プリント指示情報が示すセキュアフラグの値が「ON」であるか否かを判断する。すなわち、ステップS12では、プリント実行情報が示すプリントがセキュアプリントであるか否かが判断される。
Next, returning to FIG. 4, when the
ドライバプログラム66は、セキュアフラグの値が「ON」であると判断すると(S13:Yes)、ステップS14からS17、S21、S22の処理をスキップして、プリントデータを生成するStartPage処理を実行する(S18)。
If the
一方、ドライバプログラム66は、セキュアフラグの値が「OFF」であると判断すると(S13:No)、先行コマンド出力判断処理を実行する(S14)。図5(A)を参照して、先行コマンド出力判断処理の詳細について説明する。
On the other hand, when the
ドライバプログラム66は、プリント指示情報が示す識別フラグの値が「ON」であるか否かを判断する(S31)。識別フラグは、プリント指示情報が示すプリンタ10が共有プリンタ10であることに応じて「ON」が設定され、プリンタ10が共有プリンタ10でないことに応じて「OFF」が設定されるフラグである。ステップS31の処理は、判断処理の一例である。識別フラグは、第1情報の一例である。
The
ドライバプログラム66は、プリント指示情報が示す識別フラグの値が「ON」でないと判断すると(S31:No)、先行コマンドフラグに「ON」を設定し(S32)、先行コマンド出力判断処理を終了する。先行コマンドフラグは、ドライバプログラム66が先行コマンドを出力するか否かを判断するためのフラグである。詳しくは後述する。
If the
一方、ドライバプログラム66は、プリント指示情報が示す識別フラグの値が「ON」であると判断すると(S31:Yes)、共有プリンタの場合の判断処理を実行する(S33)。図5(B)を参照して、共有プリンタの場合の判断処理の詳細について説明する。
On the other hand, when the
ドライバプログラム66は、管理情報及びポート設定情報をメモリから読み出す(S41)。管理情報は、PC50の管理者によって、「出力」、「出力しない」、「設定に応じて出力」のうちから選択された情報である。
The
ポート設定情報は、PC50のユーザによってPC50に入力された情報である。詳しく説明すると、ドライバプログラム66は、図9に示すポート設定情報入力画面をPC50のディスプレイに53に表示させる。ポート設定情報入力画面をPC50のディスプレイ53に表示させる処理は、表示処理の一例である。
The port setting information is information input to the
ポート設定情報入力画面は、「ポート設定」の文字と、「共有時でも先行コマンドを出力する印刷ポート情報」の文字とを有する。また、ポート設定情報入力画面は、「USBポートの場合には、先行コマンドを送信する」の文字及びチェックボックスを有する。「USBポートの場合には、先行コマンドを送信する」の文字及びチェックボックスは、第1オブジェクトの一例である。 The port setting information input screen has a character of "port setting" and a character of "print port information for outputting preceding command even when sharing". In addition, the port setting information input screen has the characters “transmit preceding command in case of USB port” and a check box. The characters “transmit preceding command in case of USB port” and the check box are an example of the first object.
また、ポート設定情報入力画面は、「LANポートの場合の切り替え条件」の文字及びチェックボックスを有する。また、ポート設定情報入力画面は、「有線/無線の情報で切り替える」の文字及びラジオボタンと、「有線であれば出力する」の文字及びチェックボックスと、「無線であれば出力する」の文字及びチェックボックスと、「プリンタとの通信速度を測定して切り替える」の文字及びラジオボタンとを有する。「LANポートの場合の切り替え条件」の文字及びチェックボックスと、「有線/無線の情報で切り替える」の文字及びラジオボタンと、「有線であれば出力する」の文字及びチェックボックスとは、第2オブジェクトの一例である。「LANポートの場合の切り替え条件」の文字及びチェックボックスと、「有線/無線の情報で切り替える」の文字及びラジオボタンと、「無線であれば出力する」の文字及びチェックボックスとは、第3オブジェクトの一例である。 Also, the port setting information input screen has the characters “switching condition in the case of LAN port” and a check box. In addition, the port setting information input screen, the character and radio button of "switch with wired / wireless information", the character and "check if wired" and the check box, and the character "output if wireless" And a check box, and the characters and “radio button to measure and switch the communication speed with the printer”. The character and check box of "switching condition for LAN port", the character and radio button of "switch with wired / wireless information", and the character and check box of "output if wired" are the second It is an example of an object. The characters and check box of "switching condition in case of LAN port", the characters and radio button of "switch with wired / wireless information", and the characters and check box of "output when wireless" are the third It is an example of an object.
ドライバプログラム66は、入力I/F54を通じたラジオボタンやチェックボックスがユーザ操作を受け付け、受け付けたユーザ操作に応じたポート設定情報をメモリ62に記憶させる。
The
図5(B)に戻って、ドライバプログラム66は、管理情報が示す情報が「出力」であるか、「出力しない」であるか、「設定に応じて出力」であるかを判断する(S42)。ドライバプログラム66は、管理情報が示す情報が「出力」であると判断すると(S42:出力)、先行コマンドフラグに「ON」を設定し(S43)、共有プリンタの場合の判断処理を終了する。ドライバプログラム66は、管理情報が示す情報が「出力しない」であると判断すると(S42:出力しない)、先行コマンドフラグに「OFF」を設定し(S44)、共有プリンタの場合の判断処理を終了する。
Referring back to FIG. 5B, the
一方、ドライバプログラム66は、管理情報が示す情報が「設定に応じて出力」であると判断すると(S42:設定に応じて出力)、印刷ポートがUSBであるかLANであるかを判断する(S45)。具体的には、ドライバプログラム66は、印刷ポートのポート名をOSから取得する。ここで、プリンタ10が共有プリンタである場合、ポート名としては、PC70に設定されているポート名が取得される。なお、OSがWindows(登録商標)の場合、ポート名と実際にネットワーク上の送信先として指定されるIPアドレスやノード名とが分けて設定可能であり、これらの情報はメモリ62の所定のレジストリに書き込まれている。よって、ドライバプログラム66は、ポート名を取得すると、レジストリを検索して、ポート名からIPアドレスやノード名を取得する。そしてドライバプログラム66は、印刷ポートのポート名、IPアドレス又はノード名に基づいて、印刷ポートがUSBであるかLANであるかを判断する。ポート名は、第2情報の一例である。
On the other hand, when the
ドライバプログラム66は、印刷ポートがUSBであると判断すると(S45:USB)、ポート設定情報が「USBで出力の設定」であるか否かを判断する(S46)。ドライバプログラム66は、ポート設定情報が「USBで出力の設定」でないと判断すると、先行コマンドフラグに「OFF」を設定する。一方、ドライバプログラム66は、ポート設定情報が「USBで出力の設定」であると判断すると、先行コマンドフラグに「ON」を設定する。
When the
ドライバプログラム66は、印刷ポートがLANであると判断すると(S45:LAN)、LANの場合の判断処理を実行する(S48)。図6を参照して、LANの場合の判断処理の詳細について説明する。
When the
まず、ドライバプログラム66は、ポート設定情報が「有線/無線の情報で切り替える」であるか、「プリンタとの通信速度を測定して切り替える」であるかを判断する(S51)。ドライバプログラム66は、「プリンタとの通信速度を測定して切り替える」であると判断すると(S51:通信速度)、プリンタ10がEEPROM34に記憶する復帰時間T1をプリンタ10から取得する(S52)。ステップS52の処理は、取得処理の一例である。
First, the
具体的には、ドライバプログラム66は、プリンタ10に装置情報を返送させるコマンド及びプリンタ10のアドレス(IPアドレスやMACアドレス)を含むリクエスト情報を生成し、送信する。リクエスト情報を受信したプリンタ10は、装置情報をPC50に返送する。ドライバプログラム66は、返送に含まれる装置情報から、復帰時間T1を取得する。リクエスト情報は、第1要求情報の一例である。
Specifically, the
次に、ドライバプログラム66は、参照通信時間T2を取得する(S53)。具体的には、ドライバプログラム66は、プリンタ10のアドレスを含むPINGコマンドを生成し、OS64に受け渡す。OS64は、PINGコマンドにしたがって、所定のリクエスト情報をプリンタ10に送信し、プリンタ10からの返信を受信する。OS64は、リクエスト情報を送信してから返信を受信するまでの時間をカウントする。OS64は、カウントした時間を示す結果情報をドライバプログラム66に引き渡す。ドライバプログラム66は、結果情報が示す時間を参照通信時間T2として取得する。PINGコマンドは、第3情報の一例である。PINGコマンドにしたがって生成される所定のリクエスト情報は、第2要求情報の一例である。
Next, the
ドライバプログラム66は、参照通信時間T2と、メモリ62に予め記憶された所定時間T3とを和算し、和算の結果得られた時間(T2+T3)がステップS52で取得した復帰時間T1未満か否かを判断する(S54)。所定時間は、先行コマンドを送信してから、ヘッダ指示情報をプリントジョブに追加(S72)するまでに要する時間として、メモリ62に予め記憶される。すなわち、ステップS54では、プリンタ10が先行コマンドを受信して待機状態からプリント実行可能状態に移行してから、ヘッダ指示情報を受信するまでの時間が、復帰時間T1より短いか否かが判断される。ステップS54の処理は、判断処理の一例である。和算の結果得られた時間(T2+T3)は、参照通信時間に応じた時間の一例である。
The
ドライバプログラム66は、和算の結果得られた時間(T2+T3)が復帰時間T1未満でないと判断すると(S54:No)、先行コマンドフラグに「OFF」を設定し(S56)、LANの場合の判断処理を終了する。一方、ドライバプログラム66は、和算の結果得られた時間(T2+T3)が復帰時間T1未満であると判断すると(S54:Yes)、先行コマンドフラグに「ON」を設定し、かつ、直接送信フラグに「ON」を設定し(S55)、LANの場合の判断処理を終了する。
If the
直接送信フラグは、プリント実行情報を送信するプリンタ10が共有プリンタ10であって、かつ、ネットワーク11との接続がLAN接続であって、かつ、先行フラグに「ON」が設定される場合に、「ON」に設定されるフラグである。詳しくは後述するが、ドライバプログラム66は、直接送信フラグに「ON」が設定されていると判断すると、ステップS74で生成したプリントデータをOS64に引き渡すことなく、生成したプリントデータを含むプリント実行情報及び共有プリンタ10のアドレスを有する送信情報を生成し、共有プリンタ10に送信する。すなわち、プリントデータを含むプリント実行情報は、印刷ポートを介さずに共有プリンタ10に送信される。印刷ポートを介さないので、プリント実行情報は、PC70を介さずに、共有プリンタ10に直接受信される。
The direct transmission flag indicates that the
ドライバプログラム66は、ステップS51において、「有線/無線の情報で切り替える」であると判断すると(S51:有線/無線)、印刷ポートが有線であるか無線であるかを判断する(S57)。具体的には、ドライバプログラム66は、印刷ポートのポート名に基づいて、印刷ポートが有線であるか無線であるかを判断する。
If the
ドライバプログラム66は、印刷ポートが有線であると判断すると、ポート設定情報が「有線であれば出力する」であるか否かを判断する(S61)。ドライバプログラム66は、ポート設定情報が「有線であれば出力する」でないと判断すると、先行コマンドフラグに「OFF」を設定し(S56)、LANの場合の判断処理を終了する。一方、ドライバプログラム66は、ポート設定情報が「有線であれば出力する」であると判断すると、先行コマンドフラグに「ON」を設定し(S60)、LANの場合の判断処理を終了する。
If the
ドライバプログラム66は、ステップS57において、印刷ポートが無線であると判断すると(S57:無線)、ポート設定情報が「無線であれば出力する」であるか否かを判断する(S58)。ドライバプログラム66は、ポート設定情報が「無線であれば出力する」でないと判断すると、先行コマンドフラグに「OFF」を設定し(S59)、LANの場合の判断処理を終了する。一方、ドライバプログラム66は、ポート設定情報が「無線であれば出力する」であると判断すると、先行コマンドフラグに「ON」を設定し、かつ、直接送信フラグに「ON」を設定し(S60)、LANの場合の判断処理を終了する。
When the
ドライバプログラム66は、ステップS57において、印刷ポートが有線であるか無線であるか不明であると判断すると(S57:不明)、設定情報が「不明であれば出力する」であるか否かを判断する(S62)。設定情報は、ポート設定画面によってユーザの入力によって設定されてもよいし、PC50の管理者によって設定されてもよい。
When the
ドライバプログラム66は、設定情報が「不明であれば出力する」でないと判断すると(S62:No)、先行コマンドフラグに「OFF」を設定し(S59)、LANの場合の判断処理を終了する。一方、ドライバプログラム66は、設定情報が「不明であれば出力する」であると判断すると(S62:Yes)、先行コマンドフラグに「ON」を設定し、かつ、直接送信フラグにONを設定し(S63)、LANの場合の判断処理を終了する。
If the
図4に戻って、ドライバプログラム66は、先行コマンド出力判断処理(S14)が終了すると、先行コマンドフラグの値が「ON」であるか否かを判断する(S15)。ドライバプログラム66は、先行コマンドフラグの値が「ON」でないと判断すると(S15:No)、ステップS16、S17、S21、S22の処理をスキップし、ステップS18のStartPage処理を実行する。
Returning to FIG. 4, when the preceding command output determination process (S14) is completed, the
一方、ドライバプログラム66は、先行コマンドフラグの値が「ON」であると判断すると(S15:ON)、直接送信フラグの値が「ON」であるか否かを判断する(S16)。ドライバプログラム66は、直接送信フラグの値が「ON」であると判断すると(S16:Yes)、先に取得したポート名、ノード名又はIPアドレスから共有プリンタ10のアドレスを特定し、先行コマンド及び共有プリンタ10のアドレスを含む先行コマンド送信情報を生成する(S21)。そして、ドライバプログラム66は、生成した先行コマンド送信情報を、印刷ポート及びPC70を介さずに、共有プリンタ10に直接送信する(S22)。ドライバプログラム66は、先行コマンド送信処理の実行後、ステップS18のStartPage処理を実行する。
On the other hand, when the
ドライバプログラム66は、直接送信フラグの値が「ON」でないと判断すると(S16:No)、StartDoc処理を実行する(S17)。図7(B)を参照して、StartDoc処理の詳細について説明する。
If the
[StartDoc処理]
OS64は、ドライバプログラム66に定義された各種関数を所定の順序で呼び出す。また、ドライバプログラム66は、OS64によって呼び出された関数に定義された処理を実行する。これらの処理の詳細は省略する。
[StartDoc processing]
The
OS64は、関数“DrvDocumentEvent()”を呼び出す(S81)。OS64は、定数“DOCUMENTEVENT_FIRST”を、関数“DrvDocumentEvent()”の引数として指定する。
The
次に、ドライバプログラム66は、第1関数“DrvDocumentEvent()”が呼び出されたことに応じて、第1領域62Cに記憶された条件情報を読み出し、読み出した条件情報を第2領域62Dに記憶させ(S82)、関数“DrvDocumentEvent()”を終了する(S83)。すなわち、ドライバプログラム66は、ステップS82において、第1領域62Cから読み出された条件情報を第2領域62Dに記憶させる。
Next, in response to the first function "DrvDocumentEvent ()" being called, the
次に、OS64は、関数“DrvDocumentEvent()”を呼び出す(S84)。OS64は、定数“DOCUMENTEVENT_STARTDOCDOC”を、関数“DrvDocumentEvent()”の引数として指定する。ステップS84の処理は、ステップS81の処理より後に実行される。次に、関数“DrvDocumentEvent()”が呼び出されたドライバプログラム66は、先行コマンドを指定キューに記憶させる(S85)。
Next, the
次に、ドライバプログラム66は関数“DrvDocumentEvent()”を終了する(S86)。次に、OS64は、関数“DrvDocumentEvent()”が終了したことに応じて(S86)、ドライバプログラム66に定義された関数“DrvStartDoc()”を呼び出す(S87)。OS64は、関数“DrvStartDoc()”の引数として指定された指定データID“コンテンツデータC”を関数“DrvStartDoc()”の引数として指定する。
Next, the
次に、ドライバプログラム66は、関数“DrvStartDoc()”が呼び出されたことに応じて、引数として指定された指定データID“コンテンツデータC”をジョブIDとするプリントジョブを、指定キューであるキュー領域67Aに生成して(S88)、関数“DrvStartDoc()”を終了する(S89)。上述のステップS72、S74、S76でキュー領域67Aに書き込まれる各種実行情報には、ジョブID“コンテンツデータC”が付加される。但し、ジョブID“コンテンツデータC”で識別されるプリントジョブは、この時点では指示情報を含んでいない。
Next, in response to the function “DrvStartDoc ()” being called, the
次に、OS64は、関数“DrvStartDoc()”が終了したことに応じて(S89)、関数“DrvDocumentEvent()”を呼び出す(S90)。OS64は、定数“DOCUMENTEVENT_STARTDOCPOST”を、関数“DrvDocumentEvent()”の引数として指定する。次に、ドライバプログラム66は、関数“DrvDocumentEvent()”が呼び出されたことに応じて、先行コマンドを指定キューから削除する(S91)。
Next, the
次に、ドライバプログラム66は、関数“DrvDocumentEvent()”を終了する(S92)。これにより、StartDoc処理が終了される。フローチャートには示されていないが、StartDoc処理の実行により、OS64によって、指定キューに記憶された先行コマンドが印刷ポートからプリンタ10に送信される。StartDoc処理は、準備指示処理の一例である。
Next, the
図4に戻って、ドライバプログラム66は、StartDoc処理の実行後、上述のStartPage処理を実行する(S18)。次に、ドライバプログラム66は、全てのページに対してStartPage処理を実行したか否かを判断する(S19)。ドライバプログラム66は、全てのページに対してStartPage処理を実行していないと判断すると(S19:Yes)、次ページに対してStartPage処理を実行する(S18)。一方、ドライバプログラム66は、全てのページに対してStartPage処理を実行したと判断すると(S19:No)、EndDoc処理を実行する(S20)。EndDoc処理は、プリンタ10にプリント動作を実行させた後の後処理である。EndDoc処理は、周知の処理なので、詳細の説明は省略する。
Returning to FIG. 4, the
StartPage処理の実行により、OS64によって印刷ポートからプリントデータを含むプリント実行情報がプリンタ10に送信される。プリント実行情報、或いは、先行コマンド及びプリント実行情報を受信したプリンタ10は、プリント処理を実行する。図8を参照して、プリント処理の詳細について説明する。
Execution of the StartPage process causes the
[プリント処理]
プリンタ10が実行する以下の各処理は、ROM32に記憶されているプログラムをCPU31が読み出して実行してもよいし、制御部30に搭載されたハードウェア回路によって実現されてもよい。プリント処理は、プリント動作の一例である。
[Print processing]
The following processes executed by the
プリンタ10の制御部30は、通信I/F25を通じてPC50から先行コマンドを受信したか、プリント実行情報を受信したかを判断する(S101)。先行コマンドは、上述のように、StartDoc処理の実行により、OS64によってプリンタ10に送信され、或いは、ステップS22の処理によって、ドライバプログラム66によってプリンタ10に送信される。プリント実行情報は、上述のStartPage処理の実行により、OS64によってプリンタ10に送信される。ステップS22の処理は、準備指示処理の一例である。
The control unit 30 of the
制御部30は、先行コマンドを受信したことに応じて(S101:先行コマンド)、電源部26が休眠状態か否かを判断する(S102)。制御部30は、例えば、電源部26の現在の状態を示すフラグ情報をRAM33或いはEEPROM34に記憶させておき、当該フラグ情報に基づいてステップS102の判断を行ってもよい。但し、ステップS72の判断の方法は、前述の例に限定されない。
In response to receiving the preceding command (S101: preceding command), the control unit 30 determines whether or not the
次に、制御部30は、電源部26が休眠状態だと判断したことに応じて(S102:Yes)、電源部26を休眠状態から駆動状態に切り替える(S103)。より詳細には、制御部30は、HIGHレベルの電源信号を電源部26に出力する。一方、制御部30は、電源部26が駆動状態だと判断したことに応じて(S102:No)、ステップS103の処理をスキップする。
Next, in response to determining that the
次に、制御部30は、先行コマンドを受信したことをディスプレイ23を通じて報知する(S104)。制御部30は、例えば、ディスプレイ23のバックライトを所定の時間だけ点灯させればよい。 Next, the control unit 30 notifies that the preceding command has been received through the display 23 (S104). The control unit 30 may, for example, turn on the backlight of the display 23 only for a predetermined time.
次に、制御部30は、動作部20にプリント前動作を実行させる(S105)。プリント前動作は、プリント動作で所定品質の画像をシートに記録するために、プリンタ10が実行すべき動作である。プリント前動作は、例えば、ノズル面を覆うキャップを吐出部22から離間させるアンキャップ処理、シートが通過する領域外において吐出部22にインクを吐出させるフラッシング処理、電源部26の電源電圧を目標電圧に昇圧する昇圧処理等のうちの一部又は全部を含む。ステップS105の処理は、プリント前処理の一例である。
Next, the control unit 30 causes the
また、制御部30は、複数のプリント前動作それぞれに対応するフラグ情報を、RAM33或いはEEPROM34に記憶させておく。全てのフラグ情報には、プリント前処理の開始時点において、プリント前動作が終了していないことに対応する「OFF」が設定されている。そして、制御部30は、プリント前動作の1つが終了したことに応じて、プリント前動作が終了したことに対応する「ON」を、終了したプリント前動作に対応するフラグ情報に設定する。
In addition, the control unit 30 stores flag information corresponding to each of the plurality of pre-printing operations in the
次に、制御部30は、通信I/F25を通じてPC50からプリント実行情報を受信する(S101:プリント実行)。すなわち、制御部30は、給送指示情報、頭出し指示情報、吐出指示情報、搬送指示情報、吐出指示情報、・・・、排出指示情報を、通信I/F25を通じて情報処理端末50からこの順に受信する。
Next, the control unit 30 receives print execution information from the
給送指示情報は、編集条件情報のトレイ情報で示される給送トレイから搬送部21にシートを給送させるための情報である。頭出し指示情報は、給送されたシートの最初の記録領域が吐出部22に対面する位置まで、当該シートを搬送部21に搬送させるための情報である。吐出指示情報は、吐出部22に対面されたシートの記録領域に対して画像を記録するために、吐出部22によるインクの吐出タイミングを示すための情報である。搬送指示情報は、次に画像を記録する記録領域が吐出部22に対面する位置まで、搬送部21にシートを搬送させるための情報である。排出指示情報は、画像が記録されたシートを搬送部21に排出させるための情報である。
The feed instruction information is information for causing the
次に、制御部30は、プリント実行情報に含まれるセキュアフラグの設定値を判断する(S106)。次に、制御部30は、セキュアフラグに「OFF」が設定されていると判断したことに応じて(S106:OFF)、プリント前処理が終了したか否かを判断する(S107)。より詳細には、制御部30は、プリント前動作に対応付けられた全てのフラグ情報に「ON」が設定されていることに応じて、プリント前処理が終了したと判断する(S107:Yes)。一方、制御部30は、プリント前動作に対応付けられた少なくとも1つのフラグ情報に「OFF」が設定されていることに応じて、プリント前処理が終了していないと判断する(S107:No)。 Next, the control unit 30 determines the setting value of the secure flag included in the print execution information (S106). Next, in response to having determined that the secure flag is set to "OFF" (S106: OFF), the control unit 30 determines whether or not the pre-print process has been completed (S107). More specifically, the control unit 30 determines that the pre-printing process has ended in response to the fact that "ON" is set to all the flag information associated with the pre-printing operation (S107: Yes). . On the other hand, the control unit 30 determines that the pre-printing process is not completed in response to the fact that "OFF" is set in at least one flag information associated with the pre-printing operation (S107: No) .
先行コマンドとプリント実行情報との受信間隔は、例えば、プリンタデータを生成する(S74)のドライバプログラム66の処理量、ネットワーク11の状態等によって変動する。すなわち、先行コマンドをトリガにして開始されたプリント前処理は、プリント実行情報を受信した時点で終了していない可能性がある。そこで、制御部30は、プリント前処理が終了していないと判断したことに応じて(S107:No)、プリント前処理が終了するまで後続の処理の実行を待機する。そして、制御部30は、プリント前処理が終了したと判断したことに応じて(S107:Yes)、受信したプリント実行情報に従ったプリント動作を動作部20に実行させる(S108〜S112)。
The reception interval between the preceding command and the print execution information varies depending on, for example, the processing amount of the
まず、制御部30は、受信した給送指示情報に従った給送処理と、頭出し指示情報に従った頭出し処理とを実行する(S108)。すなわち、制御部30は、給送指示情報に示される給送トレイに収容されたシートを搬送部21に給送させる。次に、制御部30は、給送処理で給送されたシートを、頭出し指示情報に示される位置まで搬送部21に搬送させる。なお、これらの処理は、プリント前処理で実行されてもよい。
First, the control unit 30 executes a feeding process according to the received feeding instruction information and a cueing process according to the cue instruction information (S108). That is, the control unit 30 causes the
次に、制御部30は、受信した吐出指示情報に従った吐出処理を実行する(S109)。すなわち、制御部30は、主走査方向の一方から他方に吐出部22を移動させると共に、吐出指示情報に示される吐出タイミングで吐出部22にインクを吐出させる。次に、制御部30は、シートの全ての記録領域に画像を記録したか否かを判断する(S110)。換言すれば、制御部30は、直近のステップS109で用いた吐出指示情報の次に搬送指示情報及び排出指示情報のどちらを受信したかを判断する。
Next, the control unit 30 executes the discharge process according to the received discharge instruction information (S109). That is, the control unit 30 moves the
次に、制御部30は、シートの全ての記録領域に画像を記録していないと判断したことに応じて(S110:No)、受信した搬送指示情報に従った搬送処理を実行する(S111)。すなわち、制御部30は、搬送指示情報に示される搬送量だけ搬送部21にシートを搬送させる。制御部30は、シートの全ての記録領域に画像を記録するまで(S110:No)、ステップS109〜S111の処理を繰り返し実行する。
Next, in response to determining that the image is not recorded in all the recording areas of the sheet (S110: No), the control unit 30 executes the conveyance process according to the received conveyance instruction information (S111) . That is, the control unit 30 causes the
そして、制御部30は、シートの全てのプリント領域に画像をプリントしたと判断したことに応じて(S110:Yes)、受信した排出指示情報に従った排出処理を実行する(S112)。すなわち、制御部30は、画像がプリントされたシートを搬送部21にプリンタ10の外部へ排出させる。なお、指定コンテンツデータに複数のページデータが含まれる場合、ステップS108〜S112の処理が繰り返し実行される。これにより、ステップS74で生成されたプリントデータで示される画像、換言すれば、指定コンテンツデータで示される画像がシートにプリントされる。
Then, when it is determined that the image has been printed in all the print areas of the sheet (S110: Yes), the control unit 30 executes the discharge process according to the received discharge instruction information (S112). That is, the control unit 30 causes the
一方、制御部30は、セキュアフラグに「ON」が設定されていると判断したことに応じて(S106:ON)、認証情報の入力を入力I/F24を通じて受け付ける。そして、制御部30は、入力I/F24を通じて入力された認証情報と、プリント実行情報に含まれる認証情報とが一致するか否かを判断する(S113)。次に、制御部30は、2つの認証情報が一致したと判断したことに応じて(S113:Yes)、プリント前処理を実行する(S114)。そして、制御部30は、プリント前処理が終了したことに応じて、ステップS108以降の処理を実行する。一方、制御部30は、2つの認証情報が不一致と判断したことに応じて(S113:No)、ユーザに認証情報を再び入力させる。 On the other hand, in response to having determined that the secure flag is set to “ON” (S106: ON), the control unit 30 accepts input of authentication information through the input I / F 24. Then, the control unit 30 determines whether the authentication information input through the input I / F 24 matches the authentication information included in the print execution information (S113). Next, in response to determining that the two pieces of authentication information match (S113: Yes), the control unit 30 executes pre-print processing (S114). Then, in response to the end of the pre-printing process, the control unit 30 executes the process after step S108. On the other hand, in response to determining that the two pieces of authentication information do not match (S113: No), the control unit 30 causes the user to input the authentication information again.
[本実施形態の作用効果]
本実施形態では、プリント指示情報が示すプリンタ10が共有プリンタであるか否かと、プリンタ10との通信に要する時間を示す参照通信時間T2との少なくとも一方を用いて、プリント前動作の開始を先行コマンドによってプリンタ10に指示するか否かが判断される。したがって、プリント前動作の開始を指示する先行コマンドを送信するか否かを適切に判断することができる。
[Operation and effect of this embodiment]
In the present embodiment, the start of the pre-printing operation is preceded by using at least one of whether the
また、本実施形態では、プリンタ10がプリント前処理を行ってからプリント前処理を行う前の状態に戻るまでの復帰時間T1が、プリントデータの生成及び送信に要する時間よりも長いと推定される場合、先行コマンドは送信されない。したがって、プリンタ10において、インクが乾いて印刷品質が低下したり、乾いたインクを排出してインクが無駄に消費されたり、或いは、無駄な電力が消費されるということが抑制される。
Further, in the present embodiment, it is estimated that the recovery time T1 from the
また、本実施形態では、プリント指示情報が示すプリンタ10が共有プリンタ10である場合、プリントデータが印刷ポート及びPC70を介さず、共有プリンタ10に直接送信される。したがって、PC70が先行コマンドを誤ってプリントデータと判断してプリント枚数が意図せず増加してしまうことが防止される。
In the present embodiment, when the
また、本実施形態では、ユーザの入力を受け付ける第1オブジェクト、第2オブジェクト、及び第3オブジェクトがディスプレイに表示され、ユーザ入力の設定に従って、先行コマンドが送信されるか否かが判断される。したがって、先行コマンドを送信するか否かのユーザの意図が反映されて先行コマンドを送信するか否かが判断される Furthermore, in the present embodiment, the first object, the second object, and the third object that receive the user's input are displayed on the display, and it is determined whether or not the preceding command is transmitted according to the setting of the user input. Therefore, it is determined whether or not to transmit the preceding command, reflecting the user's intention as to whether or not to transmit the preceding command.
[変形例1]
上述の実施形態では、ポート設定画面においてユーザが設定したポート設定情報と、管理者が設定した管理情報とに応じてドライバプログラム66が先行コマンドフラグに「ON」を設定するか「OFF」を設定するかを判断する例を説明した。本変形例では、ユーザによるポート設定情報の設定及びPC40の管理者による管理情報の設定を受け付けず、ドライバプログラム66が先行コマンドを送信するか否かを判断する例を説明する。
[Modification 1]
In the above embodiment, the
本変形例では、ドライバプログラム66は、共有プリンタの場合の判断処理(図5(A))に代えて、図10に示される共有プリンタの場合の判断処理を実行する。その他の処理は、実施形態で説明した処理と同じである。なお、実施形態と同一の処理については、実施形態と同一の符号を付して、一部の説明を省略する。
In the present modification, the
図10に示される共有プリンタの場合の判断処理において、ドライバプログラム66は、プリント指示情報が示す共有プリンタ10に設定された印刷ポートが「USB」であるか「LAN」であるかを、印刷ポート名から判断する(S45)。すなわち、ステップS45では、プリント指示情報が示すプリンタ10とケーブル12で接続されているかLANで接続されているかが判断される。ステップS45の処理は、判断処理の一例である。
In the determination process in the case of the shared printer shown in FIG. 10, the
ドライバプログラム66は、プリント指示情報が示すプリンタ10に設定された印刷ポートが「USB」であると判断すると(S45:USB)、先行コマンドフラグに「ON」を設定し(S43)、共有プリンタの場合の判断処理を終了する。一方、ドライバプログラム66は、プリント指示情報が示すプリンタ10に設定された印刷ポートが「LAN」であると判断すると(S45:「LAN」)、プリント指示情報が示すプリンタ10が有線LANによってネットワーク11に接続されているか、無線LANによってネットワーク11に接続されているかを判断する(S57)。ステップS57の処理は、判断処理の一例である。
If the
ドライバプログラム66は、プリント指示情報が示すプリンタ10が有線LANによってネットワーク11に接続されていると判断すると、実施形態と同様に、ステップS52からS54の処理を実行する。ドライバプログラム66は、ステップS54の処理において、参照通信時間T2とメモリ62に記憶された所定の時間T3とを和算した時間が復帰時間T1未満でないと判断すると、先行コマンドフラグに「OFF」を設定し(S59)、共有プリンタの場合の判断処理を終了する。ステップS54の処理は、判断処理の一例である。
If the
一方、ドライバプログラム66は、参照通信時間T2と所定の時間T3とを和算した時間が復帰時間T1未満であると判断すると、先行コマンドフラグに「ON」を設定し、かつ、直接送信フラグに「ON」を設定し(S55)、共有プリンタの場合の判断処理を終了する。
On the other hand, when the
また、ドライバプログラム66は、ステップS57の処理において、プリント指示情報が示すプリンタ10が有線LANによってネットワーク11に接続されているか、無線LANによってネットワーク11に接続されているかが不明であると判断すると(S57:不明)、先行コマンドフラグに「OFF」を設定し、共有プリンタの場合の判断処理を終了する。
When the
[変形例1の効果]
本変形例では、ユーザや管理者の設定に拠らず、先行コマンドを出力するか否かをドライバプログラム66が判断するので、ユーザや管理者が設定条件を入力する手間を低減することができる。
[Effect of Modification 1]
In this modification, the
一般に、無線LAN接続では、通信のリトライや再接続が有線LAN接続よりも多く発生する。すなわち、無線LAN接続は、有線LAN接続よりもデータの受け渡しに時間を要することがある。本変形例では、プリンタ10とPC50とが有線LAN接続されている場合、先行コマンドが送信される。一方、プリンタ10とPC50とが無線LAN接続されている場合、先行コマンドが送信されない。すなわち、プリンタ10が先行コマンドを受信してからプリントデータを受信するまでの時間が長くなるおそれがある無線LAN接続では、先行コマンドは送信されない。したがって、プリンタ10において、インクが乾いて印刷品質が低下したり、乾いたインクを排出してインクが無駄に消費されたり、或いは、無駄な電力が消費されるということが抑制される。
Generally, in the wireless LAN connection, communication retries and reconnection occur more frequently than in the wired LAN connection. That is, wireless LAN connection may take more time to pass data than wired LAN connection. In the present modification, when the
[変形例2]
実施形態で説明した図4に示されるステップS11〜S16、ステップS21、S22、及び図7(B)に示されるステップS85の処理は、図7(B)で説明したStartDoc処理の一部(サブルーチン)として実行されてもよい。本変形例では、図11(A)に示されたStartDoc処理を説明する。なお、実施形態と同様の処理については、実施形態と同一の符号を付して、説明を省略する。
[Modification 2]
The processes of steps S11 to S16, steps S21 and S22 shown in FIG. 4 described in the embodiment, and step S85 shown in FIG. 7B are a part of the StartDoc process described in FIG. May be implemented as In this modification, the StartDoc process shown in FIG. 11A will be described. In addition, about the process similar to embodiment, the code | symbol same as embodiment is attached | subjected and description is abbreviate | omitted.
図11(A)に示されるStartDoc処理では、ステップS85(図7(B))に代えて、図4に示されるステップS11〜S16、ステップS21、S22、及び図7(B)に示されるステップS85の処理を実行するサブルーチンであるステップS93の先行コマンド処理が実行される点において、図7(B)に示されるStartDoc処理と相違する。図11(A)に示されるStartDoc処理におけるその他の処理(S81〜S84、S86〜S92)は、図7(B)に示されるStartDoc処理と同じである。 In the StartDoc process shown in FIG. 11A, steps S11 to S16, steps S21 and S22 shown in FIG. 4 and steps shown in FIG. 7B are substituted for step S85 (FIG. 7B). This is different from the StartDoc process shown in FIG. 7B in that the preceding command process of step S93, which is a subroutine for executing the process of S85, is executed. The other processes (S81 to S84 and S86 to S92) in the StartDoc process shown in FIG. 11A are the same as the StartDoc process shown in FIG. 7B.
ステップS93の先行コマンド処理について、図11(B)を参照して説明する。先行コマンド処理では、ドライバプログラム66は、実施形態のプリント指示処理(図4)と同様に、ステップS11〜S15の処理を実行する。ドライバプログラム66は、プリント指示を受け付けていないと判断し(S11:No)、或いは、プリントデータが存在すると判断し(S12:Yes)、或いは、セキュアプリントであると判断し(S13:Yes)、或いは、先行コマンドフラグが「ON」でないと判断すると(S15:No)、先行コマンド処理を終了する。
The preceding command processing in step S93 will be described with reference to FIG. In the preceding command processing, the
一方、ドライバプログラム66は、ステップS15において、先行コマンドフラグが「ON」であると判断すると(S15:Yes)、実施形態と同様に、直接送信フラグが「ON」であるか否かを判断する(S16)。ドライバプログラム66は、直接送信フラグが「ON」であると判断すると(S16:Yes)、実施形態と同様に、ステップS21、S22の処理を実行し、先行コマンド処理を終了する。一方、ドライバプログラム66は、直接送信フラグが「ON」でないと判断すると(S16:No)、実施形態と同様に、先行コマンドを指定キューに記憶させ(S85)、先行コマンド処理を終了する。
On the other hand, when the
ドライバプログラム66は、先行コマンド処理の実行後(S93)、実施形態と同様に、ステップS86〜S92の処理を実行し、StartDoc処理を終了する。ドライバプログラム66は、StartDoc処理の実行後、実施形態で説明したステップS18〜S20の処理を実行する。
After executing the preceding command process (S93), the
上述したように、本変形例2でドライバプログラム66が実行する処理の内容は、実施形態と同一であり、ステップS11〜S16及びステップS21、S22の処理が、StartDoc処理の一部として実行されるか否かが実施形態と相違する。すなわち、プリンタドライバ66は、先行コマンドを出力するか否かを判断する先行コマンド出力判断処理(S14、図5(A))を、適切なタイミングで実行すればよい。すなわち、本変形例2は、プリンタドライバ66が先行コマンド出力判断処理を実行するタイミングを示す他の例である。
As described above, the contents of the process executed by the
[その他の変形例]
上述の実施形態や変形例では、プリント指示情報が示すプリンタ10が共有プリンタ10であるか否か、及び、参照通信時間T2と所定の時間T3とを和算した時間が復帰時間T1未満か否かによって、先行コマンドフラグの値を設定する例を説明した。しかしながら、プリント指示情報が示すプリンタ10が共有プリンタ10であるか否かのみによって、或いは、参照通信時間T2と所定の時間T3とを和算した時間が復帰時間T1未満か否かのみによって、先行コマンドフラグの値が設定されてもよい。
[Other modifications]
In the above-described embodiment and modification, whether or not the
また、上述の実施形態や変形例では、プリント指示情報が示すプリンタ10が共有プリンタ10であって、かつ、先行コマンドフラグに「ON」を設定して先行コマンドを送信に決定する場合、直接送信フラグに「ON」を設定して、印刷ポート及びPC70を介さずにプリント実行情報が共有プリンタ10に送信される例を説明した。しかしながら、共有プリンタ10であることに応じて、一律に先行コマンドフラグに「OFF」を設定し、先行コマンドを送信しないことに決定してもよい。
In the above-described embodiment and modification, direct transmission is performed when the
また、上述の実施形態や変形例では、PINGコマンドを用いて通信参照時間を測定する例を説明した。しかしながら、PINGコマンドを用いず、ドライバプログラム66が、リクエスト情報を共有プリンタ10のアドレス宛に送信し、共有プリンタ10からの返送を受信するまでの時間をカウントしてもよい。
Moreover, in the above-mentioned embodiment and modification, the example which measures communication reference time using a PING command was explained. However, without using the PING command, the
また、上述の実施形態や変形例では、ポート設定情報入力画面が、「ポート設定」の文字と、「共有時でも先行コマンドを出力する印刷ポート情報」の文字と、「USBポートの場合には、先行コマンドを送信する」の文字及びチェックボックスと、「LANポートの場合の切り替え条件」の文字及びチェックボックスと、「有線/無線の情報で切り替える」の文字及びラジオボタンと、「有線であれば出力する」の文字及びチェックボックスと、「無線であれば出力する」の文字及びチェックボックスと、「プリンタとの通信速度を測定して切り替える」の文字及びラジオボタンとを有する例を説明した。しかしながら、上述の複数のラジオボタン及びチェックボックスの全てがポート設定画面に設けられる必要はなく、いずれかのラジオボタンやチェックボックスがポート設定画面に設けられていてもよい。 Further, in the above-described embodiment and modification, the port setting information input screen includes the characters "port setting", the characters "print port information for outputting preceding command even when sharing", and "USB port". , Send the preceding command, the check box, the character and check box of "switch condition in case of LAN port", the character and the radio button of "switch with wired / wireless information", and "wired" An example is described that includes the following characters: “output” and the check box, “output when wireless” and the check box, and “character to change the communication speed with the printer and switching” and the radio button. . However, it is not necessary for all of the plurality of radio buttons and check boxes described above to be provided in the port setting screen, and any radio button or check box may be provided in the port setting screen.
10・・・プリンタ
23,53・・・ディスプレイ
24,54・・・入力I/F
25,55・・・通信I/F
30・・・制御部
31,61・・・CPU
32・・・ROM
50・・・PC
62・・・メモリ
66・・・ドライバプログラム
70・・・PC
10: Printer 23, 53: Display 24, 54: input I / F
25, 55 ··· Communication I / F
30:
32 ・ ・ ・ ROM
50 ・ ・ ・ PC
62: Memory 66: Driver program 70: PC
Claims (8)
該ドライバプログラムは、前記コンピュータのOSからプリント指示を含むプリント指示情報を受け付けるプリント指示受付処理を前記コンピュータに実行させ、前記プリント指示は、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示し、
該ドライバプログラムは、前記プリント指示受付処理で前記プリント指示を受け付けたことに応じて、プリント前動作の開始を準備指示情報によって指示するか否かを判断する判断処理を前記コンピュータに実行させ、前記プリント前動作は、前記プリント動作の前に、前記プリンタによって前記プリント動作の準備を行う動作であり、前記準備指示情報は、前記プリント動作の指示に先行して前記プリンタに送信される情報であり、
該ドライバプログラムは、
前記プリント前動作を指示すると前記判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、
前記プリント前動作を指示すると前記判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記通信インタフェースを通じて前記プリンタにプリント実行情報を送信するプリント実行指示処理とを前記コンピュータに実行させ、前記プリント実行情報は、前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報であり、
該ドライバプログラムは、前記プリント指示情報に含まれる情報と、前記プリンタとの通信に要する時間を示す参照通信時間との少なくとも一方を用いて、前記プリント前動作の開始を前記準備指示情報によって指示するか否かを判断する前記判断処理を前記コンピュータに実行させるドライバプログラム。 A computer readable driver program comprising a communication interface, the driver program comprising:
The driver program causes the computer to execute print instruction acceptance processing for receiving print instruction information including a print instruction from the OS of the computer, and the user inputs an instruction to cause the printer to execute a print operation. Show,
The driver program causes the computer to execute a determination process of determining whether or not start of the pre-printing operation is instructed by preparation instruction information in response to acceptance of the print instruction in the print instruction acceptance process. The pre-printing operation is an operation for preparing the printing operation by the printer before the printing operation, and the preparation instruction information is information transmitted to the printer prior to the instruction of the printing operation. ,
The driver program is
A preparation instruction process of transmitting the preparation instruction information to the printer through the communication interface according to the determination in the determination process that the pre-printing operation is instructed;
The print data to be the target of the print operation is generated based on the content data designated by the user according to the judgment that the pre-print operation is instructed in the judgment process and the preparation instruction process is executed. Processing and
In order to cause the computer to execute a print execution instruction process of transmitting print execution information to the printer through the communication interface, the print execution information is for instructing the execution of the print operation on the print data generated in the generation process. Information, and
The driver program instructs the start of the pre-printing operation by the preparation instruction information using at least one of information included in the print instruction information and a reference communication time indicating a time required for communication with the printer. And a driver program for causing the computer to execute the determination process of determining whether or not it is determined.
前記プリンタが前記プリント前動作を実行して待機状態からプリント実行可能状態に移行した後、前記待機状態に戻るまでの時間を示す復帰時間の送信を要求する第1要求情報を前記プリンタに送信して前記復帰時間を取得する取得処理と、
前記プリント指示受付処理で前記プリント指示情報を受け付けたことに応じて、応答を返信することを要求する第2要求情報を前記プリンタに送信し、前記第2要求情報を送信してから前記応答を受信するまでの時間である前記参照通信時間を計測することを要求する第3情報を生成して前記OSに出力し、
前記第3情報の出力後、前記参照通信時間を前記OSから取得し、
取得した前記参照通信時間に応じた時間が前記取得処理で取得した前記復帰時間未満であるか否かを判断し、
前記参照通信時間に応じた時間が前記復帰時間未満であることに応じて、前記プリント前動作の開始を前記準備指示情報によって指示すると判断し、
前記参照通信時間に応じた時間が前記復帰時間以上であることに応じて、前記プリント前動作の開始を指示しないと判断する前記判断処理を前記コンピュータに実行させる請求項1から4のいずれかに記載のドライバプログラム。 The driver program is
The printer transmits, to the printer, first request information requesting transmission of a recovery time indicating a time until the printer returns to the standby state after the printer performs the pre-printing operation and shifts from the standby state to the print executable state. Acquisition processing for acquiring the return time;
In response to acceptance of the print instruction information in the print instruction acceptance process, the printer transmits second request information requesting return of a response to the printer, transmits the second request information, and then transmits the response. Generating third information requesting measurement of the reference communication time, which is the time until reception, and outputting the third information to the OS;
After the output of the third information, the reference communication time is acquired from the OS,
It is determined whether a time corresponding to the acquired reference communication time is less than the recovery time acquired by the acquisition process,
It is determined that the start of the pre-printing operation is instructed by the preparation instruction information according to the fact that the time corresponding to the reference communication time is less than the return time,
The computer-readable storage medium according to any one of claims 1 to 4, wherein the determination processing is performed to determine that the start of the pre-printing operation is not instructed according to the time corresponding to the reference communication time being equal to or longer than the recovery time. Driver program described.
前記プリント指示情報に含まれる情報であって、前記プリンタが情報処理装置を通じて前記プリントデータを受信する共有プリンタであるか否かを示す第1情報に基づいて、前記プリンタが前記共有プリンタであるか否かを判断し、
前記プリンタが前記共有プリンタであると判断し、かつ、前記プリント前動作を指示すると前記判断処理で判断し、かつ、前記プリンタと1対1対応でローカル接続されていると判断したことに応じて、前記準備指示情報を前記OSに出力し、前記OSを介して、前記プリンタに前記準備指示情報を送信し、
前記プリンタが前記共有プリンタでないと判断し、かつ、前記プリント前動作を指示すると前記判断処理で判断し、かつ、前記プリンタと前記ネットワークにネットワーク接続されていると判断したことに応じて、前記準備指示情報及び前記プリンタの送信アドレスを含む送信情報を生成し、生成した送信情報を前記通信インタフェースを通じて前記プリンタに送信する前記準備指示処理を前記コンピュータに実行させる請求項1から5のいずれかに記載のドライバプログラム。 The driver program is
Whether the printer is the shared printer based on first information which is information included in the print instruction information and which indicates whether the printer is the shared printer that receives the print data through the information processing apparatus Judge whether or not
According to the fact that the printer is determined to be the shared printer and the pre-print operation is instructed in the determination process, and it is determined that the printer is locally connected to the printer in a one-to-one correspondence. Outputting the preparation instruction information to the OS, and transmitting the preparation instruction information to the printer via the OS;
If the printer determines that the printer is not the shared printer and instructs the pre-print operation, the determination processing determines that the printer and the network are connected to the network, the preparation is made. The method according to any one of claims 1 to 5, wherein the preparation instruction process of generating transmission information including instruction information and a transmission address of the printer and transmitting the generated transmission information to the printer through the communication interface is executed by the computer. Driver program.
前記プリンタと前記コンピュータとがUSB接続されている場合に前記準備指示情報の送信を実行するか否かの設定を受け付ける第1オブジェクトと、
前記プリンタと前記コンピュータとが有線LAN接続されている場合に前記準備指示情報の送信を実行するか否かの設定を受け付ける第2オブジェクトと、
前記プリンタと前記コンピュータとが無線LAN接続されている場合に前記準備指示情報の送信を実行するか否かの設定を受け付ける第3オブジェクトと、を含む設定画面を前記コンピュータのディスプレイに表示させる表示処理と、
前記第1オブジェクト、前記第2オブジェクト、及び前記第3オブジェクトを用いたユーザ設定に基づいて、前記判断処理を前記コンピュータに実行させる請求項1から6のいずれかに記載のドライバプログラム。 The driver program is
A first object that receives a setting as to whether or not to transmit the preparation instruction information when the printer and the computer are connected via USB;
A second object that receives a setting as to whether or not to transmit the preparation instruction information when the printer and the computer are connected via a wired LAN;
A display process for causing a display of the computer to display a setting screen including a third object that receives a setting as to whether or not to transmit the preparation instruction information when the printer and the computer are connected by wireless LAN When,
The driver program according to any one of claims 1 to 6, causing the computer to execute the determination process based on user settings using the first object, the second object, and the third object.
前記コントローラは、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示すプリント指示を含むプリント指示情報を生成する第1生成処理と、
前記プリント動作の前に、前記プリンタによって実行される動作であるプリント前動作の開始を、前記プリント動作の指示に先行して前記プリンタに送信される情報である準備指示情報によって指示するか否かを判断する判断処理と、
前記プリント前動作を指示すると前記判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、
前記プリント前動作を指示すると前記判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する第2生成処理と、
前記通信インタフェースを通じて、前記第2生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報であるプリント指示情報を前記プリンタに送信するプリント実行指示処理と、を実行し、
前記コントローラは、前記第1生成処理で生成した前記プリント指示情報に含まれる情報と、前記プリンタとの通信に要する時間を示す参照通信時間との少なくとも一方を用いて、前記プリント前動作の開始を前記準備指示情報によって指示するか否かを判断する前記判断処理を実行するコンピュータ。 A computer comprising a communication interface and a controller,
First generation processing for generating print instruction information including a print instruction indicating that an instruction for causing a printer to execute a print operation has been input by a user;
Whether the start of the pre-printing operation, which is an operation to be executed by the printer, is instructed by the preparation instruction information which is information transmitted to the printer prior to the instruction of the printing operation before the printing operation. Judgment processing to judge
A preparation instruction process of transmitting the preparation instruction information to the printer through the communication interface according to the determination in the determination process that the pre-printing operation is instructed;
The print data to be the target of the print operation is generated based on the content data specified by the user according to the judgment made in the determination processing when instructing the pre-printing operation and the execution of the preparation instruction processing. 2 generation processing,
Executing a print execution instruction process of transmitting print instruction information, which is information for instructing execution of the print operation on the print data generated in the second generation process, to the printer through the communication interface;
The controller uses at least one of information included in the print instruction information generated in the first generation process and a reference communication time indicating a time required for communication with the printer to start the pre-printing operation. A computer that executes the determination process of determining whether or not to instruct based on the preparation instruction information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/221,689 US10628090B2 (en) | 2017-12-27 | 2018-12-17 | Computer-readable medium, information processing device, and method for causing a printer to perform pre-printing operation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017251537 | 2017-12-27 | ||
JP2017251537 | 2017-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019117621A true JP2019117621A (en) | 2019-07-18 |
JP7151170B2 JP7151170B2 (en) | 2022-10-12 |
Family
ID=67305395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018100160A Active JP7151170B2 (en) | 2017-12-27 | 2018-05-25 | driver program and computer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7151170B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004102832A (en) * | 2002-09-11 | 2004-04-02 | Murata Mach Ltd | Image forming method, image forming system, image forming data generator, image forming apparatus and computer program |
JP2012139860A (en) * | 2010-12-28 | 2012-07-26 | Riso Kagaku Corp | Image forming device and image forming system |
JP2017134719A (en) * | 2016-01-29 | 2017-08-03 | ブラザー工業株式会社 | Driver program, and set comprising driver program and printer |
-
2018
- 2018-05-25 JP JP2018100160A patent/JP7151170B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004102832A (en) * | 2002-09-11 | 2004-04-02 | Murata Mach Ltd | Image forming method, image forming system, image forming data generator, image forming apparatus and computer program |
JP2012139860A (en) * | 2010-12-28 | 2012-07-26 | Riso Kagaku Corp | Image forming device and image forming system |
JP2017134719A (en) * | 2016-01-29 | 2017-08-03 | ブラザー工業株式会社 | Driver program, and set comprising driver program and printer |
Also Published As
Publication number | Publication date |
---|---|
JP7151170B2 (en) | 2022-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6631278B2 (en) | Driver program, and set of driver program and printer | |
JP6672959B2 (en) | Printing system, driver program, and printer | |
US10692130B2 (en) | Non-transitory computer-readable medium, information processing terminal and consumable ordering method | |
CN107038005B (en) | Printing system, information processing apparatus, and method thereof | |
JP6589664B2 (en) | Driver program and set of driver program and printer | |
US11059293B2 (en) | Printer and non-transitory computer-readable medium storing instructions for printer driver | |
JP6651902B2 (en) | Printing system, driver program, and printer | |
JP7151170B2 (en) | driver program and computer | |
JP6642210B2 (en) | Printing system, driver program, and printer | |
JP6962433B2 (en) | Program and printer set | |
JP6773201B2 (en) | Program and printer set | |
US10628090B2 (en) | Computer-readable medium, information processing device, and method for causing a printer to perform pre-printing operation | |
JP2019177584A (en) | Printing apparatus and method for controlling printing apparatus | |
JP6658214B2 (en) | Printing system, driver program, and printer | |
JP2018019181A (en) | program | |
JP6631313B2 (en) | program | |
JP2017062660A (en) | Program and information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220530 |
|
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: 20220830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220912 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7151170 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |