(57)【要約】      （修正有）【課題】印刷制御装置とプリンターとの間の送信コマンドの送信と応答データの取得との齟齬を抑制する。【解決手段】プリンターと通信する通信部（ＵＳＢポートモニター１７２及びＵＳＢ１Ｆ２０）と、応答データを取得するための送信コマンドのプリンター２００への送信要求を行う通信制御部（スプーラ１７１）と、印刷用データをホストベース方式で加工し、通信部を用いてプリンターへ送信する印刷データ加工部（ＵＳＢ  Ｂｉｄｉ  Ｅｘｔｅｎｄｅｒ）１８４と、を有する。印刷データ加工部は、ホストベース方式による通信中に送信コマンドを通信部を通じてプリンターへ送信し、送信コマンドに応じてプリンターから返信された応答データを取得し、通信制御部は、取得された応答データを送信コマンドに対応する応答データとして処理する。【選択図】図３
2016177609.tif 000002
【特許請求の範囲】
【請求項１】
プリンターを制御する印刷制御装置であって、
前記プリンターと通信する通信部と、
応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御部と、
印刷用データをホストベース方式で加工し、加工した前記印刷用データを前記通信部を用いて前記プリンターへ送信する印刷データ加工部と、を有し、
前記印刷データ加工部は、前記ホストベース方式による通信中に前記送信コマンドを前記通信部を通じて前記プリンターへ送信し、
前記送信コマンドに応じて前記プリンターから返信された応答データを取得し、
前記通信制御部は、取得された前記応答データを前記送信コマンドに対応する応答データとして処理する、ことを特徴とする印刷制御装置。
【請求項２】
前記ホストベース方式による通信中は、他の通信処理が排他制御される、ことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
複数の印刷用データの出力順序を制御するスプーラを有し、
前記スプーラは、前記通信制御部からの命令により前記印刷データ加工部を呼び出す、ことを特徴とする請求項１又は請求項２のいずれかに記載の印刷制御装置。
【請求項４】
前記通信制御部は、前記印刷データ加工部に前記応答データの記憶場所を指定し、
前記印刷データ加工部により前記記憶場所に記憶された応答データを取得する、ことを特徴とする請求項１から請求項３のいずれか一項に記載の印刷制御装置。
【請求項５】
前記印刷データ加工部は、印刷を開始するためのメソッドであるstartPrintJob、印刷データを加工して送信するためのメソッドであるwritePrintData、印刷を終了するためのメソッドであるendPrintJobの一連のメソッドにより実現され、
前記送信コマンドの送信と前記応答データの取得は、前記一連のメソッドによる処理において前記WritePrintDataにより行われる、ことを特徴とする請求項１から請求項４のいずれか一項に記載の印刷制御装置。
【請求項６】
前記通信部は、ＵＳＢ規格に対応するインタフェースである、ことを特徴とする請求項１から請求項５のいずれか一項に記載の印刷制御装置。
【請求項７】
前記通信制御部は、印刷用データの特定の領域を使用して、前記送信コマンドを前記印刷データ加工部に指定する、ことを特徴とする請求項１から請求項６のいずれか一項に記載の印刷制御装置。
【請求項８】
コンピューターにプリンターを制御させる印刷制御プログラムであって、
コンピューターに、
応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御機能と、
印刷用データをホストベース方式で加工し、加工した前記印刷用データを通信部を用いて前記プリンターへ送信する印刷データ加工機能と、を実現させ、
前記印刷データ加工機能では、前記ホストベース方式による通信中に前記送信コマンドを通信部を通じて前記プリンターへ送信し、
前記送信コマンドに応じて前記プリンターから返信された応答データを取得し、
前記通信制御機能は、取得された前記応答データを前記送信コマンドに対応する応答データとして処理する、ことを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンターと双方向通信を行う印刷制御装置に関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）環境下で動作する端末では、プリンター等のデバイスとの間で双方向通信を実行するための双方向通信機能（ＢｉＤｉ）を備えている。双方向通信機能を用いることで、端末はプリンターに対するコマンドの送信と、送信したコマンドに応じたプリンターからの応答データの取得とを実現することができる。
【０００３】
Ｗｉｎｄｏｗｓ８以降の環境下で動作するＶｅｒｓｉｏｎ４プリンタードライバー（以下、Ｖ４プリンタードライバーとも記載する）では、双方向通信機能はデバイス制御のための拡張機能として定義されている。この拡張機能では、アプリケーションからプリンターへコマンドを送信する処理と、プリンターからの応答データを取得する処理とは、Ｊａｖａｓｃｒｉｐｔ（登録商標）で作成された別々のインタフェースにより実現されている。例えば、アプリケーションで発行したコマンドをプリンターに送信するためには、拡張機能のsetメソッドを用いて一連の処理が行われる。一方、プリンターからの応答データの取得は、拡張機能のgetメソッドを用いて一連の処理が行われる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】http://msdn.microsoft.com/library/windows/hardware/br259124
【発明の概要】
【発明が解決しようとする課題】
【０００５】
Ｖ４プリンタードライバーにおける双方向通信機能では、setメソッドにおける処理とgetメソッドにおける処理との間で同期が取られていないため、setメソッドで送信したコマンドと、getメソッドで取得したデータとが対応していない場合があった。
本発明は、上記課題に鑑みたもので、プリンターとの間の送信コマンドの送信と応答データの取得との齟齬を適切に抑制することができる印刷制御装置、印刷制御プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための一態様では、本発明の一態様では、通信部を用いてプリンターを制御する印刷制御装置に関するものである。「端末」は、Ｖ４プリンタードライバーを備えてプリンターを制御できるものであれば、パーソナルコンピューターや、タブレット端末、スマートフォン等どのような装置であってもよい。「通信部」は、プリンターと印刷制御装置との通信を実現するインタフェースであり、ＵＳＢ（Universal Serial Bus）や、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）や、周知の赤外線通信のプロトコルに従って動作するインタフェースである。
通信制御部は、印刷制御部の内部で生成された送信コマンドをプリンターに送信するための送信要求を行う。通信制御部が送信要求を行う送信コマンドは、印刷制御部内に実装されているアプリケーションが生成したものや、通信制御部が生成したものを含む。
印刷データ加工部は、ホストベース方式の印刷処理を行う。このホストベース方式の印刷処理では、印刷用データを加工・編集し、プリンターに送信するために用いられる。また、印刷データ加工部は、ホストベース方式の印刷処理中に、送信コマンドをプリンターへ送信し、送信コマンドに応じてプリンターから返信された応答データを取得する。そして、通信制御部は、印刷データ加工部によって取得された応答データを送信コマンドに対応する応答データとして処理する。
【０００７】
上記のように構成された発明では、印刷データ加工部によるホストベース方式の印刷処理の過程で送信コマンドの送信と応答データの取得とを行う。このホストベース方式の印刷処理では、印刷の開始、印刷用データの加工、印刷の終了の一連の処理により完了し、この処理が実行されている間は他のアプリケーション等からの割込みが禁止されるため、送信コマンドの送信から応答データの取得までを一連の処理として実施することができる。
【図面の簡単な説明】
【０００８】
【図１】一例としての印刷制御装置の構成を説明するブロック図。
【図２】ＣＰＵ１６により実現されるソフトウェアの機能を説明する図。
【図３】端末１０が拡張機能部１８３を用いて実行する機能のうち、Host Base方式に係る機能のみを模式的に示した図。
【図４】送信コマンドの送信に係る処理を説明するシーケンス図。
【図５】上位通信モジュール１８１がステップＳ１２で実行する処理を説明するフローチャート。
【図６】一例としての送信データ構造体３００を説明する図。
【図７】ステップＳ１６において、印刷データ加工部１８５に実行される処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、下記の順序に従って本発明の実施形態を説明する。
１．第１の実施形態：
（１）印刷制御装置の構成
（２）ソフトウェアの機能構成
（３）印刷制御方法
（４）作用・効果
２．第２の実施形態：
３．その他の実施形態：
【００１０】
１．第１の実施形態：
（１）印刷制御装置の構成
図１は、一例としての印刷制御装置の構成を説明するブロック図である。以下では、印刷制御装置の一例として、パーソナルコンピューター等の端末１０を例に説明を行う。端末１０は、ディスプレイ１１、操作キー１２、ビデオカード１３、Ｉ・ＯＩＦ１４、バス１５、ＣＰＵ１６、外部記憶装置１７、ＲＡＭ１８、ＲＯＭ１９、ＵＳＢＩＦ２０、を備えている。
【００１１】
ディスプレイ１１は、画像を表示する表示部１１１や、利用者からの操作を受け付けるタッチパネルモジュール１１２を備えている。表示部１１１は、例えば、ＬＣＤ（Liquid Crystal Display）や、ＬＣＤを駆動するためのドライバー回路を備え、ビデオカード１３に接続されている。ビデオカード１３は、バス１５とディスプレイ１１とを接続している。また、タッチパネルモジュール１１２は、静電容量方式や抵抗膜方式のセンサーを備え、利用者の操作位置に応じた電圧値を、Ｉ・ＯＩＦ１４に出力する。
【００１２】
操作キー１２は、押し込み式のボタンにより構成され、利用者の操作を受け付けるユーザインタフェースである。
Ｉ・ＯＩＦ１４は、利用者によるタッチパネルモジュール１１２または操作キー１２の操作に応じて生成される信号をバス１５に出力する。
【００１３】
バス１５には、ＣＰＵ１６、外部記憶装置１７、Ｉ・ＯＩＦ１４、ＲＡＭ１８、ＲＯＭ１９、ビデオカード１３、ＵＳＢＩＦ２０が接続されている。バス１５は、不図示のチップセットを備え、ＣＰＵ１６と他のデバイスとの通信を制御する。
【００１４】
ＣＰＵ１６は、外部記憶装置１７またはＲＯＭ１９に記憶されたプログラムをＲＡＭ１８に展開して実行することで、端末１０の駆動を統合的に制御する。ＲＯＭ１９には、ＣＰＵ１６が起動する際に実行されるＢＩＯＳプログラムが記憶されている。ＲＡＭ１８は、ＣＰＵ１６により処理されるプログラムやデータを展開するワークエリアとして機能する。
【００１５】
外部記憶装置１７は、ＯＳ（Operation System）としての機能をＣＰＵ１６に付与するＯＳ（Operation System）プログラム１７ａ、アプリケーションの機能をＣＰＵ１６に付与するアプリケーションプログラム１７ｂ、ＯＳと協働してプリンター２００を制御するプリンタードライバープログラム（ＰＤＲＶプログラム）１７ｃが記憶されている。ＯＳプログラム１７ａは、例えば、Ｗｉｎｄｏｗｓ１０（Ｗｉｎｄｏｗｓは登録商標）である。アプリケーションプログラム１７ｂは、描画ソフト、ＰＤＦファイルビューア、ブラウザー、Ｗｅｂアプリケーションといったアプリケーションの機能をＣＰＵ１６に実現させる。ＰＤＲＶプログラム１７ｃは、Ｖ４プリンタードライバーであり、拡張機能を備えている。
【００１６】
ＵＳＢＩＦ２０は、ＵＳＢコントローラや、ＵＳＢケーブルを備え、バス１５とプリンター２００とを接続している。この実施形態では、通信部は、ＵＳＢＩＦ２０により実現されている。
【００１７】
プリンター２００は、インクジェットプリンターやレーザープリンターである。プリンター２００は、外部記憶装置１７に記憶されたＰＤＲＶプログラム１７ｃに対応しており、端末１０からＵＳＢＩＦ２０を通じて送信される印刷用データや送信コマンドＳＣによりその駆動が制御される。なお、プリンター２００の内部構成は周知でありその説明は省略する。
【００１８】
（２）ソフトウェアの機能構成
図２は、ＣＰＵ１６により実現されるソフトウェアの機能を説明する図である。図２では、外部記憶装置１７に記憶された各プログラムによりＣＰＵ１６に実現される機能をアプリケーション１６０、ＯＳ１７０、プリンタードライバー１８０として示している。
【００１９】
アプリケーション１６０は、画像や文章を含む印刷用データを生成する。印刷用データはＸＰＳ（XML Paper Specification）のフォーマットに対応するものを想定しているが、これ以外のフォーマットに対応するものであってもよい。また、アプリケーション１６０は、プリンター２００に対して、インク残量等の状態を示すステータス情報の取得や、クリーニング等の処理を実行させるメンテナンスコマンドを発行する機能を備えている。以下では、アプリケーション１６０が発行するコマンドを送信コマンドＳＣと記載する。
【００２０】
ＯＳ１７０は、スプーラ１７１、ＵＳＢポートモニター１７２と、を備え、プリンタードライバー１８０と協働してプリンター２００を制御する。スプーラ１７１は、印刷処理時のデータ（スプールデーター）の出力処理や、プリンタードライバー１８０からの要求に応じたデータの送受信を制御する。ＵＳＢポートモニター１７２は、アプリケーション１６０が通信を行う際に使用するポート番号の管理や、印刷処理時や双方向通信時におけるこのポート番号を用いた実質的な通信を行う。
【００２１】
プリンタードライバー１８０は、上位通信モジュール１８１、グラフィックスモジュール１８２、拡張機能部１８３を備えている。上位通信モジュール（通信制御部）１８１は、アプリケーション１６０からの印刷用データの受信や、アプリケーション１６０との間で行われる制御用データ（送信コマンドＳＣ、応答データＲＤ）の受け渡しを実行する。グラフィックスモジュール１８２は、印刷処理時に、アプリケーション１６０が生成した印刷用データをプリンター２００が対応するフォーマットに変換する。拡張機能部１８３は、印刷処理時や双方向通信時に行われる機能を拡張するためのモジュールにより構成されている。
【００２２】
拡張機能部１８３は、その機能ごとに複数の機能モジュールを備えている。各機能モジュールは、Ｊａｖａｓｃｒｉｐｔにより構成されたスクリプトファイルや、ＸＭＬ（eXtensible Markup Language）ファイルにより構成されている。ＸＭＬファイルには、各機能を定義するスキーマとして機能し、スクリプトファイルは、このＸＭＬファイルに基づいて動作することで、プリンタードライバー１８０に拡張された機能を提供する。各機能モジュールは、スプーラ１７１から呼び出されることで、実施される。
【００２３】
図３は、端末１０が拡張機能部１８３を用いて実行する機能のうち、Host Base方式に係る機能のみを模式的に示した図である。図３では、拡張機能部１８３のうち、端末１０のＵＳＢ通信の機能を拡張するUSB Bidi Extender１８４を表示している。
【００２４】
Host Base方式の印刷処理は、ＵＳＢＩＦ２０を通じてスプーラ１７１が出力するスプールデータに対して、ページの加工や、ページの出力順序の編集等を行う機能であり、Windows8.1以降で実装されている。USB Bidi Extender１８４は、Host Base方式の印刷処理を実現するための機能として、印刷に必要な初期値の設定に係る処理を実行するstartPrintJob()、スプールデータの加工や、スプールデータをプリンター２００に送る処理を実行するwritePrintData()、印刷終了後の処理を実行するendPrintJob()の各メソッド（機能）を備えている。
【００２５】
USB Bidi Extender１８４の各メソッドは、startPrintJob()、writePrintData()、endPrintJob()の順序で、スプーラ１７１から読み出され、Host Base方式における一連の印刷処理が実行される。スプーラ１７１は、一連の処理（startPrintJob()、writePrintData()、endPrintJob()）を実行する間は、排他制御により他の処理を受け付けない。以下では、端末１０（ＣＰＵ１６）がUSB Bidi Extender１８４の、StartPrintJob()、writePrintData()、endPrintJob()の各機能により実現する機能を印刷データ加工部１８５とも記載する。
【００２６】
（３）印刷制御方法
次に、拡張機能を用いた印刷制御方法を説明する。図４は、送信コマンドＳＣの送信に係る処理を説明するシーケンス図である。図４は、アプリケーション１６０、上位通信モジュール１８１、スプーラ１７１、印刷データ加工部１８５、プリンター２００による処理をそれぞれ示している。
【００２７】
ステップＳ１１では、アプリケーション１６０は、プリンター２００に対してステータス情報（応答データＲＤ）を要求するための送信コマンドＳＣを発行する。例えば、ステータス情報は、アプリケーション１６０がプリンター２００の状態を示すＵＩ画面を表示させる情報である。
【００２８】
ステップＳ１２では、上位通信モジュール１８１は、送信コマンドＳＣをプリンター２００に送信するための処理を行う。図５は、上位通信モジュール１８１がステップＳ１２で実行する処理を説明するフローチャートである。
【００２９】
ステップＳ１２１では、上位通信モジュール１８１は送信コマンドＳＣから送信データ構造体を生成する。送信データ構造体は、送信コマンドＳＣと、付属情報とを備える構造体データである。送信データ構造体が備える送信コマンドは、アプリケーション１６０が発行した送信コマンドＳＣと同様のものである。付加情報は、送信データ構造体が印刷用データか否かを示す識別子と、印刷データ加工部１８５が、送信コマンドＳＣと応答データＲＤを用いた通信を行う際に参照する情報である参照情報とを含んでいる。
なお、以下では、送信データ構造体に含まれる送信コマンドには異なる符号（図６では３１０）を付し、アプリケーション１６０が発行した送信コマンドＳＣと区別している。
【００３０】
図６は、一例としての送信データ構造体３００を説明する図である。図６では、送信データ構造体３００は、送信コマンド３１０と、識別子３２０と、参照情報３３０と、を含んでいる。参照情報３３０には、終了識別コマンド３３１、終了識別コマンドの応答データＲＤ３３２、応答データＲＤ格納用スキーマの場所３３３、が含まれている。終了識別コマンド３３１は、印刷データ加工部１８５がプリンター２００からの応答データＲＤの終了を判断するためのコマンドを示している。終了識別コマンドの応答データＲＤ３３２は、印刷データ加工部１８５が終了識別コマンド３３１の送信に応じてプリンター２００から取得するデータを示している。印刷データ加工部１８５が送信コマンドＳＣに続けて終了識別コマンド３３１をＵＳＢＩＦ２０を通じてプリンター２００へ送信すると、プリンター２００は、応答データＲＤの返信が終了していれば、応答データＲＤに続けて終了識別コマンドの応答データＲＤ３３２を返信する。応答データＲＤ格納用スキーマの場所３３３は、プリンター２００から取得した応答データＲＤを記憶する領域（応答データ格納領域）の場所を示している。この応答データ格納領域の場所は、拡張機能部１８３のＸＭＬファイルで定義された領域である。
【００３１】
ステップＳ１２２では、上位通信モジュール１８１は、スプーラ１７１に対して、送信データ構造体３００をHose Base方式で処理するよう要求する。上位通信モジュール１８１からの要求に応じて、スプーラ１７１は、送信データ構造体３００を処理するために、USB Bidi Extender１８４から、StartPrintJob()、writePrintData()、endPrintJob()の各機能を、順次、呼び出す（ステップＳ１３、Ｓ１６、Ｓ１９）。
【００３２】
まず、ステップＳ１３では、スプーラ１７１は、startPrintJob()の機能を呼び出す。呼び出されたstartPrintJob()の機能により、ＣＰＵ１６（印刷データ加工部１８５）は、Host Base方式で必要とされる初期値の設定を行う（ステップＳ１４）。
【００３３】
ステップＳ１５では、スプーラ１７１は、writePrintData()の機能を呼び出す。本実施形態では、呼び出されたwritePrintData()の機能により、送信コマンドＳＣのプリンター２００への送信と、プリンター２００からの応答データＲＤの取得とが行われる（ステップＳ１６）。
【００３４】
図７は、ステップＳ１６において、印刷データ加工部１８５に実行される処理を示すフローチャートである。
【００３５】
ステップＳ１６１では、印刷データ加工部１８５は、送信データ構造体３００に含まれる識別子３２０の有無を判断する。
送信データ構造体３００に識別子３２０が含まれている場合（ステップＳ１６１；ＹＥＳ）、ステップＳ１６２では、印刷データ加工部１８５は、送信データ構造体３００から送信コマンド３１０や、参照情報３３０を取得する。
【００３６】
ステップＳ１６３では、印刷データ加工部１８５は、送信データ構造体３００から取り出した送信コマンドＳＣを、ＵＳＢＩＦ２０を介してプリンター２００に送信する。印刷データ加工部１８５は、ＵＳＢポートモニター１７２を制御して、送信コマンドＳＣ３１０をプリンター２００に送信する。プリンター２００はＵＳＢＩＦ２０を介して送信コマンドＳＣ３１０を受信すると、送信コマンドＳＣを解釈し、送信コマンドＳＣに対応する応答データＲＤを生成する。
【００３７】
ステップＳ１６４では、印刷データ加工部１８５は、プリンター２００からの応答データＲＤを取得する。プリンター２００はＵＳＢＩＦ２０を通じて応答データＲＤを端末１０に送信しており（図４、ステップＳ１７）、印刷データ加工部１８５は、この応答データＲＤを取得する。
【００３８】
プリンター２００からの応答データＲＤの取得が完了していなければ（ステップＳ１６５：ＮＯ）、印刷データ加工部１８５は、応答データＲＤの取得を継続する（ステップＳ１６４）。応答データＲＤの取得完了の判断は、印刷データ加工部１８５が送信データ構造体３００から取り出した「終了識別コマンド３３１」をＵＳＢＩＦ２０を通じてプリンター２００に送信することで行われる。終了識別コマンド３３１に応じて、プリンター２００から終了識別コマンドの応答データＲＤ３３２が返信されなければ、印刷データ加工部１８５は、プリンター２００からの応答データＲＤの取得が終了していないと判断する。一方、終了識別コマンド３３１に応じて、プリンター２００から終了識別コマンドの応答データＲＤ３３２が返信されれば、印刷データ加工部１８５は、プリンター２００からの応答データＲＤの取得が完了したと判断する。
【００３９】
応答データＲＤの取得が完了していれば（ステップＳ１６５：ＹＥＳ）、ステップＳ１６６では、印刷データ加工部１８５は、応答データＲＤをＲＡＭ１８の応答データ格納領域に記憶する。応答データ格納領域の位置は、送信データ構造体３００から取り出された応答データ格納領域の位置３３３で示す参照先をもとに判断される。
【００４０】
なお、ステップＳ１６１において、印刷データ加工部１８５は、送信データ構造体３００に識別子を確認しなければ（ステップＳ１６１：ＮＯ）、ステップＳ１６７では、上位通信モジュール１８１から渡されたデータを通常の印刷データとみなし、Host Base方式での印刷を行うことになる。
【００４１】
図４に戻り、ステップＳ１８では、スプーラ１７１は、endPrintJob()の機能を呼び出す。endPrintJob()の機能により、ＣＰＵ１６（印刷データ加工部１８５）はHost Base方式での印刷処理を終了する（ステップＳ１９）。
【００４２】
スプーラ１７１による処理が終了すると、ステップＳ２０では、上位通信モジュール１８１は、送信データ構造体３００により指定した応答データ格納領域から応答データＲＤを取得する。
【００４３】
ステップＳ２１では、上位通信モジュール１８１は、取得した応答データＲＤをアプリケーション１６０に渡す。例えば、アプリケーション１６０は上位通信モジュール１８１から取得した応答データＲＤにより、プリンター２００のステータスを表示するＵＩ画面を表示させる。
【００４４】
（４）作用・効果
以上説明したようにこの第１の実施形態では、拡張機能部１８３によるHost Base方式の印刷処理を流用して送信コマンドＳＣと応答データＲＤとの同期を取っている。このHost Base方式の印刷処理では、startPrintJob()、writePrintData()、endPrintJob()の一連の機能が実行されるまで、他のアプリケーション等からの割込みが禁止されるため、送信コマンドＳＣの送信から応答データＲＤの取得までを一連の処理として実施することができる。
【００４５】
また、印刷データ加工部１８５による機能は、スプーラ１７１により呼び出されて実行されるため、アプリケーション１６０から連続して送信コマンドＳＣが発行される場合でも、スプーラ１７１は先の送信コマンドＳＣに応じた応答データＲＤの取得が終了した時点（すなわち、endPrintJob()の終了）で、次の送信コマンドＳＣの送信と応答データＲＤの取得とを開始する。その結果、送信コマンドＳＣの送信と応答データＲＤの取得から成る一連の処理は連続して行われ、応答データＲＤが途切れるのを抑制することができる。
【００４６】
上位通信モジュール１８１は応答データＲＤを記憶する領域を指定するため、応答データＲＤを取得する際に要する処理負担を軽減することができる。
【００４７】
２．その他の実施形態：
上位通信モジュール１８１は、印刷用データ内の特定の領域を流用してスプーラ１７１に処理を要求するものであればよい。この特定の領域としては、例えば、印刷用データに含まれるコメント欄を用い、このコメント欄に送信コマンドＳＣや参照情報を書き込みスプーラ１７１に処理を依頼するものであってもよい。スプーラ１７１は、印刷用データに含まれるコメント欄を参照することで、印刷用データが送信コマンドＳＣであることを判断することができる。
【００４８】
本発明は上記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・上記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術であって上記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術等に基づいて当業者が上記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること
は本発明の一実施例として開示されるものである。
【符号の説明】
【００４９】
１０…端末、１１…ディスプレイ、１２…操作キー、１３…ビデオカード、１５…バス、１６…ＣＰＵ、１７…外部記憶装置、１１１…表示部、１１２…タッチパネルモジュール、１６０…アプリケーション、１７０…ＯＳ、１７１…スプーラ、１７２…ＵＳＢポートモニター、１８０…プリンタードライバー、１８１…上位通信モジュール、１８２…グラフィックスモジュール、１８３…拡張機能部、１８４…USB Bidi Extender、１８５…印刷データ加工部、２００…プリンター
【図１】
2016177609.tif 000003
【図２】
2016177609.tif 000004
【図３】
2016177609.tif 000005
【図４】
2016177609.tif 000006
【図５】
2016177609.tif 000007
【図６】
2016177609.tif 000008
【図７】
2016177609.tif 000009