归并文本和图形打印方法 |
|||||||
申请号 | CN89109340.0 | 申请日 | 1989-12-11 | 公开(公告)号 | CN1045059A | 公开(公告)日 | 1990-09-05 |
申请人 | 惠普公司; | 发明人 | 戴维·C·威尔克斯; 马克·J·迪维托里奥; 布赖恩·E·克里普; 加里·K·卡特勒; | ||||
摘要 | 本 发明 的归并的文本和图形的打印方法包括通过先行查找和对文本 位置 的识别(10)、对在该文本范围内的任何图形进行打印(14)来进行归并的文本和数据的打印的 软件 。借助先行查找和文本位置识别,本方法可确定该文本相对于图形的打印的时机。 | ||||||
权利要求 | 1、一种基于计算机的对归并的文本和图形执行打印的方法,其特征在于包括: |
||||||
说明书全文 | 本发明涉及归并文本和图形的打印方法,更具体地说,本发明涉及先行检测归并文本和图形的软件。通过先行查找,本方法能够恰当地将归并的文本和图形整体化。归并的文本和图形指的是文本位于图形图象的一部分之侧或叠加在图形图象的一部分上。换言之,归并的文本和图形意指文本和图形图象的一部分相对于页面具有相同的垂直位置。 页式打印机是这样打印归并的文本和图形的,即,将描述整个归并的文本和图形图象的数据存储在存储器中,对每个数据确定位置然后打印整页。因此,主计算机至打印机的数据发送的次序并不重要,但是,页式打印机需要相当大的存储器。 要在串行或扫描打印头的打印机上打印归并的文本和图形,数据必须按垂直位置或按地址排序。然而,这种打印机通常带有有限的存储器。当打印归并的文本和图形时,打印机的存储器尚未将归并的文本和图形完全排序便已装满。在这种情形下,如果打印机已经接收到确定图形图象部分的数据,那么,打印机便不得不打印出一部分图象以便在存储器中为要到来的文本数据留出空间。因此,如果输入的文本数据定址在前面的位置,那么,文本字符便会错误置位,除非打印机可将纸张后退。 为让串行和扫描打印头打印机打印归并的文本和图形,可将其上面将打印图象的页馈通打印机两次。该打印机先打印文本或者图 形,然后打印另一部分。然而,重复送纸麻烦而且导致打印机输出量减少。 本发明提供一种用来由页式、串行或扫描打印头的打印机来打印归并的文本和图形的方法,这种方法无需整页访问所需的存储器,不必创建分开的图形和文本文件或重复地将纸张馈通打印机。本发明也可连同Mark D.Lund的发明“双向图形打印方法”(该发明已转让给Hewlett-Packard公司并描述于共同未决的美国专利申请文件中)一起使用。 所发明的归并的文本和图形打印方法包括允许无需整页访问或重复供纸而对归并的文本和图形进行打印的软件。这可通过先行查找、对文本位置进行识别、打印该文本范围内的任何图形,然后,执行文本的打印这些步骤来完成。通过先行查找和文本位置的识别,本方法可确定该文本的相对于图形的打印时刻。 图1为所发明方法的一般步骤的框图。 图2为所发明方法中简略说明特定步骤的框图。 图3为用于扫描打印头的打印机的本发明方法的框图。 图4至图7说明在使用扫描打印头的打印机的系统中,本发明方法的操作。 图1概述了本发明的归并的文本和图形打印方法的一般步骤。起始时,本方法先行查找并识别待打印的文本的一部分,如框10所示。通常文本是供在页上打印所用,而识别步骤意指找出在该页面上打印所用,而识别步骤意指找出在该页面上待打印的下一行的文本。 当已识别出文本的一部分,本方法对在该文本部分范围内的图形执行打印,如框12所示。例如,如果待打印文本的第一行位置定 在页面下大约4英寸处,那么,本发明的方法将对在所识别文本范围内的任何图形图象执行打印。 本发明的方法通常由置于主计算机中的打印机驱动程序来实现。因此,短语“执行打印”意指将待打印数据送至打印机。这样打印机可缓冲数据并在合适时将数据打印出来。 在步骤14,本发明的方法对所识别出的文本部分执行打印。然后,本方法返回步骤10并识别文本的另一部分。 先行查找和识别文本可让打印机缓冲整个文本的一部分而不是整个文本。因此,可由打印机存储较多的图形信息,从而提高打印机的吞吐量。 图2更详细地概述了本发明的方法。起始时,在步骤16,本方法定义了先行查找区。该先行查找区是本发明的方法将在其中识别文本的位置的规定区域。换言之,先行查找区就是本方法在对任何图形或文本执行打印前要审查的规定的数据量。 先行查找区可认为是具有固定垂直尺寸和与其上面准备打印图象的页面宽度对应的水平尺寸的区域。该区域的顶部边界位于图象的当前光栅行。先行查找区的垂直尺寸一般等于可由特定打印机打印的最大文本字符的垂直尺寸。 在步骤18,本方法首先扫描先行查找区以检测其中是否置有任何文本。如果文本不在该区域内,那么,本方法对图形的一部分执行打印,如步骤20所示。然而,在步骤22,将先行查找区向前推进,然后,本方法确定在已推进的先行查找区内有无任何文本。 若在该区域检测出文本,本方法判定是否应将该文本送到打印机,如步骤24所示。在使用页式打印机的系统中,可通过计算是否有任何文本在距离先行查找区起始处的预定距离之内来进行所述的 判定过程。在使用扫描打印头的打印机的系统中,可如在讨论图3中的相关步骤38、40和42中所公开的方法进行所述的判定过程。 如果文本不须送到打印机,那么,本方法在步骤26对图形的一部分执行打印,在步骤22,推进先行查找区并重复步骤18和24。如果本方法判定该文本应该送至打印机,那么,本方法对文本执行打印,如步骤28所示。接着,本方法在框26执行下一部分图形的打印,在步骤22推进先行查找区。然后,从步骤18开始重复本方法。 图3为用于扫描打印头的打印机中的本发明的归并的文本和图形打印方法的方框图。具体地说,图3更详细地陈述了图2的步骤24。 又,本方法定义了先行查找区,如框30所说明的。然后,本方法确定该区内有无任何文本,如步骤32所示。具体地说,本方法对先行查找区内有无任何文本进行检测。文本基线为假想的放置文本的线。 如果在该区内设有检测到基线,那么,在步骤34,本方法对图形的一部分执行打印。按照最佳实施,本方法执行一个图形光栅行的打印。接着,步骤36按与所执行的图形部分相等的量(通常为一个光栅行)推进先行查找区。然后,由步骤32重新开始本方法。 如在先行查找区内检测出文本基线,那么,本方法继续步骤38、40和42。这三个步骤对应于图2的步骤24。 步骤38识别打印机打印其基线在先行查找区中的文本所需要的打印头经过的次数。步骤40将该经过次数与打印头的垂直尺寸相乘。该乘法之积确定了所谓文本输出框。该文本输出框的垂直尺寸等于步骤40中的乘积,所述垂直尺寸是从先行查找区的顶部开始测量的。该文本输出框的宽度等于先行查找区的宽度。 接着,步骤42确定有无文本基线位于文本输出框之内。如果没 有,本方法在步骤44对一部分图形执行打印。又,最好将一个图象光栅行送到打印机。然后,本方法在步骤36将先行查找区向前推进,并由步骤32重新开始。 如果在步骤42检测出文本输出框中的文本基线,那么,本方法在步骤45对文本执行打印并进到步骤44。换言之,在步骤45,本方法将其基线在所述文本输出框内的文本送到打印机,然后,在步骤44,本方法发送下一图形光栅行。 然后,本方法在步骤36推进先行查找区,并由步骤32重新开始。重复本方法直至包含归并的文本与图形的完整图象已送至打印机。 图4描绘已归并的文本46和图象47被送至打印机的图象。因图形在文本边侧,所以,文本和图形被归并。图5至图7说明在使用扫描打印头(例如Hewlett-Packard′s DeskJet)打印机的系统中本发明的方法的操作。 具体地说,图5至图7说明了本发明方法的连续的步骤。描绘在图4中而在图6、图7看不到的文本或图形是已送去打印机的文本和图形。 图5展示了在图形图象47的第一光栅行上的先行查找区48。该区的垂直尺寸为1/3英寸,即,DeskJet打印机能够打印的最大的文本字符的垂直尺寸。 先行查找区设置之后,本方法检测该区内有无文本基线。图5展示了区域48中一条假想的文本基线50。基线50与可用打印头的一遍扫描而打印的文本相关联,换言之为一遍字体。因此,本方法用1乘以打印头的垂直尺寸,对DeskJet打印机为1/6英寸。所得乘积确定了文本输出框54的垂直尺寸52。 如图5所示,基线50不在框54内。这样,本方法不将该文本送 至打印机而发送描述图形的下一光栅行的数据。然后,本方法将先行查找区48推进一个扫描行。本方法重复以上公开的步骤直至基线50在框54之内。 图6展示已推进的先行区48及框54中的基线50。在区域48中仍只有一条文本基线,所以,框54具有与图5中的相同垂直尺寸。因为基线50在框54之内,所以,本方法可将与基线50相关联的文本送到打印机。该文本应有正确的定位信息,使得在需要时打印机可打印出文本。 然后,本方法将下一图形光栅行送至打印机并推进区域48。再重复本方法直至另一文本基线在区域48之内。 图7展示在区域48之内的基线56。图7仅展示尚未送至打印机的起始图象部分。与基线56相关联的文本为两遍字体,这样,文本输出框58具有与区域48相同的垂直尺寸。 这时,本方法将与基线56相关联的文本送到打印机。接着,本方法发送图形数据的光栅行直至另一基线出现在区域48之内。重复本方法直至待打印的整个图象已发送出去。 本发明的归并的文本和图形的打印方法可应用于许多打印系统中。它的应用由于只要求缓冲页面上待打印的一部分图象而增加了打印机的吞吐量。换言之,不再需要全页面编址。并减少了打印机内所需的随机存取存储器的存取量。 |