本发明涉及一种提高扫描头式打印机打印速度的方法,更详细地说,涉及一种通过有选择地进行图表双向打印提高扫描头式打印机打印量的软件。 扫描头式打印机是一种打印头在页面上每次一行地横向移动的打印机。举例说,打印头可以从左到右或从右到左地横贯页面扫描,边行进边打印。
打印头是打印机将图象打印到页面上用的部件。打印头往往包括一垂直阵列的打印元件,由这些打印元件在页面上打印出许多点。不同的图象是用不同的打印元件在不同的时间和不同的位置起动打印出来的。各元能横贯页面打印出一行打印点。
若待打印图象的竖向尺寸小于打印头的竖向高度,图象就能够在打印头一次横扫的过程中打印出来。这种图象的实例包括用1/6英寸高的打印头打印时9点至12点的文本字体。但待打印的图象往往比打印头大尤其是打印计算机的图表时更是如此。因此打印机可以在打印头的一次横扫过程中打印出图象的一部分,在以后的各横扫过程中打印图象的其余部分。
当图象经过打印头的一次以上的横扫过程打印出来时可能会出现印迹不对齐的问题。印迹不对齐是打印出来地点不对齐的现象,它使打印质量变差。这是由于打印头在不同的横扫过程中以彼此相反的方向移动而打印出两个竖向毗邻的点引起的。不对齐现象是由打印头的运动发生变化引起的后冲产生的。
单向打印可以避免印迹不对齐,但限制了打印速度。因此扫描头式打印机通常双向打印小图象(例如小于或等于打印头高度的文本字体),单向打印较大的文本字体和图表。不然的话,为了保持打印质量,所有图象可以单向打印。
总之,扫描头式打印机的打印量在打印大图象或大图表时通常下降,这是因为为了保持打印质量需要进行单向打印。
本发明通过提供一种分步控制算法提高扫描头式打印机的打印量,该分步控制算法在适当的情况下使某些图表的图象可以双向打印出来。
本发明的图表双向打印法包括这样的软件,该软件先接收表示待打印图象的至少一部分的数据,然后寻找图象中的竖向中断点。若检测出有中断点,打印就可以双向进行。若检测不出有中断点,则打印头下一次横扫就取与上一次横扫相同的方向。
图1是概述本发明方法的方法的方框图。
图2A和2B是扫描式打印头两次横扫打印出来的数字“5”的放大图象,图2A示出了打印头的两次横扫是在同一个方向时打印点的排列情况,图2B则示出了双向打印所造成的竖向不对齐情况。
图3A-D画出了图表图象是如何可以用扫描头式打印机打印出来的,图3A和3C例示了普通的单向打印,图3B和3D例示了用本发明的方法可能进行的精确双向打印。
图1示出了编号为10的本发明方法大致的方框图。一开始,打印机接收表示部分待打印图象的数据,这个步骤由方框12表示。所收到的数据应足以表示至少和打印头一样高的部分图象。
所收到的数据可以是任何以图形位映象格式传送的数据,它包括文本。以这种格式传送一页面的文本时,本发明的方法使打印可以双向进行,从而提高打印机的打印量。
然后对所收到的数据进行扫描,以确定图象中有否任何中断。中断是由各象素之间的至少一排空白点形成的竖向间隔。举例说,在五十个打印元件垂直配置的打印头中,各元件能打印出一行打印点。若图象是这样的一种图象以致一个打印元件无需打印一行中的任何点,则图象中就会有一个中断点。图14表示寻找这类点行中断点的步骤。
必要时,可以将软件编程使其对数据进行第二次扫描,这个选择以步骤16表示,扫描步骤以方框18表示。第二次扫描是通过确定图象的两个点行有否任何几乎垂直排列的点来找出垂直排列中断点的。换句话说,对第一行的每一个点来说,其正下方不应有任何点,或在下一行在与其成45度角处也不应该有任何点。若测试结果合乎上述条件,则软件确定两行之间有中断的地方。但该第二次扫描是费时的,而且只能检测出少量的中断点。因此可以删除本发明方法中的这个第二次扫描,或者使用者可选择不进行第二次扫描。在另一种情况下,当不采用“第二次扫描”动作时,可以把图1看作是没有方框16和18的图,箭头表示的流程就从方框14往下延伸到方框16正下方的方框(20)。
在两者的任一情况下,下一步骤20是要确定通过单向打印整个打印头高度的数据或通过打印小于整个打印头高度的数据然后使打印双向进行是否将时间缩短到最短程度。
实验证明,当图象中在3/4打印头高度或以外的地方没有中断时,通过单向打印整个打印头高度的数据可以使打印时间缩短到最短程度。若在3/4打印头高度以外的地方出现中断点,则通过将较小群的数据一直打印到中断处,然后使一个打印头的横扫打印时间缩短到最短。
举例说,在一个五十个墨管高的打印头中,各墨管能打印出一行打印点,若第37个墨管(墨管是从打印头顶部往下数的)不需要打印出任何点,则在37行就出现中断点。通过将该图象一直打印到中断处,然后双向进行打印,即可将打印时间缩短到最短。
在此实例中,第37行是在3/4打印头高度的行。同样,这种分析适用于在第37至50行检测出的任何中断点。因此步骤20确定中断点相对于打印头高度的位置。
鉴于过去都知道3/4打印头高度这个尺寸在某些应用中效果良好,因此这里对它进行了说明。但这个尺寸并非强制性的规定,在其它用途中是可加以改变的。
若在一个页面上有一个垂直取向的短划线,则步骤20会在该短划线3/4打印头高度以外的地方分辨出多个中断点。在这种情况下,若令打印双向进行,则打印出来的短划线可能不会是直的。因此步骤21确定在打印头高度范围内是否有一个以上的连续图象。
连续图象是指不中断的图象。在一个50个打印元件组成的打印头中,若第2至50行全都用以打印,则就得出一个连续的图象。若在第38行有一个中断点,则第2至37行构成一个连续图象,第39至50行构成第二连续图象。在第38行处的中断,即两连续图象之间,是连续图象的中断点。
如果如步骤21所确定的那样,有两个或以上的连续图象出现在打印头高度的范围内,则本方法转入方框28。若只有一个连续图象出现在打印头高度范围内,则本方法转入方框22。
步骤21是当对垂直短划线可能混淆不清时有用。必要时,可以将步骤21从本发明的方法中删除,把图1看作直接从步骤20转入步骤22或28。
若软件检测出在3/4打印头高度或以外的地方有中断点,且若在适当的情况下只有一个连续图象出现在打印头高度的范围内,则打印机会将图象对应于打印头高度的部分打印到所检测出的中断处。而在下一个横扫打印时取两个方向中的任何一个方向,如方框22所表示的那样。在这种情况下,打印头中在中断点下面的元件不会打印出点来。若删除步骤21,且有若干中断点存在于3/4打印头高度以外的地方,则只打印出最高到第一个中断点的图象。
接着,步骤24确定打印任务是否全部完成。若未全部完成,则收集另一些表示待打印图象的数据,这时处在原先检测出的中断点正下方的点行就成为最上的一行。然后过程重复着直到打印完毕为止,这时本方法就结束,如步骤26所示。
若在3/4打印头高度以外的地方没有中断点出现,或若在适当的情况下,在打印头高度范围内出现一个以上的连续图象,则本发明的方法先打印出一部分等于整个打印头高度的图象,然后需要在下一个横扫过程打印时在同一个方向上进行,如方框28所示。
软件下一步就确定打印过程是否全完成,如步骤24所示。若未全完成,则收集表示图象下一个部分的数据,并将过程进行重复。若打印已全完成,则任务结束,如方框26所示。
图2A和2B对比例示了由双向打印引起的打印点不对齐的可能情况。具体地说,图2A是用扫描头式打印机通过打印头的两次单向横扫打印出来的数目字“5”的放大图。图2A示出了点40、42之间的正确排列情况。
图2B示出了双向打印出来的或在打印头以不同方向的横扫打印出来的同一个图象。点44与46之间的竖向偏移(这在相对位置上分别对应于图2A中的点40和42)举例说明了与双向打印大字体和图表图象有关的不对问题。这种不对齐当引入注目时会使打印的质量变差。引入注目的不对齐现象是指点与点之间会使打印出来的东西达不到所要求的预定质量的偏移。
图3A和3B画出了图表图象是如何可以用扫描头式打印机打印出来的。图3A中,矩形64a-c说明了打印头的不同横扫情况,全都是从左至右单向打印出来的。打印头的高度如66所示,与各矩形的高度相当。显然,待打印各图象的高度68小于打印头的高度66。此外图象中的各竖向中断点如70a-c处所示。
图3B示出了按本发明的方法打印出来的同一个图象。矩形72a-d例示了打印头的不同横扫过程。图3A与图3B之间的区别在于,图3B是双向打印出来的。矩形72a从左至右打印,接着矩形72b从右至左打印,如此类推。本发明的方法先检测出图象中的各中断点74a-c,打印出小于打印头全高度的图象,然后令打印双向进行。
图3C画出了打印头以四个单向横扫打印出来的印刷图象。矩形76a-d表示了这些横扫过程。这里打印头的高度以78表示,也与各矩形的高度相当。
图3D示出了图3C按本发明的方法打印出来的同一个图象。矩形80a-d例示了印头的各种不同横扫过程。矩形80a是从左至右打印的,在3/4打印头高度以外的地方检测不出任何中断点,因而矩形80b也从左至右打印出来。
在扫描表示包含在矩形80b中的图象的数据时,发现中断点82。因此只将图象对应于打印头高度的部分打印到所检测出的中断点处为止,这导致矩形80b的竖向尺寸小于矩形80a。
由于中断点82的缘故,打印可以双向进行,且矩形80c可从右至左打印出来。在扫描表示矩形80c内图象的数据时检测出中断点84。因此矩形80c只打印出图象至中断点84处的部分。由于有中断点,因而可以双向打印,且将矩形80d从左至右打印出来。
打印出图3A-D所需要的时间(“T”)的简单形式按下法计算。假设打印头不打印时的空转速度为打印速度的两倍,则
图3A:(在时间T的3次横扫)+(打印头在0.5T的3次回程)=4.5T;
图3B:(在时间T的4次横扫)=4T;
图3C:(在时间T的4次横扫)+(打印头在时间0.5T的4次回程)=6T;
图3D:(在时间T的4次横扫)+(打印头在时间0.5T的一次回程)=4.5T;
可以看出,本发明的双向图表打印法打印速度提高,同时又不会降低打印质量。
本发明的双向图表打印法适用于任何扫描头式打印机。应用这种方法可以双向打印待打印的图表从而提高这类打印机的打印量而不致降低打印质量。
尽管这里是就本发明的最佳方法或值得推荐的实施例进行了介绍,但在不脱离本发明精神实质的前提下是可以进行种种修改和更改的。