JP6551054B2 - ドライバープログラム、及び、制御方法 - Google Patents

ドライバープログラム、及び、制御方法 Download PDF

Info

Publication number
JP6551054B2
JP6551054B2 JP2015166830A JP2015166830A JP6551054B2 JP 6551054 B2 JP6551054 B2 JP 6551054B2 JP 2015166830 A JP2015166830 A JP 2015166830A JP 2015166830 A JP2015166830 A JP 2015166830A JP 6551054 B2 JP6551054 B2 JP 6551054B2
Authority
JP
Japan
Prior art keywords
data
command
printer
print
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015166830A
Other languages
English (en)
Other versions
JP2017045247A (ja
Inventor
俊一 若狭
俊一 若狭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015166830A priority Critical patent/JP6551054B2/ja
Priority to US15/244,187 priority patent/US9928454B2/en
Publication of JP2017045247A publication Critical patent/JP2017045247A/ja
Application granted granted Critical
Publication of JP6551054B2 publication Critical patent/JP6551054B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/408Handling exceptions, e.g. faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1805Receiving printer configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1825Adapting the print data to an output condition, e.g. object trapping

Description

本発明は、プリンターのドライバープログラム等に関し、特に、印刷データを圧縮してプリンターへ送信する場合にも、リアルタイムコマンドを誤動作させることなく適正に実行させることのできるドライバープログラム等に関する。
従来、プリンターに送信される命令(コマンド)には、各種印刷コマンドのように送信の順番に(プリンターでの受信の順番に)処理されるコマンド(以下、通常コマンドと称す)と、プリンターで受信後、通常コマンドに優先して即座に実行されるコマンド(以下、リアルタイムコマンドと称す)がある。
リアルタイムコマンドには、プリンターの状態を示す情報(ステータス情報)をホスト装置に返信させるコマンド、プリンターのデータバッファーに貯められているデータをクリアさせるコマンド、警報音を鳴らさせるなど装置を動作(駆動)させるコマンドなどがある。
このようなプリンターに送信されるコマンドにおいて、イメージやグラフィクスを印刷対象とする印刷コマンドには、イメージデータなどのバイナリ―データが含まれ、それらのデータ列に、上述したリアルタイムコマンドのデータ列と同一のデータ列が含まれてしまう場合がある。かかる場合には、当該データ列を受信したプリンターが、リアルタイムコマンドを受信したと誤解釈し、意図していないリアルタイムコマンドの実行がなされてしまう虞がある。このような偽リアルタイムコマンドによる誤動作は、例えば、必要なデータがクリアされてしまうなどの事態を引き起こし、プリンターの使用上避けられなければならない。
かかる課題に対して、下記特許文献1で提案されている装置では、リアルタイム禁止コマンドなるものを用いて、プリンターでリアルタイムコマンドが実行されない状態とする措置が取られる。
一方、モバイル端末からプリンターに印刷命令を出す場合など無線通信によってプリンターを利用する環境が増えている。このような環境では、プリンターにおける印刷パフォーマンスの向上、一定した印刷速度による印刷品質の確保等の観点から、プリンターへのデータ送信時間を短縮するべく、ホスト装置において送信するデータを圧縮する処理がなされている。
このように圧縮されたデータの中にも、上述したようにリアルタイムコマンドと同一のデータ列が含まれてしまう虞があり、従来は、圧縮後のデータにリアルタイムコマンドと同一のデータ列が含まれていることが検出されると、圧縮せずに元のデータをプリンターに送信するという処理がなされていた。
特開2000−298563号公報
しかしながら、上述のようにデータを圧縮してプリンターへ送信することが好ましい環境において、圧縮せずに元のデータで送信を行うと、圧縮により発生した偽リアルタイムコマンドによる誤動作を防止できるものの、連続印刷するプリンターにおいては、通信の遅れによってプリンターでの印刷速度を落とさざるを得ない場合が発生し、このような印刷速度の変化によって印刷した画像にいわゆる白筋が入ってしまうなどの印刷不良が起こる虞がある。
また、上記特許文献1に記載の方法を適用した場合には、リアルタイムコマンドと同一のデータ列が含まれる圧縮データを送信してもプリンターにおける偽リアルタイムコマンドによる誤動作を防止できるが、圧縮データを送信中に本当にリアルタイムコマンドの実行が必要になる場合もあり、そのような場合には、リアルタイムコマンドを送信してもプリンター側でリアルタイムコマンドの実行が禁止の状態となっており、リアルタイムコマンドの実行が困難である、という課題がある。
そこで、本発明の目的は、プリンターのドライバープログラムであって、印刷データを圧縮してプリンターへ送信する場合にも、リアルタイムコマンドを誤動作させることなく適正に実行させることのできるドライバープログラム、等を提供することである。
上記の目的を達成するために、本発明の一つの側面は、プリンターに接続可能なホストコンピューターに搭載され、前記プリンターで受信順に実行される第1コマンドと、前記第1コマンドに優先して実行される第2コマンドを生成可能であり、前記第1コマンドを含む印刷データの生成と当該印刷データの前記プリンターへの送信を実行させるドライバープログラムが、前記印刷データの生成の際に、前記印刷データに含まれる前記第1コマンドのデータを前記第2コマンドと同一のデータ列を含まない圧縮データとする圧縮処理を、前記ホストコンピューターに実行させる、ことである。
これにより、例えば印刷データに含まれるイメージの印刷命令を示す第1コマンドとそれに伴うイメージデータなどのサイズの大きいデータについて、第1コマンドに優先して実行される第2コマンドと同一のデータ列を含まない圧縮データとして、プリンターへ送信するので、第2コマンドについてプリンターでの誤実行を防止でき、且つ、サイズの大きいデータについて常に圧縮データとして送信できるので、プリンターへの送信速度が速く、プリンターの印刷速度を落とすことによる白筋の発生などの印刷品質の劣化を防止することができる。
更に、上記発明において、その好ましい態様は、前記圧縮処理は、前記第2コマンドと同一のデータ列を含まない圧縮データとなるまで、異なる圧縮方法で前記データの圧縮を行う処理である、ことを特徴とする。
これにより、圧縮データを確実に第2コマンドと同一のデータ列を含まないデータとすることができる。
更にまた、上記発明において、その好ましい一つの態様は、前記圧縮処理は、前記第2コマンドと同一のデータ列を含まない圧縮データとなるまで、異なる圧縮度合で前記データの圧縮を行う処理である、ことを特徴とする。
これにより、比較的簡便な方法で、圧縮データを第2コマンドと同一のデータ列を含まないデータとすることができる。
更に、上記発明において、その好ましい態様は、前記第2コマンドは、少なくとも、前記プリンターのデータバッファーに蓄積されるデータをクリアさせるコマンド、装置の駆動を指示させるコマンド、のいずれかを含む、ことを特徴とする。
これにより、実行されると悪影響の大きい第2コマンドのプリンターにおける誤実行を防止できる。
更にまた、上記発明において、その好ましい態様は、前記圧縮データとされる前記第1コマンドのデータは、イメージデータを含む、ことを特徴とする。
これにより、プリンターへの印刷データの送信速度を速くすることができる。
更に、上記発明において、その好ましい態様は、前記プリンターは、印刷媒体を搬送しながら印刷を行うラインプリンターである、ことを特徴とする。
これにより、印刷速度の乱れにより画像に白筋が入り易いラインプリンターでは白筋の発生を抑制でき、さらに印刷速度も速いため、印刷データを圧縮データとしてプリンターへ送ることがより効果的となる。
上記の目的を達成するために、本発明の別の側面は、プリンターに接続可能であり、前記プリンターで受信順に実行される第1コマンドと、前記第1コマンドに優先して実行される第2コマンドを生成可能なホストコンピューターに、前記第1コマンドを含む印刷データの生成と当該印刷データの前記プリンターへの送信を実行させる制御方法において、前記印刷データの生成の際に、前記印刷データに含まれる前記第1コマンドのデータを前記第2コマンドと同一のデータ列を含まない圧縮データとする圧縮処理を、前記ホストコンピューターに実行させる、ことである。
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
本発明を適用したプリンタードライバーを備える印刷システムの実施の形態例に係る構成図である。 プリンタードライバー12の処理手順を例示したフローチャートである。 圧縮レベルと圧縮データのサイズを例示した図である。
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
図1は、本発明を適用したプリンタードライバーを備える印刷システムの実施の形態例に係る構成図である。図1に示すプリンタードライバー12が本実施の形態例に係るプリンタードライバーであり、プリンタードライバー12は、イメージの印刷命令(第1コマンド、後述の印刷命令コマンド)とそれに伴うイメージデータ等を圧縮後にプリンター2に送信するが、その圧縮処理において、圧縮後のデータ(以下、圧縮データと称す)にリアルタイムコマンド(第2コマンド)と同一のデータ列が含まれなくなるまで異なる手法で圧縮を繰り返し、リアルタイムコマンドと同一のデータ列が含まれない圧縮データを生成する。これにより、プリンター2におけるリアルタイムコマンドの誤動作を確実に防止でき、また、データサイズの大きいイメージデータ等を常に圧縮して送信できるので、通信速度が律速となってプリンター2における印刷速度を落としてしまうこともない。更に、プリンター2では常にリアルタイムコマンドを実行できる状態なので、イメージデータ等の送信中であっても、必要なリアルタイムコマンドをすぐに実行させることができる。
図1に示す本実施の形態例に係る印刷システムは、BLUETOOTH(登録商標)などの無線通信3で接続されるホストコンピューター1とプリンター2を備える。かかる印刷システムは、ここでは一例として、POS(Point of Sales)システムの一部として機能し、商品販売後のレシートの印刷などを主に行う。
ホストコンピューター1は、プリンター2にレシートなどの印刷命令を行うプリンター2のホスト装置である。ここでは一例として、ホストコンピューター1は、いわゆるレジ端末であり、商品販売時の精算処理等を行う。また、ホストコンピューター1は、販売員が携帯できるモバイル型の端末装置であっても構わない。
図示していないが、ホストコンピューター1は、ハードウェア構成として、CPU、RAM、ROM、HDD、表示装置、通信インターフェース、操作装置、バーコードリーダー等の入力装置、現金を収納するドロワーなどを備えている。
ホストコンピューター1は、機能構成としては、図1に示すように、アプリケーション11とプリンタードライバー12を備える。
アプリケーション11は、ここでは、いわゆるPOSアプリケーションであり、商品販売時の精算処理等を実行する。具体的には、例えば、バーコードリーダー等の入力装置から入力された販売商品の情報に基づいて合計金額を算出、表示し、代金の受領後、レシートの印刷要求を行う。当該レシートの印刷要求は、GDI(Graphics Device Interface)などの標準形式の印刷要求データをプリンタードライバー12に送信して行う。
なお、レシートには、店舗のロゴ、販売日時、販売商品の名称・個数・金額、合計金額、店舗情報・販売員情報などを含むバーコード等が含まれ、これらがプリンター2において印刷される。これら印刷対象を表すデータが上述した印刷要求データに含まれる。
また、アプリケーション11は、ホストコンピューター1のHDD等に記憶されるアプリケーションプログラム、当該プログラムに従って処理を実行するCPU、前記プログラムや処理データがロードされるRAM、等によって構成される。
プリンタードライバー12は、プリンター2用のドライバーである。プリンタードライバー12は、上述したアプリケーション11等からの印刷要求データを受信し、その印刷要求データで要求された印刷をプリンター2に命令する印刷データを生成する。その後、プリンタードライバー12は、生成した印刷データをプリンター2に送信する。プリンタードライバー12が生成する印刷データは、プリンター2用のコマンドで表現される。
なお、プリンター2用のコマンドには、上述したように、ホストコンピューター1からの送信の順番に(プリンター2での受信の順番に)処理されるコマンド(以下、通常コマンド(第1コマンド)と称す)と、プリンター2で受信後、通常コマンドに優先して即座に実行されるコマンド(以下、リアルタイムコマンド(第2コマンド)と称す)がある。
上記印刷データに含まれる、上記印刷対象の印刷命令を表すコマンド(以下、印刷命令コマンドと称す)は通常コマンドである。上述したレシートの印刷対象のうち、店舗のロゴ、バーコード等はイメージデータ(各画素が色の情報を持つデータ)として印刷命令コマンドに含まれ、販売日時、合計金額等はそれぞれのテキスト(文字)を表すコードとして印刷命令コマンドに含まれる。
なお、印刷命令コマンドの送信前などに発せられる、プリンター2のステータス情報を取得するコマンドや、印刷の中止時などに発せられる、プリンター2のデータバッファー(受信バッファー25、プリントバッファー26)に蓄積されたデータをクリアにさせるコマンドなどは、リアルタイムコマンドである。また、POS端末(ホストコンピューター1)のドロワーを開ける指示を出させるコマンド、警報音の指示を出させるコマンドなど、装置の駆動を指示させるコマンドもリアルタイムコマンドである。なお、これらのリアルタイムコマンドは、プリンタードライバー12、図示していないプリンター2用のユーティリティーなどから発せられる。
また、プリンタードライバー12は、上述したイメージデータなどデータサイズの大きいデータを印刷データとしてプリンター2に送信する際には、圧縮データとして印刷データに含める。本印刷システムでは、この圧縮データを生成する処理(圧縮処理)に特徴があり、その具体的な内容は後述する。
なお、プリンタードライバー12は、ホストコンピューター1のHDD等に記憶されるドライバープログラム、当該プログラムに従って処理を実行するCPU、前記プログラムや処理データがロードされるRAM、等によって構成される。
次に、プリンター2は、ホストコンピューター1の命令に従ってレシートなどを印刷する、いわゆるPOSプリンターである。プリンター2は、ここでは一例として、インクジェット方式又はサーマル方式のラインヘッドを備え、印刷媒体である用紙(ロール紙等)に連続して(印刷中用紙の搬送を止めずに)印刷を行うラインプリンターである。
図1に示すように、プリンター2は、コントローラー部21と印刷機構部22を備える。更に、プリンター2は、図示していないが、ユーザーへの表示装置、ユーザーの操作装置、警報音を発する装置、無線通信インターフェースなどを備える。
コントローラー部21は、プリンター2の動作を制御する部分であり、図1に示すように、CPU23、RAM24、ROM27、NVRAM28等を備える。
CPU23は、ROM27に記憶されるプログラム(ファームウェア)に従って動作し、プリンター2の各部の制御を実行する。ホストコンピューター1から印刷データを受信した際には、印刷データに含まれる各コマンドを解釈し、当該解釈の結果に従って印刷機構部22に印刷処理を指示する。また、CPU23は、リアルタイムコマンドを受信し際には、その指示内容を通常コマンドに優先して即座に実施する。
RAM24には、受信バッファー25とプリントバッファー26が設けられる。受信バッファー25は、ホストコンピューター1から受信したコマンド(データ)を受信順に格納する(蓄積する)データバッファーである。また、プリントバッファー26は、上述した印刷対象の画像データを格納する(蓄積する)データバッファーであり、当該プリントバッファー26に格納された画像データが、順次、印刷機構部22に送信されて、上述した印刷処理の指示がなされる。
NVRAM28には、設定情報、ステータス情報などプリンター2の電源が切断されても消さずに記憶しておくべき情報が格納される。
印刷機構部22は、コントローラー部21の指示に従って用紙への印刷処理を実行する部分であり、用紙の搬送部、ラインヘッドなどの印字部を備える。ここでは、コントローラー部21の指示に従ってレシート等を印刷する。
プリンター2は、ホストコンピューター1から受信したコマンドを、受信順に、受信バッファー25に格納する。受信したコマンドが通常コマンドである場合には、CPU23は、FIFO(first in first out)方式の順番で、すなわち、先に格納されているコマンドから順番に、処理を実行する。一方、受信したコマンドがリアルタイムコマンドである場合には、CPU23は、受信後、通常コマンドに優先して即座にそのコマンドを実行する。この場合、受信バッファー25に格納されたリアルタイムコマンドは、上記FIFO方式の順番で処理タイミングになった際には、読み捨てられる。
また、通常コマンドとして上述の順番で処理される印刷命令コマンドは、その処理時に、CPU23によって解釈されて、対応する印刷対象の画像データが生成される。生成された画像データは、上述の通り、プリントバッファー26に格納され、順次、印刷機構部22へ渡される。なお、印刷対象のデータが圧縮データである場合には、CPU23は、その圧縮データを伸長した後に上記画像データとする。
以上説明したような構成を有する本実施の形態例に係る印刷システムでは、ホストコンピューター1のプリンタードライバー12の処理に特徴があり、以下、その具体的な処理内容について説明する。
図2は、プリンタードライバー12の処理手順を例示したフローチャートである。以下、図2に基づいて、プリンタードライバー12が印刷要求データを受信した際の処理内容について説明する。
まず、ホストコンピューター1のアプリケーション11から上述した印刷要求データを受信する(図2のステップS1)。なお、ここでは、印刷要求データは、1レシートの印刷を要求するものである。
その後、プリンタードライバー12は、受信した印刷要求データについて、所定の単位毎に、図2のステップS2−S8の処理を実行する。なお、印刷要求データには、印刷条件の設定など印刷の前処理を示すデータ、印刷対象を示すデータ、用紙のカットなど印刷後の処理を示すデータ等が含まれるが、印刷対象を示すデータについては、プリンタードライバー12は、オブジェクト単位で図2のステップS2−S8の処理を実行する。ここで、オブジェクトとは、図形(イメージ、グラフィクス)や文字(テキスト)の一塊を意味する。
まず、ステップS2では、プリンタードライバー12は、処理対象が、イメージ又はグラフィクスの印刷対象を示すデータであるか否かを判断する。当該判断の結果、イメージ又はグラフィクスの印刷対象を示すデータでない場合には(図2のステップS2のNo)、処理がステップS7に移行する。
一方、上記判断の結果、イメージ又はグラフィクスの印刷対象を示すデータである場合には(図2のステップS2のYes)、プリンタードライバー12は、当該データについて圧縮処理(ステップS3−ステップS5のNo)を実行する。
当該圧縮処理では、処理対象のデータを圧縮するが、データ圧縮の手法として、ここでは、デフレート圧縮を用い、さらに具体的には、Zlibを用いる。Zlibには、圧縮度合の違いによる10の圧縮レベル(1−10)が用意されている。
上記圧縮処理では、プリンタードライバー12は、まず、データの圧縮に使用する圧縮レベルとして、標準圧縮レベルを選択する(図2のステップS3)。具体的には、一例として、圧縮レベル6を選択する。
次に、プリンタードライバー12は、選択した圧縮レベルで対象のデータを圧縮する(図2のステップS4)。
その後、プリンタードライバー12は、生成された圧縮データの中に、所定のリアルタイムコマンドと同一のデータ列が含まれているか否かを判断する(図2のステップS5)。ここで、所定のリアルタイムコマンドとしては、上述したデータバッファーに蓄積されたデータをクリアにさせるコマンド、装置の駆動を指示させるコマンドなど、実際に発せられていないにも関わらず誤実行することを防止したいものが予め選択されている。
また、圧縮データに所定のリアルタイムコマンドと同一のデータ列が含まれているかのサーチ処理は、従前の方法を用いることができる。
上記判断の結果、圧縮データの中に所定のリアルタイムコマンドと同一のデータ列が含まれていないと判断した場合には(図2のステップS5のNo)、処理がステップS7に移行する。
一方、上記判断の結果、圧縮データの中に所定のリアルタイムコマンドと同一のデータ列が含まれていると判断した場合には(図2のステップS5のYes)、プリンタードライバー12は、圧縮レベルの変更を行う(図2のステップS6)。具体的には、処理対象のデータについてこれまでに使用(選択)していない圧縮レベルを選択する。処理対象のデータについて初めて当該処理を行う場合には、標準圧縮レベル(圧縮レベル6)以外の圧縮レベルが選択される。なお、当該圧縮レベルの変更(選択)は、予め定められた順番で行ってもよいし、乱数などを用いて行ってもよい。
その後、プリンタードライバー12は、変更(選択)された圧縮レベルで再度データの圧縮を行う(図2のステップS4)。
このようにして、圧縮データの中に所定のリアルタイムコマンドと同一のデータ列が含まれていないと判断されるまで(図2のステップS5のNo)、ステップS6、ステップS4、ステップS5の処理が繰り返し実行される。すなわち、圧縮データが所定のリアルタイムコマンドと同一のデータ列を含まないようになるまで、圧縮レベルを変えてデータの圧縮を行う。
なお、ステップS4におけるデータの圧縮は、常に、受信したデータに対して行なわれる。
処理がステップS7に移行すると、プリンタードライバー12は、処理対象のデータをプリンター2用のコマンドで表現し(コマンド化し:イメージの印刷命令を示す第1コマンドを圧縮したイメージデータに付加してプリンター2で解釈可能な形式にし)、処理対象のデータ(上記所定の単位のデータ)についての処理を終了する。
その後、プリンタードライバー12は、全てのデータ(上記所定の単位のデータ)について処理が終了するまで(図2のステップS8のYes)、ステップS2−S8の処理を繰り返し実行する。
当該処理により、イメージデータ、グラフィクスデータは圧縮データとなってコマンド化され(上記印刷命令コマンドとされ)、テキストなどその他のデータは圧縮されずにコマンド化されて(上記印刷命令コマンドとされて)、受信した印刷要求データに相応する印刷データが生成される。
受信した印刷要求データについて全ての処理が終了すると(図2のステップS8のYes)、プリンタードライバー12は、生成された印刷データをプリンター2へ送信する(図2のステップS9)。
このようにして印刷要求を受けた際のプリンタードライバー12の処理が終了し、プリンター2は上記送信された印刷データを受信して、当該印刷データに従って印刷を実行する。すなわち、当該例では、レシートの印刷を行う。
なお、プリンタードライバー12は、必要な時に、適宜、リアルタイムコマンドをプリンター2に送信し、当該リアルタイムコマンドを受信したプリンター2は、上述の通り、通常コマンドに優先して即座にそのリアルタイムコマンドを実行する。
図3は、圧縮レベルと圧縮データのサイズを例示した図である。図3に示す例では、5つの異なるデータ(001.prm−005.prm)について、圧縮レベル1−9のそれぞれでデータの圧縮を行った際の圧縮データのサイズがバイト単位で示されている。各データについて、圧縮データのサイズを表右端の「元のデータサイズ」と比較すると、どの圧縮レベルにおいてもそれ相応の圧縮効果があり、圧縮度合の低い圧縮レベル1においても圧縮度合の高い圧縮レベル9の場合と大差のない(オーダーとして変わらない)圧縮効果があることがわかる。従って、図2に基づいて説明した圧縮処理を行い、最終的にどの圧縮レベルが選択されても(用いられても)、圧縮データのデータサイズを極端に大きくしてしまうことがなく、すなわち、プリンター2への通信時間を極端に長くしてしまうことがない。
以上説明したように、本実施の形態例に係るプリンタードライバー12では、印刷データに含まれるイメージデータなどのサイズの大きいデータについて、所定のリアルタイムコマンドと同一のデータ列を含まない圧縮データとして、プリンター2へ送信するので、所定のリアルタイムコマンドについてプリンター2での誤実行を防止でき、且つ、サイズの大きいデータについて常に圧縮データとして送信できるので、特にラインヘッドを備えたラインプリンターであるプリンター2への送信速度が速く、連続印刷するプリンター2の印刷速度を落とすことによる白筋の発生などの印刷品質の劣化を防止することができる。更に、プリンター2側では、リアルタイムコマンドを常に実行できる状態なので、印刷データの送信中であっても、必要なリアルタイムコマンドをすぐに実行させることができる。
また、このような効果を、プリンタードライバー(プログラム)で実現することができる。
また、所定のリアルタイムコマンドと同一のデータ列を含まない圧縮データとするために、圧縮レベルを変えて再圧縮する方法を用い、比較的容易に実現できる。
また、上記所定のリアルタイムコマンドとして、データバッファーに蓄積されたデータをクリアにさせるコマンド、装置の駆動を指示させるコマンドなどを設定することで、影響が大きい誤実行を効果的に防止することができる。
なお、上述の説明では、圧縮データが所定のリアルタイムコマンドと同一のデータ列を含まないようにするために、再圧縮の際にZlibの異なる圧縮レベルを選択するようにしていたが、これに限らず、圧縮データの内容(データ列)が変わる異なる圧縮方法を選択するようにすればよい。
また、上述の説明では、圧縮データが所定のリアルタイムコマンドと同一のデータ列を含まないようにしたが、全てのリアルタイムコマンドと同一のデータ列を含まないようにしてもよい。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
1…ホストコンピューター、2…プリンター、3…無線通信、11…アプリケーション、12…プリンタードライバー、21…コントローラー部、22…印刷機構部、23…CPU、24…RAM、25…受信バッファー、26…プリントバッファー、27…ROM、28…NVRAM

Claims (7)

  1. プリンターに接続可能なホストコンピューターに搭載され、前記プリンターで受信順に実行される第1コマンドと、前記第1コマンドに優先して実行される第2コマンドを生成可能であり、前記第1コマンドを含む印刷データの生成と当該印刷データの前記プリンターへの送信を実行させるドライバープログラムであって、
    前記印刷データの生成の際に、前記印刷データに含まれる前記第1コマンドのデータ前記第2コマンドと同一のデータ列を含まない圧縮データとなるまで前記データの圧縮を行う圧縮処理を、前記ホストコンピューターに実行させる
    ことを特徴とするドライバープログラム。
  2. 請求項1において、
    前記圧縮処理は、前記第2コマンドと同一のデータ列を含まない圧縮データとなるまで、異なる圧縮方法で前記データの圧縮を行う処理である
    ことを特徴とするドライバープログラム。
  3. 請求項1あるいは2において、
    前記圧縮処理は、前記第2コマンドと同一のデータ列を含まない圧縮データとなるまで、異なる圧縮度合で前記データの圧縮を行う処理である
    ことを特徴とするドライバープログラム。
  4. 請求項1乃至3のいずれか1項において、
    前記第2コマンドは、少なくとも、前記プリンターのデータバッファーに蓄積されるデータをクリアさせるコマンド、装置の駆動を指示させるコマンド、のいずれかを含む
    ことを特徴とするドライバープログラム。
  5. 請求項1乃至4のいずれか1項において、
    前記圧縮データとされる前記第1コマンドのデータは、イメージデータを含む
    ことを特徴とするドライバープログラム。
  6. 請求項1乃至5のいずれか1項において、
    前記プリンターは、印刷媒体を搬送しながら印刷を行うラインプリンターである
    ことを特徴とするドライバープログラム。
  7. プリンターに接続可能であり、前記プリンターで受信順に実行される第1コマンドと、前記第1コマンドに優先して実行される第2コマンドを生成可能なホストコンピューターに、前記第1コマンドを含む印刷データの生成と当該印刷データの前記プリンターへの送信を実行させる制御方法であって、
    前記印刷データの生成の際に、前記印刷データに含まれる前記第1コマンドのデータ前記第2コマンドと同一のデータ列を含まない圧縮データとなるまで前記データの圧縮を行う圧縮処理を、前記ホストコンピューターに実行させる
    ことを特徴とする制御方法。
JP2015166830A 2015-08-26 2015-08-26 ドライバープログラム、及び、制御方法 Active JP6551054B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015166830A JP6551054B2 (ja) 2015-08-26 2015-08-26 ドライバープログラム、及び、制御方法
US15/244,187 US9928454B2 (en) 2015-08-26 2016-08-23 Host computer, control method of a host computer, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015166830A JP6551054B2 (ja) 2015-08-26 2015-08-26 ドライバープログラム、及び、制御方法

Publications (2)

Publication Number Publication Date
JP2017045247A JP2017045247A (ja) 2017-03-02
JP6551054B2 true JP6551054B2 (ja) 2019-07-31

Family

ID=58095935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015166830A Active JP6551054B2 (ja) 2015-08-26 2015-08-26 ドライバープログラム、及び、制御方法

Country Status (2)

Country Link
US (1) US9928454B2 (ja)
JP (1) JP6551054B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6705691B2 (ja) * 2016-04-26 2020-06-03 東芝テック株式会社 情報処理装置及びプログラム
CN109167737B (zh) * 2018-07-27 2022-05-03 中国地质大学(武汉) 融合数据缩减与动态优先权队列的can调度方法
JP2023049478A (ja) 2021-09-29 2023-04-10 ブラザー工業株式会社 サポートプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175287A (ja) * 1997-12-16 1999-07-02 Canon Inc データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
EP2933717A1 (en) 1999-03-18 2015-10-21 Seiko Epson Corporation Printer, information processing apparatus, methods of controlling them, and storage medium carrying computer program
JP3812216B2 (ja) 1999-04-12 2006-08-23 セイコーエプソン株式会社 印刷装置の制御方法
EP1039367A3 (en) * 1999-03-25 2002-02-06 Seiko Epson Corporation Printer controller, printer control method, and data storage medium carrying computer program means
JP4320905B2 (ja) * 1999-03-25 2009-08-26 セイコーエプソン株式会社 プリンタ制御装置、プリンタ制御方法および情報記録媒体
JP2002187315A (ja) 2000-12-21 2002-07-02 Seiko Epson Corp プリンタ及びプリント方法
JP3949012B2 (ja) 2002-06-24 2007-07-25 シャープ株式会社 データ送受信方法、送信機、受信機及び送受信装置
JP5484166B2 (ja) 2010-04-14 2014-05-07 キヤノン株式会社 撮像装置
JP6171530B2 (ja) * 2013-04-23 2017-08-02 セイコーエプソン株式会社 印刷制御装置、印刷システムおよび印刷制御方法

Also Published As

Publication number Publication date
US9928454B2 (en) 2018-03-27
JP2017045247A (ja) 2017-03-02
US20170061267A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
US8724142B2 (en) Image forming device, printing a print job based on a changed print setting
US8699070B2 (en) Control method for replacing data rendering blocks of white space with paper feed commands
JP6551054B2 (ja) ドライバープログラム、及び、制御方法
JP2019040564A (ja) プリンタドライバ、および情報処理装置
US10046577B2 (en) Printing device, printing system, and control method of a printing device
JP6372170B2 (ja) プリンターの制御装置、プリントシステム、制御方法、及び、制御プログラム
CN108287672B (zh) 服务器装置、记录介质、信息处理系统及图像形成装置
JP6680118B2 (ja) 印刷装置、及び、制御方法
CN109109469B (zh) 打印机及打印机系统
US20150277832A1 (en) Printer Control Device, Printing System, and Control Method
US9851929B2 (en) Printing system, information processing device, and printing machine
JP2015219683A (ja) 印刷装置及び印刷装置の制御方法
US9444968B2 (en) Image forming apparatus that continues without halt to perform print job including sign where glyph is invalid data, and recording medium
JP7059655B2 (ja) 画像形成装置およびプログラム
US11216230B2 (en) Job transmission device, job processing device, program, and job transmission method performed by job transmission device
JP6394303B2 (ja) ドライバープログラム、印刷システム、及び、データ処理方法
US8526047B1 (en) Print control apparatus, image forming system, non-transitory computer readable medium
JP7263830B2 (ja) プリンタ及びモジュール
KR100571960B1 (ko) 화상형성장치의 제어장치 및 방법
US20160142583A1 (en) Image forming system that prevents increasing of data amount of print data and reducing of printing result quality, image forming apparatus, and recording medium
JP6236943B2 (ja) 通信制御方法、及び、情報処理装置
JP4955582B2 (ja) 画像処理装置及び画像処理プログラム
JP2018151996A (ja) データ処理装置及びプログラム
JPH10329383A (ja) 画像出力装置
JP2015185080A (ja) プリンターの制御装置、プリントシステム、制御方法、及び、制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

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: 20190604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190617

R150 Certificate of patent or registration of utility model

Ref document number: 6551054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150