JP2016177609A - 印刷制御装置、印刷制御プログラム - Google Patents
印刷制御装置、印刷制御プログラム Download PDFInfo
- Publication number
- JP2016177609A JP2016177609A JP2015058010A JP2015058010A JP2016177609A JP 2016177609 A JP2016177609 A JP 2016177609A JP 2015058010 A JP2015058010 A JP 2015058010A JP 2015058010 A JP2015058010 A JP 2015058010A JP 2016177609 A JP2016177609 A JP 2016177609A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- communication
- print data
- transmission command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/40—Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
- G06K15/4045—Managing the interface to the data source, e.g. choosing an interface for data reception
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/12—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】印刷制御装置とプリンターとの間の送信コマンドの送信と応答データの取得との齟齬を抑制する。
【解決手段】プリンターと通信する通信部(USBポートモニター172及びUSB1F20)と、応答データを取得するための送信コマンドのプリンター200への送信要求を行う通信制御部(スプーラ171)と、印刷用データをホストベース方式で加工し、通信部を用いてプリンターへ送信する印刷データ加工部(USB Bidi Extender)184と、を有する。印刷データ加工部は、ホストベース方式による通信中に送信コマンドを通信部を通じてプリンターへ送信し、送信コマンドに応じてプリンターから返信された応答データを取得し、通信制御部は、取得された応答データを送信コマンドに対応する応答データとして処理する。
【選択図】図3
【解決手段】プリンターと通信する通信部(USBポートモニター172及びUSB1F20)と、応答データを取得するための送信コマンドのプリンター200への送信要求を行う通信制御部(スプーラ171)と、印刷用データをホストベース方式で加工し、通信部を用いてプリンターへ送信する印刷データ加工部(USB Bidi Extender)184と、を有する。印刷データ加工部は、ホストベース方式による通信中に送信コマンドを通信部を通じてプリンターへ送信し、送信コマンドに応じてプリンターから返信された応答データを取得し、通信制御部は、取得された応答データを送信コマンドに対応する応答データとして処理する。
【選択図】図3
Description
本発明は、プリンターと双方向通信を行う印刷制御装置に関する。
Windows(登録商標)環境下で動作する端末では、プリンター等のデバイスとの間で双方向通信を実行するための双方向通信機能(BiDi)を備えている。双方向通信機能を用いることで、端末はプリンターに対するコマンドの送信と、送信したコマンドに応じたプリンターからの応答データの取得とを実現することができる。
Windows8以降の環境下で動作するVersion4プリンタードライバー(以下、V4プリンタードライバーとも記載する)では、双方向通信機能はデバイス制御のための拡張機能として定義されている。この拡張機能では、アプリケーションからプリンターへコマンドを送信する処理と、プリンターからの応答データを取得する処理とは、Javascript(登録商標)で作成された別々のインタフェースにより実現されている。例えば、アプリケーションで発行したコマンドをプリンターに送信するためには、拡張機能のsetメソッドを用いて一連の処理が行われる。一方、プリンターからの応答データの取得は、拡張機能のgetメソッドを用いて一連の処理が行われる。
http://msdn.microsoft.com/library/windows/hardware/br259124
V4プリンタードライバーにおける双方向通信機能では、setメソッドにおける処理とgetメソッドにおける処理との間で同期が取られていないため、setメソッドで送信したコマンドと、getメソッドで取得したデータとが対応していない場合があった。
本発明は、上記課題に鑑みたもので、プリンターとの間の送信コマンドの送信と応答データの取得との齟齬を適切に抑制することができる印刷制御装置、印刷制御プログラムを提供することにある。
本発明は、上記課題に鑑みたもので、プリンターとの間の送信コマンドの送信と応答データの取得との齟齬を適切に抑制することができる印刷制御装置、印刷制御プログラムを提供することにある。
上記課題を解決するための一態様では、本発明の一態様では、通信部を用いてプリンターを制御する印刷制御装置に関するものである。「端末」は、V4プリンタードライバーを備えてプリンターを制御できるものであれば、パーソナルコンピューターや、タブレット端末、スマートフォン等どのような装置であってもよい。「通信部」は、プリンターと印刷制御装置との通信を実現するインタフェースであり、USB(Universal Serial Bus)や、TCP/IP(Transmission Control Protocol / Internet Protocol)や、周知の赤外線通信のプロトコルに従って動作するインタフェースである。
通信制御部は、印刷制御部の内部で生成された送信コマンドをプリンターに送信するための送信要求を行う。通信制御部が送信要求を行う送信コマンドは、印刷制御部内に実装されているアプリケーションが生成したものや、通信制御部が生成したものを含む。
印刷データ加工部は、ホストベース方式の印刷処理を行う。このホストベース方式の印刷処理では、印刷用データを加工・編集し、プリンターに送信するために用いられる。また、印刷データ加工部は、ホストベース方式の印刷処理中に、送信コマンドをプリンターへ送信し、送信コマンドに応じてプリンターから返信された応答データを取得する。そして、通信制御部は、印刷データ加工部によって取得された応答データを送信コマンドに対応する応答データとして処理する。
通信制御部は、印刷制御部の内部で生成された送信コマンドをプリンターに送信するための送信要求を行う。通信制御部が送信要求を行う送信コマンドは、印刷制御部内に実装されているアプリケーションが生成したものや、通信制御部が生成したものを含む。
印刷データ加工部は、ホストベース方式の印刷処理を行う。このホストベース方式の印刷処理では、印刷用データを加工・編集し、プリンターに送信するために用いられる。また、印刷データ加工部は、ホストベース方式の印刷処理中に、送信コマンドをプリンターへ送信し、送信コマンドに応じてプリンターから返信された応答データを取得する。そして、通信制御部は、印刷データ加工部によって取得された応答データを送信コマンドに対応する応答データとして処理する。
上記のように構成された発明では、印刷データ加工部によるホストベース方式の印刷処理の過程で送信コマンドの送信と応答データの取得とを行う。このホストベース方式の印刷処理では、印刷の開始、印刷用データの加工、印刷の終了の一連の処理により完了し、この処理が実行されている間は他のアプリケーション等からの割込みが禁止されるため、送信コマンドの送信から応答データの取得までを一連の処理として実施することができる。
以下、下記の順序に従って本発明の実施形態を説明する。
1.第1の実施形態:
(1)印刷制御装置の構成
(2)ソフトウェアの機能構成
(3)印刷制御方法
(4)作用・効果
2.第2の実施形態:
3.その他の実施形態:
1.第1の実施形態:
(1)印刷制御装置の構成
(2)ソフトウェアの機能構成
(3)印刷制御方法
(4)作用・効果
2.第2の実施形態:
3.その他の実施形態:
1.第1の実施形態:
(1)印刷制御装置の構成
図1は、一例としての印刷制御装置の構成を説明するブロック図である。以下では、印刷制御装置の一例として、パーソナルコンピューター等の端末10を例に説明を行う。端末10は、ディスプレイ11、操作キー12、ビデオカード13、I・OIF14、バス15、CPU16、外部記憶装置17、RAM18、ROM19、USBIF20、を備えている。
(1)印刷制御装置の構成
図1は、一例としての印刷制御装置の構成を説明するブロック図である。以下では、印刷制御装置の一例として、パーソナルコンピューター等の端末10を例に説明を行う。端末10は、ディスプレイ11、操作キー12、ビデオカード13、I・OIF14、バス15、CPU16、外部記憶装置17、RAM18、ROM19、USBIF20、を備えている。
ディスプレイ11は、画像を表示する表示部111や、利用者からの操作を受け付けるタッチパネルモジュール112を備えている。表示部111は、例えば、LCD(Liquid Crystal Display)や、LCDを駆動するためのドライバー回路を備え、ビデオカード13に接続されている。ビデオカード13は、バス15とディスプレイ11とを接続している。また、タッチパネルモジュール112は、静電容量方式や抵抗膜方式のセンサーを備え、利用者の操作位置に応じた電圧値を、I・OIF14に出力する。
操作キー12は、押し込み式のボタンにより構成され、利用者の操作を受け付けるユーザインタフェースである。
I・OIF14は、利用者によるタッチパネルモジュール112または操作キー12の操作に応じて生成される信号をバス15に出力する。
I・OIF14は、利用者によるタッチパネルモジュール112または操作キー12の操作に応じて生成される信号をバス15に出力する。
バス15には、CPU16、外部記憶装置17、I・OIF14、RAM18、ROM19、ビデオカード13、USBIF20が接続されている。バス15は、不図示のチップセットを備え、CPU16と他のデバイスとの通信を制御する。
CPU16は、外部記憶装置17またはROM19に記憶されたプログラムをRAM18に展開して実行することで、端末10の駆動を統合的に制御する。ROM19には、CPU16が起動する際に実行されるBIOSプログラムが記憶されている。RAM18は、CPU16により処理されるプログラムやデータを展開するワークエリアとして機能する。
外部記憶装置17は、OS(Operation System)としての機能をCPU16に付与するOS(Operation System)プログラム17a、アプリケーションの機能をCPU16に付与するアプリケーションプログラム17b、OSと協働してプリンター200を制御するプリンタードライバープログラム(PDRVプログラム)17cが記憶されている。OSプログラム17aは、例えば、Windows10(Windowsは登録商標)である。アプリケーションプログラム17bは、描画ソフト、PDFファイルビューア、ブラウザー、Webアプリケーションといったアプリケーションの機能をCPU16に実現させる。PDRVプログラム17cは、V4プリンタードライバーであり、拡張機能を備えている。
USBIF20は、USBコントローラや、USBケーブルを備え、バス15とプリンター200とを接続している。この実施形態では、通信部は、USBIF20により実現されている。
プリンター200は、インクジェットプリンターやレーザープリンターである。プリンター200は、外部記憶装置17に記憶されたPDRVプログラム17cに対応しており、端末10からUSBIF20を通じて送信される印刷用データや送信コマンドSCによりその駆動が制御される。なお、プリンター200の内部構成は周知でありその説明は省略する。
(2)ソフトウェアの機能構成
図2は、CPU16により実現されるソフトウェアの機能を説明する図である。図2では、外部記憶装置17に記憶された各プログラムによりCPU16に実現される機能をアプリケーション160、OS170、プリンタードライバー180として示している。
図2は、CPU16により実現されるソフトウェアの機能を説明する図である。図2では、外部記憶装置17に記憶された各プログラムによりCPU16に実現される機能をアプリケーション160、OS170、プリンタードライバー180として示している。
アプリケーション160は、画像や文章を含む印刷用データを生成する。印刷用データはXPS(XML Paper Specification)のフォーマットに対応するものを想定しているが、これ以外のフォーマットに対応するものであってもよい。また、アプリケーション160は、プリンター200に対して、インク残量等の状態を示すステータス情報の取得や、クリーニング等の処理を実行させるメンテナンスコマンドを発行する機能を備えている。以下では、アプリケーション160が発行するコマンドを送信コマンドSCと記載する。
OS170は、スプーラ171、USBポートモニター172と、を備え、プリンタードライバー180と協働してプリンター200を制御する。スプーラ171は、印刷処理時のデータ(スプールデーター)の出力処理や、プリンタードライバー180からの要求に応じたデータの送受信を制御する。USBポートモニター172は、アプリケーション160が通信を行う際に使用するポート番号の管理や、印刷処理時や双方向通信時におけるこのポート番号を用いた実質的な通信を行う。
プリンタードライバー180は、上位通信モジュール181、グラフィックスモジュール182、拡張機能部183を備えている。上位通信モジュール(通信制御部)181は、アプリケーション160からの印刷用データの受信や、アプリケーション160との間で行われる制御用データ(送信コマンドSC、応答データRD)の受け渡しを実行する。グラフィックスモジュール182は、印刷処理時に、アプリケーション160が生成した印刷用データをプリンター200が対応するフォーマットに変換する。拡張機能部183は、印刷処理時や双方向通信時に行われる機能を拡張するためのモジュールにより構成されている。
拡張機能部183は、その機能ごとに複数の機能モジュールを備えている。各機能モジュールは、Javascriptにより構成されたスクリプトファイルや、XML(eXtensible Markup Language)ファイルにより構成されている。XMLファイルには、各機能を定義するスキーマとして機能し、スクリプトファイルは、このXMLファイルに基づいて動作することで、プリンタードライバー180に拡張された機能を提供する。各機能モジュールは、スプーラ171から呼び出されることで、実施される。
図3は、端末10が拡張機能部183を用いて実行する機能のうち、Host Base方式に係る機能のみを模式的に示した図である。図3では、拡張機能部183のうち、端末10のUSB通信の機能を拡張するUSB Bidi Extender184を表示している。
Host Base方式の印刷処理は、USBIF20を通じてスプーラ171が出力するスプールデータに対して、ページの加工や、ページの出力順序の編集等を行う機能であり、Windows8.1以降で実装されている。USB Bidi Extender184は、Host Base方式の印刷処理を実現するための機能として、印刷に必要な初期値の設定に係る処理を実行するstartPrintJob()、スプールデータの加工や、スプールデータをプリンター200に送る処理を実行するwritePrintData()、印刷終了後の処理を実行するendPrintJob()の各メソッド(機能)を備えている。
USB Bidi Extender184の各メソッドは、startPrintJob()、writePrintData()、endPrintJob()の順序で、スプーラ171から読み出され、Host Base方式における一連の印刷処理が実行される。スプーラ171は、一連の処理(startPrintJob()、writePrintData()、endPrintJob())を実行する間は、排他制御により他の処理を受け付けない。以下では、端末10(CPU16)がUSB Bidi Extender184の、StartPrintJob()、writePrintData()、endPrintJob()の各機能により実現する機能を印刷データ加工部185とも記載する。
(3)印刷制御方法
次に、拡張機能を用いた印刷制御方法を説明する。図4は、送信コマンドSCの送信に係る処理を説明するシーケンス図である。図4は、アプリケーション160、上位通信モジュール181、スプーラ171、印刷データ加工部185、プリンター200による処理をそれぞれ示している。
次に、拡張機能を用いた印刷制御方法を説明する。図4は、送信コマンドSCの送信に係る処理を説明するシーケンス図である。図4は、アプリケーション160、上位通信モジュール181、スプーラ171、印刷データ加工部185、プリンター200による処理をそれぞれ示している。
ステップS11では、アプリケーション160は、プリンター200に対してステータス情報(応答データRD)を要求するための送信コマンドSCを発行する。例えば、ステータス情報は、アプリケーション160がプリンター200の状態を示すUI画面を表示させる情報である。
ステップS12では、上位通信モジュール181は、送信コマンドSCをプリンター200に送信するための処理を行う。図5は、上位通信モジュール181がステップS12で実行する処理を説明するフローチャートである。
ステップS121では、上位通信モジュール181は送信コマンドSCから送信データ構造体を生成する。送信データ構造体は、送信コマンドSCと、付属情報とを備える構造体データである。送信データ構造体が備える送信コマンドは、アプリケーション160が発行した送信コマンドSCと同様のものである。付加情報は、送信データ構造体が印刷用データか否かを示す識別子と、印刷データ加工部185が、送信コマンドSCと応答データRDを用いた通信を行う際に参照する情報である参照情報とを含んでいる。
なお、以下では、送信データ構造体に含まれる送信コマンドには異なる符号(図6では310)を付し、アプリケーション160が発行した送信コマンドSCと区別している。
なお、以下では、送信データ構造体に含まれる送信コマンドには異なる符号(図6では310)を付し、アプリケーション160が発行した送信コマンドSCと区別している。
図6は、一例としての送信データ構造体300を説明する図である。図6では、送信データ構造体300は、送信コマンド310と、識別子320と、参照情報330と、を含んでいる。参照情報330には、終了識別コマンド331、終了識別コマンドの応答データRD332、応答データRD格納用スキーマの場所333、が含まれている。終了識別コマンド331は、印刷データ加工部185がプリンター200からの応答データRDの終了を判断するためのコマンドを示している。終了識別コマンドの応答データRD332は、印刷データ加工部185が終了識別コマンド331の送信に応じてプリンター200から取得するデータを示している。印刷データ加工部185が送信コマンドSCに続けて終了識別コマンド331をUSBIF20を通じてプリンター200へ送信すると、プリンター200は、応答データRDの返信が終了していれば、応答データRDに続けて終了識別コマンドの応答データRD332を返信する。応答データRD格納用スキーマの場所333は、プリンター200から取得した応答データRDを記憶する領域(応答データ格納領域)の場所を示している。この応答データ格納領域の場所は、拡張機能部183のXMLファイルで定義された領域である。
ステップS122では、上位通信モジュール181は、スプーラ171に対して、送信データ構造体300をHose Base方式で処理するよう要求する。上位通信モジュール181からの要求に応じて、スプーラ171は、送信データ構造体300を処理するために、USB Bidi Extender184から、StartPrintJob()、writePrintData()、endPrintJob()の各機能を、順次、呼び出す(ステップS13、S16、S19)。
まず、ステップS13では、スプーラ171は、startPrintJob()の機能を呼び出す。呼び出されたstartPrintJob()の機能により、CPU16(印刷データ加工部185)は、Host Base方式で必要とされる初期値の設定を行う(ステップS14)。
ステップS15では、スプーラ171は、writePrintData()の機能を呼び出す。本実施形態では、呼び出されたwritePrintData()の機能により、送信コマンドSCのプリンター200への送信と、プリンター200からの応答データRDの取得とが行われる(ステップS16)。
図7は、ステップS16において、印刷データ加工部185に実行される処理を示すフローチャートである。
ステップS161では、印刷データ加工部185は、送信データ構造体300に含まれる識別子320の有無を判断する。
送信データ構造体300に識別子320が含まれている場合(ステップS161;YES)、ステップS162では、印刷データ加工部185は、送信データ構造体300から送信コマンド310や、参照情報330を取得する。
送信データ構造体300に識別子320が含まれている場合(ステップS161;YES)、ステップS162では、印刷データ加工部185は、送信データ構造体300から送信コマンド310や、参照情報330を取得する。
ステップS163では、印刷データ加工部185は、送信データ構造体300から取り出した送信コマンドSCを、USBIF20を介してプリンター200に送信する。印刷データ加工部185は、USBポートモニター172を制御して、送信コマンドSC310をプリンター200に送信する。プリンター200はUSBIF20を介して送信コマンドSC310を受信すると、送信コマンドSCを解釈し、送信コマンドSCに対応する応答データRDを生成する。
ステップS164では、印刷データ加工部185は、プリンター200からの応答データRDを取得する。プリンター200はUSBIF20を通じて応答データRDを端末10に送信しており(図4、ステップS17)、印刷データ加工部185は、この応答データRDを取得する。
プリンター200からの応答データRDの取得が完了していなければ(ステップS165:NO)、印刷データ加工部185は、応答データRDの取得を継続する(ステップS164)。応答データRDの取得完了の判断は、印刷データ加工部185が送信データ構造体300から取り出した「終了識別コマンド331」をUSBIF20を通じてプリンター200に送信することで行われる。終了識別コマンド331に応じて、プリンター200から終了識別コマンドの応答データRD332が返信されなければ、印刷データ加工部185は、プリンター200からの応答データRDの取得が終了していないと判断する。一方、終了識別コマンド331に応じて、プリンター200から終了識別コマンドの応答データRD332が返信されれば、印刷データ加工部185は、プリンター200からの応答データRDの取得が完了したと判断する。
応答データRDの取得が完了していれば(ステップS165:YES)、ステップS166では、印刷データ加工部185は、応答データRDをRAM18の応答データ格納領域に記憶する。応答データ格納領域の位置は、送信データ構造体300から取り出された応答データ格納領域の位置333で示す参照先をもとに判断される。
なお、ステップS161において、印刷データ加工部185は、送信データ構造体300に識別子を確認しなければ(ステップS161:NO)、ステップS167では、上位通信モジュール181から渡されたデータを通常の印刷データとみなし、Host Base方式での印刷を行うことになる。
図4に戻り、ステップS18では、スプーラ171は、endPrintJob()の機能を呼び出す。endPrintJob()の機能により、CPU16(印刷データ加工部185)はHost Base方式での印刷処理を終了する(ステップS19)。
スプーラ171による処理が終了すると、ステップS20では、上位通信モジュール181は、送信データ構造体300により指定した応答データ格納領域から応答データRDを取得する。
ステップS21では、上位通信モジュール181は、取得した応答データRDをアプリケーション160に渡す。例えば、アプリケーション160は上位通信モジュール181から取得した応答データRDにより、プリンター200のステータスを表示するUI画面を表示させる。
(4)作用・効果
以上説明したようにこの第1の実施形態では、拡張機能部183によるHost Base方式の印刷処理を流用して送信コマンドSCと応答データRDとの同期を取っている。このHost Base方式の印刷処理では、startPrintJob()、writePrintData()、endPrintJob()の一連の機能が実行されるまで、他のアプリケーション等からの割込みが禁止されるため、送信コマンドSCの送信から応答データRDの取得までを一連の処理として実施することができる。
以上説明したようにこの第1の実施形態では、拡張機能部183によるHost Base方式の印刷処理を流用して送信コマンドSCと応答データRDとの同期を取っている。このHost Base方式の印刷処理では、startPrintJob()、writePrintData()、endPrintJob()の一連の機能が実行されるまで、他のアプリケーション等からの割込みが禁止されるため、送信コマンドSCの送信から応答データRDの取得までを一連の処理として実施することができる。
また、印刷データ加工部185による機能は、スプーラ171により呼び出されて実行されるため、アプリケーション160から連続して送信コマンドSCが発行される場合でも、スプーラ171は先の送信コマンドSCに応じた応答データRDの取得が終了した時点(すなわち、endPrintJob()の終了)で、次の送信コマンドSCの送信と応答データRDの取得とを開始する。その結果、送信コマンドSCの送信と応答データRDの取得から成る一連の処理は連続して行われ、応答データRDが途切れるのを抑制することができる。
上位通信モジュール181は応答データRDを記憶する領域を指定するため、応答データRDを取得する際に要する処理負担を軽減することができる。
2.その他の実施形態:
上位通信モジュール181は、印刷用データ内の特定の領域を流用してスプーラ171に処理を要求するものであればよい。この特定の領域としては、例えば、印刷用データに含まれるコメント欄を用い、このコメント欄に送信コマンドSCや参照情報を書き込みスプーラ171に処理を依頼するものであってもよい。スプーラ171は、印刷用データに含まれるコメント欄を参照することで、印刷用データが送信コマンドSCであることを判断することができる。
上位通信モジュール181は、印刷用データ内の特定の領域を流用してスプーラ171に処理を要求するものであればよい。この特定の領域としては、例えば、印刷用データに含まれるコメント欄を用い、このコメント欄に送信コマンドSCや参照情報を書き込みスプーラ171に処理を依頼するものであってもよい。スプーラ171は、印刷用データに含まれるコメント欄を参照することで、印刷用データが送信コマンドSCであることを判断することができる。
本発明は上記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・上記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術であって上記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術等に基づいて当業者が上記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること
は本発明の一実施例として開示されるものである。
・上記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術であって上記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術等に基づいて当業者が上記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること
は本発明の一実施例として開示されるものである。
10…端末、11…ディスプレイ、12…操作キー、13…ビデオカード、15…バス、16…CPU、17…外部記憶装置、111…表示部、112…タッチパネルモジュール、160…アプリケーション、170…OS、171…スプーラ、172…USBポートモニター、180…プリンタードライバー、181…上位通信モジュール、182…グラフィックスモジュール、183…拡張機能部、184…USB Bidi Extender、185…印刷データ加工部、200…プリンター
Claims (8)
- プリンターを制御する印刷制御装置であって、
前記プリンターと通信する通信部と、
応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御部と、
印刷用データをホストベース方式で加工し、加工した前記印刷用データを前記通信部を用いて前記プリンターへ送信する印刷データ加工部と、を有し、
前記印刷データ加工部は、前記ホストベース方式による通信中に前記送信コマンドを前記通信部を通じて前記プリンターへ送信し、
前記送信コマンドに応じて前記プリンターから返信された応答データを取得し、
前記通信制御部は、取得された前記応答データを前記送信コマンドに対応する応答データとして処理する、ことを特徴とする印刷制御装置。 - 前記ホストベース方式による通信中は、他の通信処理が排他制御される、ことを特徴とする請求項1に記載の印刷制御装置。
- 複数の印刷用データの出力順序を制御するスプーラを有し、
前記スプーラは、前記通信制御部からの命令により前記印刷データ加工部を呼び出す、ことを特徴とする請求項1又は請求項2のいずれかに記載の印刷制御装置。 - 前記通信制御部は、前記印刷データ加工部に前記応答データの記憶場所を指定し、
前記印刷データ加工部により前記記憶場所に記憶された応答データを取得する、ことを特徴とする請求項1から請求項3のいずれか一項に記載の印刷制御装置。 - 前記印刷データ加工部は、印刷を開始するためのメソッドであるstartPrintJob、印刷データを加工して送信するためのメソッドであるwritePrintData、印刷を終了するためのメソッドであるendPrintJobの一連のメソッドにより実現され、
前記送信コマンドの送信と前記応答データの取得は、前記一連のメソッドによる処理において前記WritePrintDataにより行われる、ことを特徴とする請求項1から請求項4のいずれか一項に記載の印刷制御装置。 - 前記通信部は、USB規格に対応するインタフェースである、ことを特徴とする請求項1から請求項5のいずれか一項に記載の印刷制御装置。
- 前記通信制御部は、印刷用データの特定の領域を使用して、前記送信コマンドを前記印刷データ加工部に指定する、ことを特徴とする請求項1から請求項6のいずれか一項に記載の印刷制御装置。
- コンピューターにプリンターを制御させる印刷制御プログラムであって、
コンピューターに、
応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御機能と、
印刷用データをホストベース方式で加工し、加工した前記印刷用データを通信部を用いて前記プリンターへ送信する印刷データ加工機能と、を実現させ、
前記印刷データ加工機能では、前記ホストベース方式による通信中に前記送信コマンドを通信部を通じて前記プリンターへ送信し、
前記送信コマンドに応じて前記プリンターから返信された応答データを取得し、
前記通信制御機能は、取得された前記応答データを前記送信コマンドに対応する応答データとして処理する、ことを特徴とする印刷制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015058010A JP2016177609A (ja) | 2015-03-20 | 2015-03-20 | 印刷制御装置、印刷制御プログラム |
US14/980,080 US9836677B2 (en) | 2015-03-20 | 2015-12-28 | Print controlling apparatus and computer-readable recording medium storing print control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015058010A JP2016177609A (ja) | 2015-03-20 | 2015-03-20 | 印刷制御装置、印刷制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016177609A true JP2016177609A (ja) | 2016-10-06 |
Family
ID=56925113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015058010A Pending JP2016177609A (ja) | 2015-03-20 | 2015-03-20 | 印刷制御装置、印刷制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9836677B2 (ja) |
JP (1) | JP2016177609A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019159617A (ja) * | 2018-03-09 | 2019-09-19 | 株式会社リコー | 情報処理装置、情報処理システム、及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4942205B2 (ja) * | 2008-01-07 | 2012-05-30 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法およびプログラム |
US8904048B2 (en) * | 2011-09-08 | 2014-12-02 | Microsoft Corporation | Bidi extension for connected devices |
JP5931030B2 (ja) * | 2013-09-10 | 2016-06-08 | 株式会社沖データ | 画像形成装置及び画像形成方法 |
JP2016177608A (ja) * | 2015-03-20 | 2016-10-06 | セイコーエプソン株式会社 | 印刷制御装置、印刷制御プログラム |
-
2015
- 2015-03-20 JP JP2015058010A patent/JP2016177609A/ja active Pending
- 2015-12-28 US US14/980,080 patent/US9836677B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019159617A (ja) * | 2018-03-09 | 2019-09-19 | 株式会社リコー | 情報処理装置、情報処理システム、及びプログラム |
JP7110631B2 (ja) | 2018-03-09 | 2022-08-02 | 株式会社リコー | 情報処理装置、情報処理システム、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20160275388A1 (en) | 2016-09-22 |
US9836677B2 (en) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9681018B2 (en) | Information processing device and non-transitory computer-readable medium storing instructions for print control | |
US20130235422A1 (en) | Printing system and method thereof | |
EP2807547B1 (en) | Information processing apparatus, and program | |
WO2013111536A1 (en) | Information processing apparatus, method, and program | |
JP2016177608A (ja) | 印刷制御装置、印刷制御プログラム | |
JP2013149085A (ja) | 印刷システム、印刷制御装置、および印刷制御プログラム | |
KR101395488B1 (ko) | 화상 처리 장치, 그 제어 방법 및 그 프로그램 저장용 저장 매체 | |
JP2011131382A (ja) | 画像形成システムおよび画像形成装置 | |
JP2011237901A (ja) | プレビュー画面表示制御装置およびプログラム | |
JP6116295B2 (ja) | 画像形成装置、画像形成方法及びプログラム | |
US20170031668A1 (en) | Peripheral apparatus and method | |
JP2016177609A (ja) | 印刷制御装置、印刷制御プログラム | |
US8542393B1 (en) | Print control apparatus, image forming system, and non-transitory computer-readable medium | |
US10484569B2 (en) | Information processing apparatus, recording medium, and control method for displaying information by a browser | |
JP2014002688A (ja) | 情報処理装置、情報処理装置のジョブ処理方法、及びプログラム | |
CN112306428A (zh) | 信息处理装置、信息处理方法以及计算机可读介质 | |
JP2011054013A (ja) | 情報処理装置とプログラムとコンピュータ読み取り可能な記録媒体 | |
JP6680060B2 (ja) | 印刷制御装置および印刷制御プログラム | |
KR101385492B1 (ko) | 데이터 전송 장치와 화상형성장치 및 그 방법 | |
JP2016177610A (ja) | 印刷制御装置、印刷制御プログラム | |
US20220236932A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6084325B2 (ja) | 情報処理装置、方法およびプログラム | |
JP2015179334A (ja) | 情報処理装置、印刷装置、及び情報処理方法 | |
JP5895825B2 (ja) | 画像形成装置および画像形成装置制御方法 | |
JP2009230426A (ja) | 情報処理装置、情報処理方法、及びプログラム |