选择打印机语言的打印数据输出设备及其方法

文档序号:6609784阅读:350来源:国知局
专利名称:选择打印机语言的打印数据输出设备及其方法
选择打印机语言的打印数据输出设备及其方法技术领域本总发明构思涉及选择打印机语言的打印数据输出设备和选择打印机 语言的方法。更具体地,本总发明构思涉及如下的选择打印机语言的打印数 据输出设备和选择打印机语言的方法,其可以通过例如从打印机驱动器(driver )所支持的多种打印机语言之中选择最佳打印机语言来提高打印速度。
背景技术
通常,利用打印机驱动器将通过应用程序准备的要打印的文档转换为打 印机语言,并然后将文档传送到打印机以便打印。打印机通常支持一种打印 机语言,并且为了打印文档,打印机和打印机驱动器应该支持相同的仿真方 法。也就是说,在打印机支持打印机控制语言(PCL)仿真的情况下,打印 机驱动器应该将文档转换为PCL打印机语言。在打印机支持PostScript (PS) 仿真的情况下,打印机驱动器应该将文档转换为PS打印机语言。然而,因为传统打印机驱动器仅支持一种打印机语言(如上所述),所 以打印机驱动器只限于将文档转换为相同的打印机语言。也就是说,传统打 印机驱动器仅使用单一指定的打印机语言,而不考虑文档的特性(例如,主 要由图形图像组成的文档、或者主要由文本组成的文档)。因此,传统打印 机驱动器不能考虑要打印的文档(即,打印数据)的特性而选择不同的打印 机语言(除了单一指定的打印机语言之外的打印机语言)。此外,尽管可根据文档的特性和所选择的打印机语言来调整打印速度, 但是传统打印机驱动器不能选择(或挑选)用于使打印速度最优化(或提高 打印速度)的打印机语言的类型。发明内容本总发明构思提供了选择打印机语言的打印数据输出设备和选择打印 机语言的方法,其可以通过根据打印数据的特性来选择适当的打印机语言,6
而提高打印速度。本总发明构思的其它方面和优点将部分地将在接下来的描述中陈述,并 部分地将根据该描述而显而易见,或者可通过实践本总发明构思而获悉。根据本总发明构思的一个或多个实施例,本总发明构思的前述和/或其它方面和效用(utilities)可通过提供一种用于选择打印机语言的打印数据输 出设备来实现,该设备可包括图形设备接口 (GDI)单元,将要打印的打 印数据划分为对象(objects),并调用关联调用函数以输出所述对象;以及 打印机驱动器,收集所调用的所述对象的关联调用函数,并对每个关联调用 函数被调用的次数进行计数以得到对应计数结果,基于所述计数结果而从多 种打印机语言中选择最佳打印机语言,从GDI单元接收打印数据的对象,并 将所述对象转换为所选择的最佳打印机语言。当完成了对打印数据的第一页面.的函数调用时,可以结束关联调用函数 的收集,并且打印机驱动器可基于对第 一页面的关联调用函数进行计数的计 数结果来选择最佳打印机语言。所述打印机驱动器可通过使用所述GDI单元的GDI分带(banding )函 数来收集所述函数。如果与(各个对象之中的)至少一个对象对应地调用的关联调用函数的 数目大于设定的参考值(例如,基于计数结果确定),则打印机驱动器可选择用于将打印数据转换为位图数据的打印机语言作为最佳打印机语言。如果与所述对象对应地调用的关联调用函数的数目小于或等于设定的 参考值(例如,基于计数结果确定),则打印机驱动器可选择用于为构成该 打印数据的对象生成不同命令的打印机语言作为最佳打印机语言。所选择的最佳打印机语言可以是打印机控制语言(PCL)和PostScript (PS)中的任一个。所述各个对象可以是位图对象、线条(line)对象、表面(surface)对 象、和文本对象中的至少一个,并且打印机驱动器可通过分别将与位图对象 对应的调用函数的数目、与表面对象对应的调用函数的数目、与线条对象对 应的调用函数的数目、和与文本对象对应的调用函数的数目与所述参考值进 行比较,来选择最佳打印机语言。所述参考值可根据上述每一对象类型而不同。根据本总发明构思的又一个实施例,提供了 一种用于选择打印机语言的 方法,其包括将要打印的打印数据划分为具有关联调用函数的对象,以使 用图形设备接口 (GDI)来输出所述对象;收集所述对象的关联调用函数, 并对每个关联调用函数被调用的次数进行计数,以得到对应的计数结果;基 于所述对应的计数结果而从多种打印机语言中选择最佳打印机语言;以及从 GDI接收打印数据的对象,并将所接收的对象转换为所选择的最佳打印机语当完成了对打印数据的第一页面的调用时,可停止收集所述关联调用函 数,以及基于对第 一 页面的计数结果选择最佳打印机语言。对所调用的关联调用函数进行计数的步骤可包括使用所述GDI的GDI 分带函数来收集所述函数。如果与(各个对象之中的)至少一个对象对应地调用的关联调用函数的 数目大于设定的参考值,则选择最佳打印机语言的步骤可包括选择用于将打 印数据转换为位图数据的打印机语言作为最佳打印机语言。如果与对象对应地调用的关联调用函数的数目小于或等于设定的参考值,则选"t奪最佳打印机语言的步骤可包括选择用于为构成打印数据的对象生 成不同命令的打印机语言作为最佳打印机语言。所述各个对象可以是位图对象、线条对象、表面对象、和文本对象中的 至少 一个;并且选择最佳打印机语言的步骤可包括通过分别将位图对象的位 图尺寸、表面对象的调用函数的数目、线条对象的调用函数的数目、和文本 对象的调用函数的数目与所述参考值进行比较,来选择最佳打印机语言。本总发明构思的前述和/或其它方面和效用基本上可通过提供一种打印 数据输出设备来实现,其用于将被划分为具有至少一个关联调用函数的一个 或多个对象的打印数据转换为所选择的打印机语言,所述设备包括打印机 驱动器,用于记录(tally)每个关联调用函数的对应总数的对应计数结果, 基于该对应计数结果选择打印机语言,并将所述打印数据转换为所选择的打 印才几语言。本总发明构思的前述和/或其它方面和效用基本上可通过提供一种打印 数据输出设备来实现,其用于将被划分为一个或多个不同对象类型的打印数 据转换为所选择的打印机语言,所述设备包括打印机驱动器,用于确定所 述不同对象类型的每一个的对应计数,基于对应的计数结果选择打印机语 言,并使用所选择的打印机语言来转换该打印数据。 本总发明构思的前述和/或其它方面和效用基本上可通过提供一种选择 打印机语言来转换打印数据的方法来实现,所述打印数据被划分为具有至少一个关联调用函数的一个或多个对象,该方法包括记录每个关联调用函数 的对应总数的对应计数结果;基于该对应计数结果选择打印机语言;以及将 所述打印数据转换为所选择的打印机语言。


根据接下来结合附图对实施例的描述,本总发明构.思的这些和/或其它方 面和效用将变得明显和更易于理解,在附图中图1是示意性图示了根据本总发明构思的实施例的、包括用于选择打印 机语言的打印数据输出设备的打印系统的图;图2是图示了如在图1的实施例中图示的打印机驱动器的详细构造的框图;图3是图示了根据本总发明构思的实施例的、由图1的设备所使用的选 择打印机语言的方法的流程图;以及图4是更详细地图示了根据本总发明构思的实施例的、图3中选择最佳 打印机语言的操作S335的流程图。
具体实施方式
现在将详细参考在附图中图示了其示例的本总发明构思的实施例,在附 图中相同的附图标记始终指的是相同的元件。下面参考图来描述实施例以说 明本总发明构思。图l是示意性图示了根据本总发明构思实施例的、包括用于选择打印机 语言的打印数据输出设备的打印系统的图。参考图1,该打印系统包括打印数据输出设备100和图像形成设备200。 可以作为个人计算机的打印数据输出设备100用于考虑要打印的文档(即打 印数据)的特性而选择多种打印机语言之一,以便将文档(即,打印数据) 转换为图像形成设备200可通过使用所选择的打印机语言而解释(interpret) 的命令,并将已转换的命令传送到图像形成设备200以请求打印文档。图像形成设备200是用于通过使用与所选择的打印机语言对应的仿真而 在纸(或其它合适介质)上形成文档的图像并打印该文档的设备,并且可以是打印机或者具有打印机功能的多功能设备。该打印数据输出设备100和图像形成设备200可通过有线或无线网络而彼此连接。根据本总发明构思的实施例,该打印数据输出设备IOO可包括用户输入 单元IIO、图形卡120、显示单元125、中央处理单元(CPU) 130、 ROM 140、 RAM 145、硬盘驱动器(HDD) 150、端口监视器160、和第一通信接口单 元170。如图示的,例如,总线100a可用于提供上述部件之间的数据传送路 径。用户输入单元110可以是请求打印数据输出设备IOO所支持的各种功能 的接口,并可以是键盘、鼠标等。例如,用户输入单元IIO可用于向CPU 130 输出用于请求打印文档(即,打印数据)的信号。图形卡120可用于将视频信号处理(或转换)为可显示信号,并将可显 示信号输出到显示单元125。例如,图形卡120可用于处理从应用程序单元 或打印机驱动器提供的用于用户接口的图像,并可用于将已处理的图像信号 输出到显示单元125。显示单元125可用于显示与例如从(或经由)图形卡120提供的信号对 应的图像、或基于打印数据输出设备100的操作状态显示图像。CPU 130可用于通过使用各种预先存储的控制程序来控制打印数据输 出设备100的全部#:作。例如,如果通过用户输入单元IIO请求可通过应用 程序准备的文档(即,打印数据)的打印,则CPU 130可用于执行与打印机 驱动器相关的程序。ROM 140可用于存储在执行诸如Windows的操作系统之前、检查打印 数据输出设备100的各个构成元件所需要的基本信息。RAM 145可用于存储 从ROM 140或HDD 150装载并将由CPU 130执行的程序、以及由CPU 130 处理的数据。HDD 150可用于安装操作该打印数据输出设备100所需要的操作系统、 软件、和固件。具体地,对于打印作业,HDD 150可包括应用程序单元151、 图形设备接口(GDI )单元152、打印机驱动器153、和假脱机元件(spooler)154。在应用程序单元152中,可提供使用户能够准备各种文档的应用程序。 在打印所准备的文档的情况下,应用程序单元151可用于向GDI单元152 提供打印请求信号、打印选项、和/或要打印的文档的打印数据。打印选项可 包括各种打印参数,诸如打印纸(或其它合适介质)的尺寸、份数、打印方
向等,并且打印数据可包括包含图像、文本、线条、表面等的数据。应用程序可以是Word Processor、 PowePoint、 Photoshop等。 GDI单元152可以是用作计算机操作系统的微软公司的Windows系统 的一部分,以支持应用程序单元151和打印机驱动器153之间的接口,并用 于提供GDI分带函数。GDI分带函数可用于将页面(即,打印数据)划分为多个区域,并根据 所划分的区域来传送数据,作为对于打印机驱动器153不能立即处理从GDI 单元152接收的所有打印数据这种情形的预防措施。也就是说,GDI分带函 数可用于传送可由打印机驱动器153处理的区域的对象,并为打印机驱动器 153调用对象的相关调用函数。首先,GDI单元152可用于将例如从应用程序单元151提供的打印参数 传输到打印机驱动器153。然后,GDI单元152可用于使用设备驱动器接口 (DDI)函数名称来调用对象的关联DDI调用函数,该函数由打印机驱动器 153支持。关联DDI调用函数用于输出构成打印数据的各个对象,即线条对 象、表面对象、文本对象、和位像对象。表1在下面图示了所述对象的关联DDI调用函数(可以调用的)的非限 制型示例。表1包括在文档中的对象与对象对应的DDI函数文本DrvTextOut函数线条DrvStrokePath函数、DrvStrokeAndFillPath函数表面DrvFillPath函数、DrvStrokeAndFillPath函数位图DrvBitBlt函数、DrvStretchBlt函数、 DrvStretchBitRop函H参考表1的实施例,GDI单元152可用于分析从碎用程序单元151输出 的打印数据。GDI单元152可用于调用"DrvStrokePath"函数,以表示与被 确定为线条对象的数据有关的线条,并调用"DrvFillPath"函数,以表示与 被确定为表面对象的数据有关的表面。此外,例如,GDI单元152可用于输 出"DrvBitBlt"函数,以表示与被确定为位图对象的数据有关的位图和位图 尺寸信息二者。位图尺寸信息可以是面积(area)信息。根据本总发明构思的实施例,如果请求GDI分带函数,则GDI单元152
可用于向打印机驱动器153传送构成一个指定页面的打印数据(即对应打印 数据)的相应对象,并且,在调用相应对象的关联调用函数之后,GDI单元 152可用于向打印机驱动器153传送相同指定页面的相应对象。然后,根据 打印机驱动器153的请求,GDI单元152可用于传送随后页面(即,在已传 送页面之后)的对象到打印机驱动器153。
根据本总发明构思的实施例,如果打印机驱动器153请求GDI分带函数, 则GDI单元152可用于向打印机驱动器153传送打印数据的对象,并调用相 应对象的关联函数,直到例如打印机驱动器153请求分带函数结束为止。下文中,详细描迷根据本总发明构思的实施例的、在打印机驱动器153 请求GDI分带函数时的GDI单元152的操作。如果打印机驱动器153请求GDI分带函数、并且GDI单元152收到(或 访问)将对其执行GDI分带函数的页面片段(fragment)的尺寸,则GDI 单元152可用于准备分带函数。如果例如从打印机驱动器153收到将对其执行GDI分带函数的页面的新 的开始位置信息(例如,0, 0),则GDI单元152可用于将打印数据划分为 在打印数据的分带区域中存在的对象。该分带区域可以与先前的分带区域一 样大。此外,GDI单元例如可用于调用与对象对应的关联DDI调用函数和/ 或用于将那些调用函数连同对象一起传送到打印机驱动器153。如果完成了 一个分带区域的函数调用,则GDI单元152然后可用于通过使用从打印机驱 动器153收到的下一个开始位置信息来划分在下一个分带区域中存在的打印 数据,并然后根据需要重复上述的操作。如果从打印机驱动器153收到表明不再需要分带函数的信息(例如,-1, -1),则GDI单元152可用于准备分带函数的结束,并传送随后的一个 或多个页面的对象(或其一部分)。例如,如果从打印机驱动器153收到页面尺寸、将对其执行GDI分带函 数的页面片段的尺寸、以及页面的对应开始位置信息(例如,0, 0),则GDI 单元152可用于将整个对应页面设置为合适的分带区域。然后,GDI单元152 可用于将打印数据划分为根据对应页面的开始位置信息(例如,0, O)设置 的在已设置分带区域中存在的对象,并调用与相应对象对应的关联DDI调用 函数。如果从打印机驱动器153传送了开始位置信息(例如,0, 0),则在特
定的时间过去之后,GDI单元152可用于向打印^L驱动器153传送构成相同 页面的打印数据的对象和/或随后页面的对象。此外,如果在GDI单元收到 特定页面的结束信息,诸如(-1, -1),则GDI单元152可用于向打印机 驱动器153传送随后的一个或多个页面的对象。打印机驱动器153可用于显示打印注册注册信息屏幕来设置打印参数, 诸如纸(或其它合适介质)尺寸、打印范围、打印质量、份数等。例如,用 户可通过在显示单元125上显示的打印注册信息屏幕,来更详细地设置图像 形成设备200所支持的打印参数。此外,打印机驱动器153可用于将从GDI单元152提供的打印参数和打 印数据转换为可由图像形成设备200解释的打印机语言。打印机语言指的是 打印数据输出设备100可传送到图像形成设备200以便指示如何构建要输出 的文档的命令。该命令可用于管理字体大小、图形、数据压缩、颜色等。例如,打印机语言可以是用于为构成打印数据的每个对象生成不同的 关联命令的打印机控制语言PCL 5、 PCL 6、 PostScript ( PS )、和/或用于将 打印数据的一个页面转换为位图数据的GDI语言。由三星支持的三星打印机 语言(SPL)可以是GDI语言的示例。通常,由于PCL用于生成打印数据的每个对象的关联命令,所以在诸 如文本、线条、和/或表面的页面输出数据量小的情况下,可有利地使用PCL。 然而,在页面输出数据量大的情况下,使用PCL时可能会降低数据输出速 度。由于GDI语言用于生成与打印数据的页面对应的位图数据,所以在页面 输出数据量大的情况下,GDI语言可有益地提高输出速度。打印机驱动器153可用于支持多种打印机语言。该打印机驱动器153可 用于从多种打印机语言中选择最佳打印机语言。最佳打印机语言的选择可基 于对打印数据特性的分析。然后,所选择的最佳打印机语言可用于将打印数 据转换为所选择的最佳打印机语言的命令。因此,打印机驱动器153可能通 过接收页面的打印数据的对象两次,而收集关联调用函数,其中,第一次用 于使用所接收/收集的关联调用函数来分析对象,而第二次用于使用所选择的 最佳打印机语言、并可选地使用GDI单元152的GDI分带函数、来输出对 象的打印数据。也就是说,为了分析选择最佳打印机语言所需要的、构成打印数据的相应对象,打印机驱动器153接收对应页面的对象以及相应对象的关联调用函 数,并然后再次接收相同的对象,以便将打印数据转换为所选择的最佳打印机语言。在这个情况下,例如可对打印机驱动器153两次接收的打印数据的页面数进行编程,使得该页面数可由设计者或用户改变,并且打印数据的第 一页面可祐j殳置为缺省值。图2是图示了根据本总发明构思的实施例的、在图1中图示的打印机驱 动器的详细构造的框图。参考图1和2,如图示的,打印机驱动器153可具有收集单元11、分析 单元12、打印机语言选择单元13、转换单元14、和控制单元15。如果从GDI单元152收到打印参数,则收集单元11可用于请求GDI单 元152的GDI分带函数,并向GDI单元152通知要划分的页面片段的尺寸。 此外,收集单元11可用于向GDI单元152通知页面片段的开始位置信息(例 如,0, 0)。例如,如果收集单元11用于请求与整个页面尺寸(例如,A4尺寸)对 应的页面片段以及第一页面的打印数据,则收集单元11可用于传送开始位 置信息(例如,0, 0),并且GDI单元152可用于调用构成第一页面的打印 数据的相应对象的关联调用函数。当调用构成第一页面的打印数据的相应对象的关联调用函数时,收集单 元11可用于收集为每个对象调用的函数。例如,在位图对象的情况下,收 集单元11可用于收集实际的位图尺寸信息。当第一页面的函数调用完成时, 可结束关联调用函数的收集、或者位图尺寸信息的收集。然后,当或如果确定完成了 GDI单元152已经请求分带函数的第一页面 的输出时,分析单元12可用于通过分析所收集的函数,而对调用对应对象 的关联调用函数的次数进行计数以得到计数结果,并基于计数结果和位图尺 寸信息,而向打印机语言选择单元13输出用于选择最佳打印机语言的参考 值。为每个对象(即,对象类型)计算的参考值可用于选择最佳打印机语言。在位图对象的情况下,根据等式(1)计算可用于选择最佳打印机语言 的参考值 等式l:紫—.桌丰悄=位图速率x打印机规格 m
这里,位图速率是1.5。PC规格是与CPU 130的容量、RAM 145的容量;和HDD 150的容量 成比例地计算的常量。此外,打印机规格是与图像形成设备200的每分钟页 面(ppm)信息成比例地计算的常量。参考等式(1),第一参考值是与所计 数的位图对象的已调用的关联调用函数的数目(即,与位图对象对应的计数 结杲)进行比较的参考值。例如,PC规格^ ( CPU + RAM ) x HDD = ( 3.00GHz+512MB ) x 80GB,打印机规格"PPM信息=35ppm。可以以相同的方式将它们应用到等式2和3 。根据使用PCL执行的测试结果,其中有109个文件和17种应用,使用 了规格为英特尔奔腾4、 CPU 3.00GHz、和512MB存储器的计算机,以及 35ppm的打印机,在基于字母尺寸页面的位图尺寸超过1.5的情况下,打印 数据的输出速度减少,而在使用SPL的情况下,平均打印速度(每页面)提 高了 1.5秒以上。因此,对于SPL,在计算第一参考值期间,值1.5被用作 位图速率。这里,在将PCL6改变为SPL的情况下,根据等式(l)可以看 出,第一参考值与打印机规格成正比,而与PC规格成反比。具体地,在对于使用诸如Powerpoint的具有大量位图的背景 (background )的应用程序而使用SPL的情况下,与使用PCL相比大大增加 了数据输出速度。例如,在输出其中在19页PowerPoint文档的背景上存在 的位图的速率是每A4尺寸页面1.8的文档时,在使用PCL的情况下需要 13S.88秒,而在使用SPL的情况下需要45.79秒。这样,在这个示例中,使 用PCL输出的138.88秒被降低到使用SPL的45.79秒。在线条/表面对象的情况下,根据等式(2)计算可用于选择最佳打印机 语言的参考值 等式2:第二.共老值=调用数目x打印机规格 (2) 矛一乡可— PC规格 ,这里,调用数目指的是线条/表面函数的调用次数,并且其为800。参考等式(2),第二参考值是与所计数的线条对象的关联调用函数的数目和所计数的表面对象的关联调用函数的数目之和进行比较的参考值。如上所述,PC规格是与CPU 130的容量、RAM 145的容量、和HDD 150的容 量成比例地计算的常量。此外,如上所述,打印机规格是与图像形成设备200 的ppm信息成比例地计算的常量。根据使用PCL执行的测试,其中有109个文件和17种应用,使用了规 格为英特尔奔腾4、 CPU3.00GHz、和512MB存储器的计算机,以及35ppm 的打印机,在字母尺寸页面的基础上、所调用的线条/表面相关函数超过800 的情况下,打印数据的输出速度降低。在使用SPL的情况下,每页面的平均 输出速度比使用PCL的情况提高了 0.5秒以上。因此,在计算第二参考值期 间,值800被用作线条/表面函数的调用数目。这里,在将PCL6改变为SPL 的情况下,根据等式(2)可以看出第二参考值与打印机规格成正比,而与 PC规格成反比。在文本对象的情况中,根据等式(3)计算可用于选择最佳打印机语言 的参考值 等式3:第 - 兵老^_ =调用数目x打印机规格 (3) 矛二乡^ — PC规格 ~,这里,调用数目指的是文本函数的调用次数,并且其为200。参考等式(3),第三参考值是与所计数的文本对象的函数数目进行比较 的参考值。如上所述,PC规格是与CPU130的容量、RAM"5的容量、和 HDD 150的容量成比例地计算的常量。此外,如上所述,打印机规格是与图 像形成设备200的ppm信息成比例地计算的常量。如果PC规格和/或打印机规格不改变,可以在没有改变的情况下使用所 计算的第一到第三参考值。如果相应规格信息改变,则分析单元12可用于 重新计算第一到第三参考值。此外,所计算的第一到第三参考值可表示为打 印机驱动器153中的二进制数据,或者可存储在可以由打印机驱动器153访 问的文本文件中。此外,分析单元12可用于增加在第一页面上存在的位图对象的所有位 图尺寸信息,并然后计算第一页面的整个尺寸(即,A4尺寸)的所增加位 图尺寸的速率,即位图速率(每个页面的比特)。打印机语言选择单元13可用于使用由分析单元12计算的第一到第三参 考值,来从多个可支持的打印机语言之中选择最佳打印机语言。最佳打印机 语言的选择是基于考虑要打印的打印数据的尺寸和类型而提高(和/或最优
化)打印速度的目的的。在PCL6的情况下,打印数据所需要的命令是针对每个对象生成的。当 使用SPL时,总是生成页面的位图数据。即使对于小量的打印数据,所生成 的位图数据也很大。这样,如果页面的打印数据量小,则例如打印文件(即, PRN文件)的尺寸在整体上很小。在这个情况下,当打印数据的尺寸很小时, 可选择PCL6,并且使用PCL6优于使用SPL,这是因为打印文件的尺寸可 以大于在PCL6的情况下的尺寸。如果页面包括许多线条或表面,则在使用PCL6的情况下生成大量的打 印机命令。通过比较,位图数据的尺寸与使用SPL的情况下的预定尺寸相比 并没有大大增加。因此,例如,在页面包括许多线条和/或表面这样的情形下, SPL可能更有利。如果页面包括大量文本,在使用PCL6的情况下使用图像形成设备200 中的字体。这样,打印文件的尺寸变得小于在使用SPL的情况下的尺寸。因 此,在PCL6和SPL被设置为用于最佳打印机语言选择的缺省的情况下,如 果页面包括大量的文本,则优选地使用PCL6。然而,如果除SPL之外、GDI 语言被设置为缺省语言,则如果页面包括大量文本,就优选使用除SPL之外 的GDI语言。另一方面,如果页面包括大量的位图打印数据,则在使用PCL6的情况 下,将位图数据的所有RGB数据都传送到图像形成设备200。这样,打印 文件的尺寸可能增加。通过对比,在使用SPL的情况下,打印文件被生成为 一个位图数据。这样,即使大量打印数据以位图形式存在或者位图数目增加, 整个页面的打印文件的尺寸也没有增加到预定尺寸之上。在这个情况下,与 使用PCL6相比,例如使用SPL可能有利于提高每页面的打印速度。下文中,将更详细地描述根据本总发明构思的实施例的最佳打印机语言 选择。打印机语言选择单元13可用于向对打印数据输出速度施加最大影响的 一个(或多个)对象分配优先级,并按照它们的所分配的优先级顺序,通过 比较对象的相应数目对象(例如,位图尺寸、线条对象数目、表面对象数目、 文本对象数目等)和它们的与相应对象对应的对应参考值,来选择最佳打印 机语言。此外,如果有三个或更多的可支持打印机语言可用,则打印机语言 选择单元13可用于在作为缺省而设置两种打印机语言.(例如,PCL6和SPL)
具有高优先级之后,选择最佳打印机语言。例如,如果打印机语言选择单元13用于按照位图对象、线条/表面对象、和文本对象的顺序设置优先级,则打印机语言选择单元13然后可用于比较为位图对象计算的位图尺寸和第一参考值。如果作为比较结果该位图尺寸超过第一参考值,则打印机语言选择单元13可用于选择GDI语言作为最佳打印机语言。通过对比,如果位图尺寸小 于或等于第一参考值,则打印机语言选择单元13可用于比较为线条和表面 对象调用的关联线条/表面调用函数的数目和第二参考值。如果作为比较结果所调用的关联线条/表面调用函数的数目超过第二参 考值,则打印机语言选择单元13可用于选择GDI语言作为最佳打印机语言。 通过对比,如果所调用的关联线条/表面调用函数的数目小于或等于第二参考 值,则打印机语言选择单元13可用于选择PC16作为最佳打印机语言。然而,如果选择了除了已被设置为两个缺省语言的PCL6和SPL之外的 GDI语言,则例如打印机语言选择单元13可用于比较为文本对象调用的关 联文本调用函数的数目和第三参考值。如果作为比较结果所述关联文本调用 函数的数目超过第三参考值,则打印机语言选择单元13可选择除SPL之外 的GDI语言作为最佳打印机语言;然而,如果所调用的关联文本调用函数的 数目小于或等于第三参考值,则打印机语言选择单元13可用于选择除SPL 语言之外的PCL6作为最佳打印机语言。这是因为,如果在打印数据包括大量文本的状态下使用PCL6将打印数 据转换为打印机语言,则可以使用在图像形成设备200中存在的字体,并因 此可以使打印文件(即,PRN文件)的尺寸最小化。.如果通过上述处理选择了最佳打印机语言,则收集单元11可用于传送 开始位置信息(例如,0, 0)到GDI单元152。该GDI单元152可用于向 转换单元14再次传送构成第一页面的打印数据的相应对象、并向转换单元 14传送构成随后页面的打印数据的对象。转换单元14可用于将所传送的相应页面的对象转换为所选择的最佳打 印机语言的命令。如果不存在可以执行分带函数的其它页面(或部分页面), 即,如果完成了第一页面的打印数据到最佳打印机语言的转换,则收集单元 11可用于向GDI单元152通知结束信息(例如,-1, -1),以表明在完成 前一 (或第一)页面的打印数据到最佳打印机语言的转换之后,收集单元11
将不再接收打印数据。如果从GDI单元152报告了第一页面的输出完成,则控制单元15可用 于通过分析所收集的函数而对为每个对象(诸如位图、线条、表面、文本或 其它的每个对象类型)调用关联调用函数的次数进行计数,并基于计数结果 和位图尺寸信息来控制分析单元12和打印机语言选择单元13以选择最佳打 印才几i吾言。此外,如果打印机语言选择单元13选择了最佳打印机语言,则控制单 元15可用于控制收集单元11以向GDI单元152重新传送开始位置信息(例 如,0, 0),并向转换单元14输出从GDI单元152提供的对象。再次参考图1,例如,假脱机元件154可用于通过打印机驱动器153来 假脱机(spool)被转换为打印机语言的打印数据,并向端口监视器160提供 假脱机的打印数据,以匹配图像形成设备200的处理速度。端口监视器160可用于监视与图像形成设备200电和物理连接的端口, 并通过连接的端口来提供打印数据到图像形成设备200。第 一通信接口单元170具有多个端口 ,所述端口中的至少一个与图像形 成设备200进行双向通信(见双向箭头10),并用于向图像形成设备200传 送打印参数和被转换为打印机语言的打印数据。所述多个端口可包括LPT 端口、网络端口、通用串行总线(USB)端口等。参考图1,如固示的,与打印数据输出设备IOO通信连接的图像形成设 备200包括操作面板单元210、 ROM 220、 RAM 230、存储单元240、第二 通信接口单元250、数据处理单元260、打印引擎单元270、和控制单元280。操作面板单元210可具有用户操纵键(未示出)和显示单元(未示出)。 例如为接触面板等的用户操纵单元(未示出)可具有多个4逸以选择并设置图 像形成设备200.所支持的函数,并将所选择的函数施加到控制单元280。显 示单元(未示出)可用于在控制单元280的控制下显示图像形成设备200的 操作状态。 'ROM 220是可用于存储实现图像形成设备200的功能所需要的各种控 制程序的存储器,而RAM 230是可用于存储在图像形成设备200的操作期 间生成的各种凝:据的存储器。存储单元240可用于存储实行打印数据的仿真所需要的程序。如图1所示,第二通信接口单元250与打印数据输出设备100进行通信, 并可用于接收从第一通信接口单元170传送来的打印参数和打印数据。数据处理单元260可用于仿真已经被转换为最佳打印机语言的命令的打 印数据,使得可以打印所述打印数据。例如,如果已经将打印数据转换为打印引擎单元270可用于在控制单元280的控制下执行打印工作。控制单元280可用于根据在ROM 220中存储的控制程序来控制图像形 成设备200的整体操作。图3是图示了根据本总发明构思的实施例的、用于选择图1的设备所支 持的打印机语言的方法的流程图。参考图1到3,如果从GDI单元152提供打印选项,则收集单元11在 操作(S305 )提交GDI分带函数的请求给GDI单元152。然后,收集单元ll在操作(S310)向GDI单元152通知页面片段的尺 寸和页面片段的开始位置信息。例如,在一个页面的整体尺寸是页面片段的 尺寸的情况下,收集单元11向GDI单元152提交用于输出文档的第一页面 的数据的请求。第 一 页面的数据包括构成第 一 页面的打印数据的相应对象、 和与所述对象对应地调用的关联DDI调用函数。如果在操作(S315)从GDI单元152调用用于文档的第一页面的DDI 函数,则收集单元11在操作(S320 )收集所调用的DDI函数。在操作(S315 ) 中,GDI单元152针对构成第一页面的打印数据的每个对象来调用DDI函 数,而在位图对象的情况下,GDI单元152向收集单元11提供位图尺寸信 白在操作(S325 )中如果GDI单元152报告了用于被请求分带的第一页 面的函数调用完成,则在操作(S330 )中,分析单元12通过分析在操作(S320 ) 中收集的函数而对为每个对象调用的函数数目进行计数,并输出对象的关联 调用函数的计数结果和计算将用于打印机语言选择单元13的最佳打印机语 言选择的位图尺寸。例如,如先前在其中描述的,打印机语言选择单元13在搡作(S335 ) 中基于计数结果和所计算的位图尺寸与第 一到第三参考值的比较,而从所述 多种可支持打印机语言中选择最佳打印机语言。如果在操作(S335 )中选择了最佳打印机语言,则收集单元11在操作 (S340)中再次请求输出第一页面的打印数据(例如,其对象)到GDI单 元152。收集单元11还将该请求和第一页面的开始位置信息都传送到GDI 单元152,使得GDI单元可标识将输出哪些所请求的对象。如果在操作(S345 )中从GDI单元152传送了构成第一页面的打印数 据的相应对象、并且报告完成了第一页面的输出,则收集单元11在操作 (S350 )中向GDI单元152传送用于表明GDI分带函数结束的结束信息(例 如,-1, -1)。此外,转换单元14在操作(S355 )中将构成第一页面的打印数据的相 应对象转换为最佳打印机语言的命令。此外,GDI单元152在操作(S360 )向收集单元11传送用于在第一页 面之后的随后页面的打印数据的输出数据。也就是说,GDI单元152向收集 单元11传送构成随后页面的打印数据的相应对象,并且转换单元14在操作 (S365 )中将随后页面的相应已传送对象转换为所选择的最佳打印机语言的 命令。在操作(S355和S365 )中转换的数据被传送到图像形成设备200以进 4亍打印。图4是更详细地图示了根据本总发明构思的实施例的、图3中选择最佳 打印机语言的操作S335的流程图。'参考图1至4,在操作(S410)中,如果在操作(S330 )计算的位图尺 寸小于或等于第一参考值,则打印机语言选择单元13.在操作(S420 )中比 较为线条/表面对象调用的线条/表面函数的数目和第二参考值。通过对比, 如果在操作(S410)中位图尺寸超过第一参考值,则打印机语言选择单元 13在操作(S460)中选择GDI语言作为最佳打印机语言。如果比较结果是线条/表面函数的数目小于或等于第二参考值,则打印机 语言选择单元13在操作(S430)中确认是否已经将SPL设置为缺省语言。 此外,如果在操作(S420)中线条/表面函数的数目超过第二参考值,则打 印机语言选择单元13在操作(S460 )中选择GDI语言作为最佳打印机语言。如果在操作(S430 )的确认结果是SPL语言没有被设置为缺省语言,则 打印机语言选择单元13在操作(S440)中比较为文本对象调用的文本函数 数目和第三参考值。此外,如果在操作(S430)中将SPL设置为缺省语言, 则打印机语言选择单元13在操作(S450)中选择PCL 6作为最佳打印机语5 。
如果作为比较结果文本函数的数目超作第三参考值,则打印机语言选择单元13在操作(S450 )中选择已经被设置为缺省值的PCL作为最佳打印机 语言。此外,如果在操作(S440)中文本函数的数目小于或等于第三参考值, 则打印机语言选择单元13在操作(S460)中选择GDI语言作为最佳打印机 语言。如上所述,根据本发明实施例的、能够选择打印机语言的打印数据输出 设备和选择打印机语言的方法,可能考虑打印数据的特性,而从打印机驱动 器作所支持的多种打印机语言中选择最佳打印机语言。因此,通过选择最佳 的打印机语言,可以提高打印数据的输出速度。具体地,当收集为打印数据的每个对象调用的关舉调用函数时,可例如 通过使用由Windows的GDI提供的分带函数、基于对为打印数据的单个页 面(或者打印数据的一部分)收集的已调用的关联调用函数的分析,来选择 最佳打印机语言。因此,可以消除由收集整个页面的函数所导致的、选择最 佳打印机语言所需要的时间延迟,并从而可以防止打印数据的输出速度的降 低。例如,在使用Windows的GDI分带函数的情况下,可容易地执行相应 对象的收集,并且打印机驱动器不需要单独地存储打印数据的函数信息。因 此,可以更有效地和迅速地选4奪最佳打印^L语言。作为选择,通过收集对整个页面调用的关联调用函数、并基于对所收集 的已调用函数的分析来选择最佳打印机语言,可以更准确地选择最佳打印机 语言。尽管已经示出并描述了本总发明构思的几个实施例,但是本领域的技术 人员将理解,在不脱离本总发明构思的原理和精神的情况下,可以对这些实 施例进行改变,本总发明构思的范围由所附权利要求及其等效来限定。
权利要求
1.一种用于选择最佳打印机语言的打印数据输出设备,该设备包括图形设备接口(GDI)单元,将打印数据划分为对象,并调用输出所述对象所需要的关联调用函数;以及打印机驱动器,收集所述对象的关联调用函数,并对每个关联调用函数被调用的次数进行计数以得到对应计数结果,基于该对应计数结果而从多种打印机语言中选择最佳打印机语言,从GDI单元接收打印数据的对象,并将所接收的对象转换为所选择的最佳打印机语言。
2. 根据权利要求1的设备,其中,当完成了对打印数据的第一页面的 调用函数的收集时,打印机驱动器停止收集所述调用函数并停止计数,并且打印机驱动器基于对第一页面的调用函数进行计数的计数结果来选择 最佳打印机语言。
3. 根据权利要求l的设备,其中所述打印机驱动器通过使用所述GDI 单元的GDI分带函数来收集调用函数。
4. 根据权利要求1的设备,其中,如果至少一个已调用函数的对应计 数结果大于设定的参考值,则打印机驱动器选择用于将打印数据转换为位图 数据的打印机语言作为最佳打印机语言。
5. 根据权利要求1的设备,其中,如果所有已调用函数的对应计数结 杲小于设定的参考值,则打印机驱动器选择用于为构成打印数据的相应对象 生成不同命令的打印机语言作为最佳打印机语言。
6. 根据权利要求5的设备,其中,所选择的最佳打印机语言是打印机 控制语言(PCL)和PostScript (PS)中的任一个。
7. 根据权利要求4的设备,其中,所述对象中的每一个是位图对象、 线条对象、表面对象、和文本对象中的至少一个;以及该打印机驱动器通过分别将位图对象的调用函数的数目、表面对象的调 用函数的数目、线条对象的调用函数的数目、和文本对象的调用函数的数目 与所述参考值进行比较,来选择最佳打印机语言。
8. 根据权利要求4的设备,其中所述参考值对于每种类型对象而不同。
9. 一种用于选择打印机语言的方法,包括将要打印的打印数据划分为具有关联调用函数的对象; 使用图形设备接口 (GDI)来调用关联调用函数,以输出所述对象; 收集所述对象的调用函数,并对每个关联调用函数被调用的次数进行计数,以得到对应计数结果;基于该对应计数结果而从多种打印机语言中选择最佳打印机语言;以及 从GDI接收打印数据的对象,并将所接收的对象转换为所选择的最佳打印才几i吾言。
10. 根据权利要求9的方法,其中,当完成了对打印数据的第一页面的 调用时,停止收集所述关联调用函数,并且基于对第一页面的计数结果选择 最佳打印机语言。
11. 根据权利要求9的方法,其中使用所述GDI的GDI分带函数来实 行对被调用的关联调用函数的收集。
12. 根据权利要求9的方法,其中,如果至少一个已调用函数的对应计 数结果大于设定的参考值,则选择最佳打印机语言的步骤包括选择用于将打 印数据转换为位图数据的打印机语言作为最佳打印机语言。
13. 根据权利要求9的方法,其中,如果已调用函数的对应计数结果小 于设定的参考值,则选择最佳打印机语言的步骤包括选择用于为构成打印数 据的相应对象生成不同命令的打印机语言作为最佳打印机语言。
14. 根据权利要求13的方法,其中,所选择最佳打印机语言是打印机 控制语言(PCL)和PostScript (PS)中的任一个。
15. 根据权利要求12的方法,其中,所述对象中的每一个是位图对象、 线条对象、表面对象、和文本对象中的至少一个;以及选择最佳打印机语言的步骤包括通过分别将位图对象的位图尺寸、表面 对象的调用函数的数目、线条对象的调用函数的数目、和文本对象的调用函 数的数目与所述参考值进行比较,来选择最佳打印机语言。
16. 根据权利要求12的方法,其中所述参考值对于所述每种类型的对 象而不同。
17. —种打印数据输出设备,用于将被划分为一个或多个不同对象类型 的打印数据转换为所选择的打印机语言,该设备包括打印机驱动器,用于确定所述不同对象类型的每一个的对应计数,基于 对应的计数结果选择打印机语言,并使用所选择的打印机语言来转换打印数 据。
18. 根据权利要求17的打印数据输出设备,其中当被转换为位图数据 的打印数据超过参考位尺寸值时,所选择的打印机语言是用于将打印数据转 换为位图数据而选择的打印机语言。,
19. 根据权利要求17的打印数据输出设备,其中该打印数据具有用于 打印完整页面的打印数据的尺寸。
20. 根据权利要求17的打印数据输出设备,其中当至少一种对象类型 的对应计数超过参考值时,所选择的打印机语言是基于超过该参考值的对应 计数而选择的一种打印机语言。
21. 根据权利要求20的打印数据输出设备,其中所选择的打印机语言 是基于超过该参考值最多的对应计数而选择的一种打印机语言。
22. 根据权利要求17的打印数据输出设备,其中不同对象类型包括位 图对象、线条对象、表面对象、和文本对象中的至少一个。
23. —种打印数据输出设备,用于将被划分为具有至少一个关联调用函 数的一个或多个对象的打印数据转换为所选择的打印机语言,该设备包括打印机驱动器,用于记录每个关联调用函数的对应总数的对应计数结 果,基于对应的计数结果选择打印机语言,并将所述打印数据转换为所选择 的打印机语言。
24. 根据权利要求23的打印数据输出设备,还包括调用单元,用于传 送每个对象到打印机驱动器,并调用和传送每个关联调用函数到打印机驱动 器。
25. 根据权利要求24的打印数据输出设备,其中该打印机驱动器收集 打印所述打印数据所需要的每个新的关联调用函数。
26. 根据权利要求25的打印数据输出设备,其中该调用单元是图形设 备接口 。
27. 根据权利要求23的打印数据输出设备,其中所选择的语言是打印 机控制语言或者PostScript语言。
28. —种选择打印机语言的方法,用于转换被划分为具有至少一个关联 调用函数的一个或多个对象的打印数据,该方法包括记录每个关联调用函数的对应总数的对应计数结果; 基于该对应计数结果选择打印机语言;以及 将所述打印数据转换为所选择的打印机语言。
29. 根据权利要求28的方法,还包括 向打印机驱动器传送每个对象;以及调用并传送每个关联调用函数到打印机驱动器。
30. 根据权利要求29的方法,其中由图形设备接口来实行每个对象的传送、和每个关联调用函数的调用和 传送;以及由打印机驱动器来实行所述记录。
31. 根据权利要求30的方法,还包括 收集每个关联的新的调用函数。
32. 根据权利要求31的方法,其中所述收集步骤是由该打印机驱动器 实行的。
全文摘要
提供了一种选择打印机语言的打印数据输出设备和选择打印机语言的方法。根据该打印数据输出设备,图形设备接口(GDI)单元可用于将打印数据划分为对象,并调用所述对象的关联调用函数。打印机驱动器可用于收集所述对象的关联调用函数,并对所收集的所述对象的已调用关联调用函数进行计数以得到对应计数结果,基于该计数结果而从多种打印机语言中选择最佳打印机语言,从GDI单元接收打印数据的对象,并将所述对象转换为所选择的最佳打印机语言。
文档编号G06F3/12GK101131628SQ20071011182
公开日2008年2月27日 申请日期2007年6月15日 优先权日2006年8月23日
发明者金奈映, 金小慧 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1