CN1132092C - 打印机控制装置及打印机控制方法 - Google Patents
打印机控制装置及打印机控制方法 Download PDFInfo
- Publication number
- CN1132092C CN1132092C CN00108634A CN00108634A CN1132092C CN 1132092 C CN1132092 C CN 1132092C CN 00108634 A CN00108634 A CN 00108634A CN 00108634 A CN00108634 A CN 00108634A CN 1132092 C CN1132092 C CN 1132092C
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- serial data
- printer
- data string
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
-
- 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
-
- 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/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1803—Receiving particular commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
- G06K2215/0011—Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
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)
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
本发明提供一种打印机控制装置及打印机控制方法。打印机控制装置的判断部判断使打印机打印图形数据的指令的数据串是否包含与预定的数据串例如与实时指令的数据串相同的数据串。当指令的数据串包含预定的数据串时,生成部分割指令的数据串,分别成为不包含该预定数据串的多个指令的数据串,来生成使打印机打印与该图形数据相同的图形数据的多个数据串,发送部向打印机发送由生成部所生成的多个指令的数据串。
Description
技术领域
本发明涉及打印机控制装置及打印机控制方法。特别是,涉及在向进行实时指令的处理的打印机打印包含与实时指令的数据串相同的数据串这样的图形数据的情况下,能够防止打印机的误动作的打印机控制装置及打印机控制方法。
背景技术
打印机(印刷装置)作为在纸等印刷媒体上印刷文字和图形的装置已经广泛普及了。这样的打印机连接在主计算机(信息处理装置)上,主计算机向打印机发送用于印刷文字和图形的数据串以及用于控制打印机本身的数据串。因此,这样的主计算机作为打印机控制装置而工作。
主计算机向打印机发送的数据既可以视为比特串又可以视为字节串。特别是,在打印机中,以8比特(1字节)单位来构筑指令体系,任一个指令大多是由8的倍数的比特数,即由某个字节数组成的数据串所构筑起来的。
作为用于印刷文字的数据串,使用与ASCII码相同的字节值,另一方面,在图象的印刷和用户定义字体的定义中,使用通过字节串来表示黑白(即,是否打印形成图象或者字体的各点)的方法。而且,在图象的印刷中,具有通过在各字节中包含的多个比特来表示图象的各点的颜色的方法。把表示这样的图象和字体的数据称为图形数据。
当打印机通过接口接收到从主计算机所发送的1字节或者几字节的数据时,接收插入产生,而启动接收插入处理。在接收插入处理中,进行以下处理:
(1)判别在接收的数据中是否包含实时指令,在包含的情况下,立刻执行与该实时指令相对应的处理。
(2)把接收的数据存储在由RAM(Random Access Memory)所构成的接收缓冲器中。
这样,通常的指令和印刷数据在存储在接收缓冲器中之后进行FIFO(First-In-First-Out)的处理,与此相对,实时指令是在被存储在接收缓冲器之前所处理的紧急性高的指令,是优先于通常的指令和印刷数据而进行处理的指令。
当上述接收插入处理结束时,返回正常处理。在正常处理中,解释在接收缓冲器中所存储的数据串,在RAM中所准备的打印缓冲器中展开印刷图形。印刷图形一般是用1和0的比特值来表示使印刷区域的哪些部分为白的、哪些部分为黑的即怎样驱动印刷头。一路(例如一行)的印刷图形展开之后,按照打印缓冲器的内容来驱动印刷头,来印刷文字和图形。
当从接收缓冲器所读出的数据串是相当于实时指令的数据串时,由于在接收插入处理中已经进行了与相应指令相对应的处理,则在正常处理中简单地跳过。
在现有技术中,作为实时指令使用以下这样的指令。以下的数据的字节串使用ASCII码的助记码进行表示。
·「DLE EOT NUL」…把打印机的状态实时发送给主计算机。
·「DLE EOT BEL」…把打印机的墨粉状态实时发送给主计算机。
·「DLE EOT BS 」…把MICR(Magnetic Ink Character Recognition)的状态实时发送给主计算机。
·「DLE ENQ」…对打印机的实时要求。
·「DLE DC4 SOH」…实时输出指定脉冲。
其中,各个助记码是通过十六进制数表述按以下这样进行定义,「0x」是代表十六进制数的接头词。
NUL=0x00 SOH=0x01 EOT=0x04 ENQ=0x05
BEL=0x07 BS=0x08 DLE=0x10 DC4=0x14
如上述那样,在实时指令的数据串中,没有包含除NUL、SOH、EOT、ENQ、BEL、BS、DLE、DC4这样的字节值之外的其他内容。
另一方面,作为在现有技术中所使用的通常指令之一的图象印刷指令具有以下这样的格式:
·「ESC 0x6d nd1…dn」
这是印刷高度8点、行方向的宽度「n」点的图象的指令。「d1…dn」分别用8比特的值来表示使高度方向8个并排的点哪个为黑的、哪个为白的。即,d1…dn是图形数据的数据串。以下把该印刷指令中的长度n的参数、n字节长的数据串的d1…dn称为图形数据参数。这些参数能够取任意的字节值。
但是,在图形数据的数据串中,与实时指令相同的数据串会偶然出现。因此,会有这样的可能性:存在不应该解释为原来的实时指令的情况,在上述这样的接收插入处理中,执行与实时指令相对应的处理。
即,由于主计算机用没有意义的定时执行没有意义的实时指令的处理,则例如在主计算机侧不准备接收来自打印机的状态数据,而不采取与打印机的配合性。
因此,希望即使提供包含与实时指令的数据串相同的数据串这样的图形数据的数据串,实时指令的处理也不会执行,而得到与印刷对应的图形数据相同的结果。
提出了变更·扩展与打印机相对应的指令体系来处理这样的事态的对策。但是,希望在能够再利用现有的打印机资源的形式下,把实时指令的数据串与其他数据串进行区别来处理。
发明内容
鉴于上述这样的问题,本发明的目的是提供打印机控制装置及打印机控制方法即使把包含与实时指令的数据串相同的数据串这样的图形数据打印到进行实时指令的处理的打印机上的情况下,也能防止打印机的误动作。
为了实现上述目的,本发明的打印机控制装置,其特征在于,包括:判断部,判断用于发送给打印机的发送数据串是否包含预定的数据串;生成部,根据由上述判断部所产生的判断结果,在上述发送数据串包含预定的数据串的情况下,分割上述发送数据串而生成多个分割数据串群,以不包含该预定的数据串,该生成部具有与上述发送数据串和上述多个数据串群相同的作用;发送部,根据由上述判断部所产生的判断结果,向打印机发送上述发送数据串或者上述多个数据串群。
在此情况下,发送数据串和分割数据串群具有首部和参数部,生成部把发送数据串具有的首部作为分割数据串群的首部并且根据发送数据串的分割数来生成分割数据串群的参数部,由此,能够容易地实现使多个数据串群具有与发送数据串具有的作用实际上相同的作用。
根据本发明,能够在向打印机发送数据之前,在主计算机侧检测实时指令的模型,在跨着该模型而分割成多个块之后进行发送,因此,能够预先防止由没有意义的实时指令的执行所带来的弊害。
本发明的打印机控制装置,向打印机发送具有排列成矩阵状的印刷数据串和表示该印刷数据串的行方向及列方向的长度的长度参数的发送数据,其特征在于,包括:判断部,判断印刷数据串是否包含预定的数据串(例如与控制对应打印机的特定指令的数据串相同的数据串);指定部,根据由判断部所产生的判断结果,在印刷数据串包含预定的数据串的情况下,指定该预定的数据串所处的行列;分割部,根据指定部的指定结果,在应该分割预定的数据串的印刷数据串中插入空数据,而生成多个分割印刷数据串群;变换部,根据指定部的指定结果,从发送数据的长度参数变换生成适合于各个分割印刷数据串群的长度参数群;发送部,根据由判断部所产生的判断结果,向打印机发送由通过分割部所生成的分割印刷数据串群和通过变换部所变换生成的长度参数群组成的发送数据串群。
根据本发明,即使在排列成矩阵状的图象数据中存在与实时指令相同的数据,通过在插入空数据并分割其之后发送给打印机,就能防止打印机的误动作。
在此情况下,当从图形数据的矩阵内的最下行开始排列预定的数据串时,就不插入空数据,通过分割成包含与预定的数据串相同的数据串的开头字节的列之前的数据和其之后的数据,就能得到同样的效果。
并且,希望应插入的空数据的长度根据发送数据的长度参数来决定。并且希望根据分割来生成表示分割印刷数据串群的印刷开始位置的数据,与发送数据串群一起发送给打印机。由此,能够在防止打印机的误动作的同时得到所希望的印刷结果。
印刷数据矩阵的列方向可以实质上与打印机的印刷媒体输送方向相同。
本发明可以适当地作为打印机控制方法来把握,即使在此情况下,也能起到相同的作用、效果。
可以把本发明的打印机控制装置、打印机控制方法以及实现其的程序存储在CD盘、软盘、硬盘、磁光盘、数字视频盘、磁带、半导体存储器等信息记录媒体上。把这样的程序称为「打印机驱动程序」。
而且,通过用通用计算机来执行用于控制本发明的打印机控制装置和实现打印机控制方法的程序,就能把该通用计算机作为本发明的打印机控制装置,来实现打印机控制方法。
可以把本发明的程序配置在WWW(World Wide Web)的服务器计算机上,从其适当地下载,而存储到信息处理装置中,由此,能够更新执行程序。
本发明的这些和其他的目的、优点及特征将通过结合附图对本发明的实施例的描述而得到进一步说明。
附图说明
图1是表示本发明的打印机控制装置所控制的打印机的一个实施例的概要的方框图;
图2是表示本发明的打印机控制装置所控制的打印机的接收插入处理的流程的流程图;
图3是表示本发明的打印机控制装置所控制的打印机的接收插入中的状态过渡的示意图;
图4是表示本发明的打印机控制装置所控制的打印机的正常处理的流程的流程图;
图5是表示本发明的打印机控制装置的一个实施例的概要的方框图;
图6是表示由本发明的打印机控制装置所执行的打印机控制方法的处理的流程的流程图;
图7是表示本发明的第二实施例所涉及的分割生成变换处理的流程的流程图;
图8是视觉地表示本发明的第二实施例所涉及的分割生成变换处理中的数据构造的模式图。
具体实施方式
下面说明本发明的一个实施例。以下说明的实施例是用于说明的,而不限制本申请的发明的范围。因此,本领域的技术人员可以采用把这些各个要素或者全部要素置换为与其等同的部分的实施例,这些实施例包含在本发明的范围内。
下面说明由本发明的打印机控制装置所控制的打印机(包含现有技术所利用的打印机)的概要,然后,说明本发明的打印机控制装置。
打印机的实施例
在图1中表示了本发明的打印机控制装置(主计算机)控制的打印机的一个
实施例的方框图。
打印机101通过接口102连接在主计算机120上。当通过接口102接收主计算机120发送的数据串时,由CPU(Central Processing Unit:中央处理单元)103发生接收插入,启动接收插入处理。如上述那样,在接收插入处理中,CPU 103判断在接收数据串中是否包含实时指令,在包含的情况下,执行与其对应的实时处理。而且,在接收插入处理中,把接收的数据串存储在设在RAM 104的接收缓冲器111中。当接收插入处理结束时,CPU 103的控制返回正常处理。
在正常处理中,CPU 103把RAM 104的接收缓冲器111中所存储的数据串解释为印刷指令和印刷数据、打印机设定指令,从存储字体的ROM(Read OnlyMemory)105取得字体形状,而生成图形数据,在设在RAM 104内的打印缓冲器112中展开印刷图形。
当在打印缓冲器112中所展开的印刷图形达到预定量例如一行时,按照对应印刷图形来驱动印刷机构106,在纸等印刷媒体上印刷文字和图形。
当在接收缓冲器111中所存储的数据串是字体定义指令时,在RAM 104内存储对应的字体的定义。当ROM 105是EEPROM(Electrically Erasable ProgrammableROM)和快速存储器时,能够按照字体定义指令,来更新ROM 105的内容。
在RAM 104中设有存储在接收插入处理中使用的目前方式的区域113。由此,判断是接收实时指令的过程中还是接收除此之外的数据。
打印机的接收插入处理
图2是表示图1所示的打印机101的接收插入处理的流程的一个实施例的流程图。该接收插入处理在打印机101的接口102接收主计算机120发送的数据串时被启动。下面对每当接口102接收1字节的数据时接收插入发生的实施例进行说明,但在每当接收到接收插入为1以上的任意字节数的数据时被启动的情况下,能够进行同样的控制,该实施例包含在本发明的范围内。
如上述那样,本接收插入处理在打印机101的接口102接收主计算机120发送的数据串时被启动。
当接收插入处理被启动时,首先,CPU 103把接口102接收的1字节的数据存储在RAM 104内的接收缓冲器111中(步骤S201)。接收缓冲器111一般构成为链状缓冲器。
接着,分析在RAM 104的方式区域113中所存储的目前的接收插入方式(步骤S202)。通过接收插入方式的值,来表示是否是接收目前实时指令的过程中。
而且,在步骤S201中,根据所接收的数据的值,按照图3所示的状态过渡图来更新在RAM 104的方式区域113中所存储的接收插入方式的值,同时,根据需要实施对应的处理(步骤S203),结束本接收插入处理。
图3是表示接收插入中的状态过渡的示意图。该状态过渡图由上述实时指令的数据串的体系所决定。
方式A是表示目前解释实时指令之外的指令的方式。在方式A下时,如果在步骤S201中接收的数据的值是「DLE」,移到方式B。
方式B是表示目前接收实时指令的第一字节(DLE)的方式。在方式B下时,根据在步骤S201中接收的数据的值,按以下这样过渡:
·在是「EOT」的情况下,移到方式C。
·在是「ENQ」的情况下,执行与打印机101的实时要求相对应的处理,移到方式A。
·在是「DC4」的情况下,移到方式D。
·在除此之外的情况下,由于接收的数据串不是实时指令的数据串,移到方式A。
方式C是表示目前是接收在「DLE EOT」中开始的实时指令过程中的方式。当在方式C下时,根据步骤S201中接收的数据的值,按以下这样过渡:
·在是「NUL」的情况下,向主计算机120实时发送打印机101的状态,移到方式A。
·在是「BEL」的情况下,向主计算机120实时发送打印机101的印刷机构106中包含的墨粉的状态,移到方式A。
·在是「BS」的情况下,向主计算机120实时发送打印机101的MICR的状态,移到方式A。
·在除此之外的情况下,由于接收的数据串不是实时指令的数据串,移到方式A。
方式D是表示目前是接收在「DLE DC4」中开始的实时指令过程中的方式。当在方式D下时,根据步骤S201中接收的数据的值,按以下这样过渡:
·在是「SOH」的情况下,执行指定脉冲的实时输出,移到方式A。
·在除此之外的情况下,由于接收的数据串不是实时指令的数据串,移到方式A。
根据比较简单的状态过渡的处理,能够在短时间内搞清接收插入处理所需要的时间。
打印机的正常处理
正常处理是这样的处理:打印机101进行接收,解释在接收缓冲器111中所存储的数据并进行打印。图4是表示图1所示的打印机101的正常处理的控制流程的流程图。即使在进行正常处理的过程中,也会通过插入而启动上述接收插入处理。
CPU 103在接收缓冲器111中没有处理的数据剩余期间取得该数据,当没有剩余时,通过上述接收插入处理而等待,直到在接收缓冲器111中存储了数据为止。执行这样的调用链的处理,在以下的说明中,为了简化,把进行一次上述处理而从接收缓冲器111取得1字节的数据的情况和进行多次而从接收缓冲器111取得多字节的数据的情况相组合,称为「从接收缓冲器取得数据」。
首先,CPU 103从接收缓冲器111取得数据(步骤S401),分析该数据的种类(步骤S402)。
当判断为该数据是实时指令的数据串时(步骤S402:实时指令),跳过其而返回步骤401。在上述接收插入处理中,与实时指令相对应的实时处理已经执行了。
另一方面,当判断为是除此之外的指令即正常处理指令的数据串时(步骤S402:正常指令),执行与该指令相对应的正常处理(步骤S403),返回步骤S401。
在正常处理中包含例如文字和图形的印刷、图象的印刷、字体的登录、打印机101的设定等。本发明特别适合于这样的情况:在图象的印刷和字体的登录中,对应图形数据以二进制形式传送给打印机101。
本发明的打印机控制装置能够控制已经普及的打印机。
打印机控制装置的实施例
在图5中表示了本发明的打印机控制装置(主计算机)的一个实施例的方框图。
本发明的主计算机120由CPU 501控制。当把主计算机120接通电源时,CPU501执行在ROM 502内的预定位置所存储的IPL(Initial Program Loader),开始进行处理,接着,能够执行在硬盘、软盘、CD-ROM(Compact Disk ROM)等非易失性存储装置503中所存储的程序。在程序执行过程中,使用RAM 504作为暂时存储装置。
当执行印刷文字和图形的应用程序时,通过接口505向打印机发送印刷指令的数据串。
而且,主计算机120可以包括未图示的键盘和鼠标器等输入装置、未图示的显示器等显示装置。
在主计算机120中工作的OS(Operating System:操作系统)把与其相连接的硬件例如打印机101作为资源进行处理,进行从多个应用程序共用的情况下的资源管理。执行这种资源管理的程序是上述的打印机驱动程序。
在主计算机中,当这样的打印机驱动程序作为OS的一部分而工作时,能够把该主计算机视为本发明的打印机控制装置。
从应用程序向打印机驱动程序发送图形数据而作为与OS相对应的系统程序调用,打印机驱动程序接受其。
CPU 501分析在RAM 504中所存储的图形数据,对该数据进行处理,通过接口505发送给打印机101。因此,CPU 501与RAM 504、接口505一起工作,作为判断部、生成部、发送部以及指定部、分割部、变换部、印刷开始位置指定部而起作用。
非易失性存储装置503作为记录程序(打印机驱动程序)的信息记录媒体而起作用。
图6是表示由图5所示的打印机控制装置所执行的打印机控制方法的处理的流程的流程图。
通过OS管理的应用程序动作而向OS调出依赖印刷的系统调用来启动本发明的打印机控制方法。
而且,具有作为打印机驱动程序内部的子程序管理而启动的形态。
当本处理开始时,CPU 501分析存储与由该调用所指定的印刷处理相对应的数据的RAM 504内的地址和该数据的大小(步骤S601)。
接着,从在步骤S601中取得的地址依次取得数据(步骤S602),分析该数据与哪种处理相对应(步骤S603)。
当该数据串是图形印刷指令时(步骤S603:图形印刷),分析在该图形印刷指令的参数部中是否包含与上述实时指令的数据串相同的部分(步骤S604)。例如,当指定上述「ESC 0x6dn d1…dn」形式的数据作为图形印刷指令时,分析在该参数部「n d1…dn」中是否包含与上述实时指令的数据串相同的部分。
在不包含的情况下,把该印刷指令的数据串发送给打印机101(步骤S605),进到步骤S609。
在包含的情况下,进行以下说明的变换处理,把该印刷指令的数据串分割成多个,而生成新的印刷指令的数据串(步骤S606)。
接着,通过对所生成的新的印刷指令的数据串的各个循环地进行步骤S604~步骤S606的处理,来处理所有的数据串(步骤S607),进到步骤S609。
另一方面,在步骤S603中,当是图形印刷指令之外时(步骤S603:其他),执行与该指令相对应的处理(步骤S608),进到步骤S609。
接着,分析是否已经处理了由系统调用等所指定的数据串(步骤S609),当已经进行了处理时(步骤S609:Yes),结束本处理。在尚未处理的数据串剩余时,返回步骤S602。
下面,以上述图形印刷指令「ESC 0x6dn d1…dn」为例,对步骤S606中的分割生成变换处理的第一实施例进行说明。在本实施例中,当与实时指令的数据串相同的数据串包含在图形印刷指令中时,具有以下两种可能性:
(1)与该实时指令的数据串相同的数据串从长度参数开始的情况。
(2)在图形数据参数中包含与该实时指令的数据串相同的数据串的情况。
对此,说明分割生成变换的处理。首先,虽然是与实时指令的数据串相同的数据串从长度参数开始的情况,但其为长度参数为字节值DLE=0x10=16的情况即图象图形为高度8点、行方向的宽度16点的情况。在此情况下,行方向的宽度之和可以分割为16这样的两个图形印刷指令。例如,所指定的印刷指令为以下这样:
ESC 0x6d 16 d1 d2 d3…d16
能够分割为下面所示的两个印刷指令:
ESC 0x6d 1 d1
ESC 0x6d 15 d2 d3…d16
其中,首先,为了印刷宽度1点的图象图形d1,接着印刷15点宽度的图象图形d2 d3…d16,而分割图形印刷指令。此外,考虑其和为16这样的任意的分割。例如,可以为以下这样的分割:
ESC 0x6d 2 d1 d2
ESC 0x6d 14 d3…d16
通过这样的分割生成变换处理,与实时指令的数据串相同的数据串可以不是从长度参数开始。
下面对在图形数据参数中包含该与实时指令的数据串相同的数据串的情况进行说明。例如,在以下的情况下:
ESC 0x6d(n+m+2)d1…dn DLE ENQ e1…em
其中,d1…dn DLE ENQ e1…em为长度(n+m+2)字节的图形数据参数。在这样情况下,如以下所示的那样,可以在实时指令的数据串的中途分割图形印刷指令。
ESC 0x6d(n+1)d1…dn DLE
ESC 0x6d(m+1)ENQ e1…em
能够分割为:首先对宽度(n+1)点印刷图象d1…dn DLE,接着对宽度(m+1)点印刷图象ENQ e1…em。
通过重复进行这些分割,能够把图形印刷指令变换为同等的图象能够印刷的多个图形印刷指令,而不出现实时指令的数据串。
下面以其他的图形印刷指令为例来对分割生成变换处理的第二实施例进行说明。本例的图形印刷指令具有以下这样的格式:
「ESC 0x2a m n d1…dk」
其中,m为表1所示的那样,是指定高度(纵)方向点数同时指定高度(纵)和宽度(横)方向的印刷点密度(单位DPI:Dots Per Inch)的参数。n是指定宽度(横)方向的点数的参数。k表示由该图形印刷指令所发送的图形数据的总数,例如,当m=0、1时,由于高度方向的点数为8点(相当于1字节),则k=n字节;当m=32、33时,由于高度方向的点数为24点(相当于3字节),则k=3n字节;当m=80、81时,由于高度方向的点数为48点(相当于6字节),则k=6n字节。而且,图形参数d1…dk从列(高度)方向到行(宽度)方向依次排列(参照图8)。
在本例的图形印刷指令中包含与实时指令的数据串相同的数据串的可能性为与上述相同的两种情况。即,(1)与该实时指令的数据串相同的数据串从长度参数n开始的情况。(2)在图形数据参数d1…dk中包含与该实时指令的数据串相同的数据串的情况。
(1)与该实时指令的数据串相同的数据串从长度参数n开始的情况。
这是与上述第一实施例相同的长度参数n为字节值DLE=0x10=16的情况,与在上述第一实施例中表示的方法相同,至少可以分割成两个图形印刷指令。
(2)在图形数据参数d1…dk中包含与该实时指令的数据串相同的数据串的情况。
在本例的情况下,存在通过印刷点密度参数m的指定而使多个字节串即3字节或者6字节的数据串并列的情况。因此,就需要在列的中间分割图形数据。
下面参照图7和图8来说明这种情况下的分割生成变换处理的流程。图7是表示本发明的第二实施例所涉及的分割生成变换处理的流程的流程图。图8是视觉地表示本发明的第二实施例所涉及的分割生成变换处理中的数据构造的模式图。
在图6所示的步骤S604中,当发现与实时指令相同的数据串时,把相当于由图形印刷指令的参数m所指定的纵向的点数(字节数)的空数据(例如NUL数据这样的空数据)插入到与实时指令相同的数据串的第一字节与第二字节的数据之间(步骤S701)。例如,如图8(A)所示的那样,当m=32(纵3字节)时,在与实时指令相同的数据串存在于某列((j-1)列)的第二行以后的情况下,如图8(B)所示的那样,在第一字节(RTC1)与第二字节(RTC2)之间插入3字节的空数据。图形数据的总数增加了插入的空数据部分即增加了一列。因此,当横方向的点数为n时,在空数据插入后,成为(n+1)点,全部的数据数为3(n+1)字节。
接着,分割成使包含与实时指令相同的数据串的第一字节RTC1的数据串作为最后列的前段的数据串和使包含该第二字节RTC2的数据串或者包含插入的所有空数据的列作为最前列的后段的数据串(步骤S702)。在图8(C)中表示了其样子。
此时,图形印刷指令「ESC*32nd(1)…RTC1 RTC2…d(3n)」根据上述步骤S702中的分割位置来变换生成长度参数n,而分割成以下两个指令:
前段:ESC*32(j-1)d1…d(3j-5)RTC1 dummy1
后段:ESC*32(n-j+2)dummy2 dummy3 RTC2 d(3j+1)…d(3(n+1))
其中,(j-1)是前段的数据的长度参数,(n-j+2)是后段的数据的长度参数。
接着,通过插入空数据,用例如印刷位置指定指令来校正在一行(1点)行方向上移动的后段的数据串的印刷位置(步骤S703),就能把前段的数据串的最后段和后段的数据串的最前列重合起来执行印刷。
如上述那样,当在图形数据中存在与实时指令的数据串相同的数据串时,插入空数据并分割该图形数据,同时,校正长度参数和印刷开始位置,由此能够得到所希望的印刷结果。
当与实时指令的数据串相同的数据串位于最下行之后,例如,在上述图8的例子中,RTC1位于第三行以后时,插入的所有空数据位于后段的数据串的最前列。因此,不需要使用空数据,能够简单地在包含RTC1的列与包含RTC2的列之间分割图形数据。在此情况下,不需要校正印刷开始位置,因此,能够使控制变得容易,同时,能够提高打印机的生产率。
在能够用行和列来指定印刷开始位置的情况下,不使用空数据,在包含与实时指令的数据串相同的数据串的行列部中分割图形数据,用行和列来指定后段的数据串的印刷开始位置,由此,能够得到所希望的打印效果。
在上述实施例中,对上述实时指令和图形印刷指令的例子进行了说明,但是,在采用其他的指令体系的情况下,也能采用同样的处理,这样的实施例包含在本
发明的范围内。
在上述实施例中,对变换直接打印图形数据的通常指令的方法进行了说明,但是,在由用户所进行的字体登录的情况下,也能使用相同的方法。而且,即使在字体登录的方法中,同样也是变换为打印图形数据(字体形状)的指令的数据串,在此情况下,包含在本发明的范围内。
如以上说明的那样,根据本发明,具有以下效果:
本发明能够提供打印机控制装置、打印机控制方法,对于进行实时指令的处理的打印机,即使在打印包含与实时指令的数据串相同的数据串那样的图形数据的情况下,也能防止打印机的误动作。
特别是,对于在现有技术中所使用的打印机,不必施加任何变更,通过在向打印机发送印刷指令的主计算机侧的打印机驱动程序中使用本发明,就能防止打印机的误动作。在现有技术中,最终用户和应用制造商必须构成印刷指令而不包含实时指令的数据串,而本发明就不需要这样的负担大的作业。
Claims (18)
1.一种打印机控制装置,其特征在于,包括:
判断部,判断用于发送给打印机的发送数据串是否包含预定的数据串;
生成部,根据由上述判断部所产生的判断结果,在上述发送数据串包含预定的数据串的情况下,分割上述发送数据串而生成多个分割数据串群,以不包含该预定的数据串,该生成部具有与上述发送数据串和上述多个数据串群相同的作用;
发送部,根据由上述判断部所产生的判断结果,向打印机发送上述发送数据串或者上述多个数据串群。
2.根据权利要求1所述的打印机控制装置,其特征在于,
上述发送数据串和上述分割数据串群具有首部和参数部,
上述生成部把上述发送数据串具有的首部作为上述分割数据串群的首部。
3.根据权利要求2所述的打印机控制装置,其特征在于,
上述生成部根据上述发送数据串的分割数来生成上述分割数据串群的上述参数部。
4.一种打印机控制装置,向打印机发送具有排列成矩阵状的印刷数据串和表示该印刷数据串的行方向及列方向的长度的长度参数的发送数据,其特征在于,包括:
判断部,判断上述印刷数据串是否包含预定的数据串;
指定部,根据由上述判断部所产生的判断结果,在上述印刷数据串包含上述预定的数据串的情况下,指定该预定的数据串所处的行列;
分割部,根据上述指定部的指定结果,在应该分割上述预定的数据串的上述印刷数据串中插入空数据,而生成多个分割印刷数据串群;
变换部,根据上述指定部的指定结果,从上述发送数据的上述长度参数变换生成适合于上述各个分割印刷数据串群的长度参数群;
发送部,根据由上述判断部所产生的判断结果,向打印机发送由上述通过分割部所生成的分割印刷数据串群和通过上述变换部所变换生成的长度参数群组成的发送数据串群。
5.根据权利要求4所述的打印机控制装置,其特征在于,
上述分割部除了在上述预定的数据串位于最下行以下的情况之外,在上述印刷数据串中插入空数据。
6.根据权利要求4所述的打印机控制装置,其特征在于,
上述分割部根据上述发送数据的长度参数来决定上述应插入的空数据的长度。
7.根据权利要求4所述的打印机控制装置,其特征在于,
具有印刷开始位置指定部,生成表示由上述分割部所分割生成的分割印刷数据串群的印刷开始位置的数据,
上述发送部向上述打印机发送上述发送数据串群和由上述指定部所指定的印刷开始位置数据。
8.根据权利要求4所述的打印机控制装置,其特征在于,
上述印刷数据串的列方向与上述打印机的印刷媒体输送方向相同。
9.根据权利要求1或4所述的打印机控制装置,其特征在于,
上述预定的数据串是该打印机的实时指令的数据串。
10.一种打印机控制方法,其特征在于,包括:
判断步骤,判断用于发送给打印机的发送数据串是否包含预定的数据串;
生成步骤,根据由上述判断步骤所产生的判断结果,在上述发送数据串包含预定的数据串的情况下,分割上述发送数据串而生成多个分割数据串群,以不包含该预定的数据串,该生成步骤具有与上述发送数据串和上述多个数据串群相同的作用;
发送步骤,根据由上述判断步骤所产生的判断结果,向打印机发送上述发送数据串或者上述多个数据串群。
11.根据权利要求10所述的打印机控制方法,其特征在于,
上述发送数据串和上述分割数据串群具有首部和参数部,
上述生成步骤把上述发送数据串具有的首部作为上述分割数据串群的首部。
12.根据权利要求11所述的打印机控制方法,其特征在于,
上述生成步骤根据上述发送数据串的分割数来生成上述分割数据串群的上述参数部。
13.一种打印机控制方法,向打印机发送具有排列成矩阵状的印刷数据串和表示该印刷数据串的行方向及列方向的长度的长度参数的发送数据,其特征在于,包括:
判断步骤,判断上述印刷数据串是否包含预定的数据串;
指定步骤,根据由上述判断步骤所产生的判断结果,在上述印刷数据串包含上述预定的数据串的情况下,指定该预定的数据串所处的行列;
分割步骤,根据上述指定步骤的指定结果,在应该分割上述预定的数据串的上述印刷数据串中插入空数据,而生成多个分割印刷数据串群;
变换步骤,根据上述指定步骤的指定结果,从上述发送数据的上述长度参数变换生成适合于上述各个分割印刷数据串群的长度参数群;
发送步骤,根据由上述判断步骤所产生的判断结果,向打印机发送由上述通过分割步骤所生成的分割印刷数据串群和通过上述变换步骤所变换生成的长度参数群组成的发送数据串群。
14.根据权利要求13所述的打印机控制方法,其特征在于,
上述分割步骤除了在上述预定的数据串位于最下行以下的情况之外,在上述印刷数据串中插入空数据。
15.根据权利要求13所述的打印机控制方法,其特征在于,
上述分割步骤根据上述发送数据的长度参数来决定上述应插入的空数据的长度。
16.根据权利要求13所述的打印机控制方法,其特征在于,
具有印刷开始位置指定步骤,生成表示由上述分割步骤所分割生成的分割印刷数据串群的印刷开始位置的数据,
上述发送步骤向上述打印机发送上述发送数据串群和由上述指定步骤所指定的印刷开始位置数据。
17.根据权利要求13所述的打印机控制方法,其特征在于,
上述印刷数据串的列方向与上述打印机的印刷媒体输送方向相同。
18.根据权利要求10或13所述的打印机控制方法,其特征在于,
上述预定的数据串是该打印机的实时指令的数据串。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8257199 | 1999-03-25 | ||
JP82571/1999 | 1999-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1270349A CN1270349A (zh) | 2000-10-18 |
CN1132092C true CN1132092C (zh) | 2003-12-24 |
Family
ID=13778182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00108634A Expired - Fee Related CN1132092C (zh) | 1999-03-25 | 2000-03-24 | 打印机控制装置及打印机控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6885471B1 (zh) |
EP (1) | EP1039367A3 (zh) |
KR (1) | KR100512666B1 (zh) |
CN (1) | CN1132092C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
JP4738773B2 (ja) * | 2004-08-06 | 2011-08-03 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
JP2007283553A (ja) * | 2006-04-13 | 2007-11-01 | Seiko Epson Corp | 印刷媒体処理装置の制御方法及び印刷媒体処理装置 |
US8325800B2 (en) | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
US8379851B2 (en) * | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
US7860996B2 (en) | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
US8265140B2 (en) | 2008-09-30 | 2012-09-11 | Microsoft Corporation | Fine-grained client-side control of scalable media delivery |
TWI569200B (zh) * | 2013-12-03 | 2017-02-01 | 三緯國際立體列印科技股份有限公司 | 列印系統及其資料傳輸方法 |
JP6551054B2 (ja) * | 2015-08-26 | 2019-07-31 | セイコーエプソン株式会社 | ドライバープログラム、及び、制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710886A (en) * | 1984-10-24 | 1987-12-01 | International Business Machines Corporation | Table driven print formatting |
US5806997A (en) * | 1996-02-20 | 1998-09-15 | Canon Business Machines, Inc. | Dot matrix printer |
US5822506A (en) * | 1993-10-28 | 1998-10-13 | International Business Machines Corporation | Selectable modification of medium in a printer system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5467433A (en) * | 1992-04-15 | 1995-11-14 | Monarch Marking Systems, Inc. | Label printing and data collection program generator |
JP3060349B2 (ja) * | 1993-06-22 | 2000-07-10 | キヤノン株式会社 | 印刷制御装置、印刷制御方法、及び、印刷装置 |
US6205363B1 (en) * | 1993-11-08 | 2001-03-20 | Seiko Epson Corporation | Printer and control method for obtaining printer status |
JPH07223329A (ja) * | 1994-02-10 | 1995-08-22 | Matsushita Electric Ind Co Ltd | サーマルプリンタ装置 |
JP3658044B2 (ja) * | 1995-06-22 | 2005-06-08 | キヤノン株式会社 | プリンタ制御装置及び方法 |
JPH09240081A (ja) * | 1996-03-02 | 1997-09-16 | Ricoh Co Ltd | 印字装置 |
-
2000
- 2000-03-23 EP EP00105921A patent/EP1039367A3/en not_active Withdrawn
- 2000-03-24 CN CN00108634A patent/CN1132092C/zh not_active Expired - Fee Related
- 2000-03-24 KR KR10-2000-0015057A patent/KR100512666B1/ko not_active IP Right Cessation
- 2000-03-24 US US09/534,192 patent/US6885471B1/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710886A (en) * | 1984-10-24 | 1987-12-01 | International Business Machines Corporation | Table driven print formatting |
US5822506A (en) * | 1993-10-28 | 1998-10-13 | International Business Machines Corporation | Selectable modification of medium in a printer system |
US5806997A (en) * | 1996-02-20 | 1998-09-15 | Canon Business Machines, Inc. | Dot matrix printer |
Also Published As
Publication number | Publication date |
---|---|
EP1039367A2 (en) | 2000-09-27 |
US6885471B1 (en) | 2005-04-26 |
EP1039367A3 (en) | 2002-02-06 |
CN1270349A (zh) | 2000-10-18 |
KR100512666B1 (ko) | 2005-09-07 |
KR20010020680A (ko) | 2001-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1293464C (zh) | 混合光栅内容文件的产生和编译方法 | |
CN1269018C (zh) | 打印控制设备和方法、信息处理设备及方法 | |
CN1262950C (zh) | 打印装置和打印系统 | |
CN1132092C (zh) | 打印机控制装置及打印机控制方法 | |
CN1303516C (zh) | 打印控制方法和信息处理装置 | |
CN1306382C (zh) | 打印控制方法、打印系统以及信息处理装置 | |
CN1266587C (zh) | 打印数据处理方法 | |
CN1892573A (zh) | 信息处理设备、状态显示方法以及打印控制设备 | |
CN1576037A (zh) | 印刷装置和印刷方法及程序 | |
CN1237733A (zh) | 使用多台打印机的打印 | |
CN1690947A (zh) | 图像处理系统、图像显示装置、打印机及印刷方法 | |
CN1758241A (zh) | 具有字体信息嵌入功能的信息处理装置及其信息处理方法 | |
CN1432902A (zh) | 打印系统以及打印装置 | |
CN1205534C (zh) | 打印装置及其控制方法 | |
CN1882033A (zh) | 图像处理设备和图像处理方法 | |
CN1838061A (zh) | 打印装置,图像处理装置,以及相关控制方法 | |
CN1842124A (zh) | 图像处理装置和图像处理装置的控制方法 | |
CN1624648A (zh) | 信息处理系统、打印控制方法以及程序 | |
CN100340966C (zh) | 印刷装置、信息处理装置和它们的控制方法 | |
CN1873662A (zh) | 打印系统 | |
CN1490719A (zh) | 信息处理设备、打印控制方法、计算机程序及打印系统 | |
CN1083123C (zh) | 图像输出方法及采用该方法的设备 | |
CN1263294A (zh) | 接口装置,其控制方法以及信息记录媒体 | |
CN1692023A (zh) | 打印控制装置和打印控制方法 | |
CN1142723A (zh) | 打印分辨率和/或灰度控制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031224 Termination date: 20160324 |