信息处理装置和用于生成打印数据的方法与流程

文档序号:21406977发布日期:2020-07-07 14:41阅读:228来源:国知局
信息处理装置和用于生成打印数据的方法与流程

本发明涉及生成打印数据的信息处理装置。



背景技术:

为打印机提供用于执行打印的打印数据的信息处理装置是已知的。例如,在日本专利申请特许公开no.2005-182694中讨论的信息处理装置使用打印机驱动器和打印处理器将文档数据转换成打印数据(页面描述语言(pdl)数据),该打印处理器是用于打印机驱动器的预处理模块。在日本专利申请特许公开no.2005-182694中讨论的信息处理装置中,打印处理器基于用户进行的打印设置和文档数据来生成渲染指令,并且打印机驱动器将渲染指令转换成可以由打印机打印的打印数据。例如,当将2合1打印设置为打印设置时,打印处理器与图形设备接口(gdi)合作执行用于在一页上布局两个逻辑页面并将逻辑页面转换成一条渲染数据的布局处理。打印处理器可以与gdi合作渲染经放大或缩小的渲染数据,以使渲染数据适合片材尺寸。

在使用上面描述的打印处理器和gdi生成涉及对逻辑页面的缩小处理的渲染数据的情况下,出现以下问题:如果由于缩小处理导致图形对象的宽度变得小于预定尺寸,那么图形对象不被渲染。

具体而言,例如,当设置n合1打印以将多个逻辑页面分配给一页时,可以在将渲染数据缩小到片材的尺寸时或在设置装订打印时对逻辑页面执行缩小处理。如果从通过打印处理器和gdi相互合作地操作而生成的渲染数据中丢失了图形对象,那么由后续阶段的打印机驱动器生成不包括该图形对象的pdl数据。结果,出现生成与用户想要的打印产品不同的打印产品的问题。



技术实现要素:

根据本发明的一方面,信息处理装置包括:至少一个存储器,用于存储指示;以及至少一个处理器,被配置为在执行所述指示时,作为打印处理器和打印机驱动器来操作,其中,打印处理器至少根据基于与渲染数据对应的打印设置进行了包括缩小处理的打印设置的确定而执行不包括缩小处理的布局处理,所述渲染数据是从应用输出的并用于打印;以及向打印机驱动器通知关于不包括缩小处理的布局处理的信息,其中,打印机驱动器在接收到关于不包括缩小处理的布局处理的信息后,基于所通知的信息中包括的参数,对经过由打印处理器进行的不包括缩小处理的布局处理的渲染数据进行缩放;以及基于由缩放单元缩放的渲染数据来生成要发送到打印装置的打印数据,并且其中,在不将经过不包括缩小处理的布局处理的渲染数据中包括的图形对象的宽度缩小到小于或等于预定值的宽度的情况下,对渲染数据进行缩放。

通过参考附图对示例性实施例的以下描述,本发明的其它特征将变得清楚。

附图说明

图1是例示了打印系统的概要的图。

图2是例示了信息处理装置的硬件配置示例的框图。

图3是例示了信息处理装置的软件配置示例的框图。

图4是例示了要在操作单元上显示的打印设置画面的示例的图。

图5是例示了打印处理过程的示意图。

图6是例示了图形对象的丢失的示意图。

图7是例示了打印处理器的布局处理的示例的流程图。

图8是例示了打印机驱动器的打印数据生成处理的示例的流程图。

具体实施方式

下面将参考附图描述用于执行本发明的示例性实施例。以下示例性实施例不意在限制所附权利要求涵盖的本发明的范围。另外,并不是示例性实施例中描述的特征的所有组合对于解决本发明的手段都是必不可少的。

首先,将参考图1描述根据本发明的第一示例性实施例的打印系统的配置示例。根据本示例性实施例的打印系统包括信息处理装置101和打印装置102。

信息处理装置101经由诸如通用串行总线(usb)之类的通信接口连接到打印装置102以相互通信。

虽然本示例性实施例例示了信息处理装置101和打印装置102经由usb缆线100连接的配置,但是根据本示例性实施例的配置不限于这个示例。信息处理装置101和打印装置102可以经由网络缆线连接,或者可以经由接入点(未显示)通过基于电气和电子工程师协会(ieee)802.11标准(以下称为802.11标准)的无线通信连接,以便相互通信。可替代地,信息处理装置101和打印装置102可以通过诸如wi-fi之类的自组织通信连接以相互通信。

信息处理装置101包括用于生成要发送到打印装置102的打印数据(页面描述语言(pdl)数据)的功能。由信息处理装置101生成的打印数据被发送到打印装置102。在本示例性实施例中,安装有打印机驱动器的个人计算机(pc)、平板终端等被用作信息处理装置101的示例。然而,信息处理装置101不限于这些示例。

打印装置102包括用于从诸如信息处理装置101之类的主机终端接收打印数据并基于打印数据在诸如纸之类的片材上打印图像的打印功能。本示例性实施例例示了包括打印功能的单功能外围设备(sfp)被用作打印装置102的示例的情况。但是,打印装置102不限于这个示例。打印装置102可以是除了打印功能之外还包括扫描功能、复印功能等的多功能外围设备(mfp)。

<信息处理装置>

将参考图2描述信息处理装置101的硬件配置示例。控制单元110中包括的中央处理单元(cpu)111读出存储在只读存储器(rom)112或存储装置114中的控制程序,并基于控制程序控制信息处理装置101。

控制单元110包括连接到总线的cpu111、rom112、随机存取存储器(ram)113、存储装置114和操作单元接口(i/f)115。控制单元110还包括用于与诸如打印装置102之类的外围装置进行通信的通信i/f123。

cpu111是控制控制单元110的总体操作的中央处理单元(处理器)。ram113是易失性存储器,并且被用作用于加载存储在rom112和存储装置114中的各种控制程序的工作区域或临时存储区域。

rom112是非易失性存储器,并且存储用于信息处理装置101的引导程序等。存储装置114是具有比ram113的容量大的容量的非易失性闪存。存储装置114存储用于信息处理装置101的控制程序。以下描述的操作系统(os)300、应用200、打印机驱动器500和打印处理器400也存储在存储装置114中。

cpu111在信息处理装置101启动时执行存储在rom112中的引导程序。这种引导程序被用于读出存储在存储装置114中的用于os300的程序,并将该程序加载到ram113中。在执行引导程序之后,cpu111随后执行加载到ram113中的用于os300的程序,从而控制信息处理装置101。另外,cpu111将要用于基于ram中的控制程序的操作的数据存储在ram113中,并且对该数据进行读写。

虽然信息处理装置101具有其中单个cpu111执行下面将描述的流程图中所示的每个处理的配置,但是信息处理装置101可以具有另一种配置。例如,信息处理装置101可以具有其中多个cpu或微处理器(mpu)相互合作地操作以执行下面将描述的流程图中所示的每个处理的配置。在本示例性实施例中,一些处理与每个i/f和每个单元合作来实现。

操作单元i/f115将控制单元110和操作单元116相互连接。操作单元116包括显示各种画面的显示设备和接收用户操作的输入设备。输入设备的示例包括鼠标和键盘。在使用平板终端的情况下,触摸面板显示器既充当显示设备又充当输入设备。包括显示设备和输入设备的操作单元116用作显示信息的显示单元和接收来自用户的指令的接收单元。由os300、应用200、打印机驱动器500等提供的各种画面被显示在操作单元116上。用户在操作单元116上使用诸如手指之类的物体执行触摸操作,以将期望的操作指令输入到信息处理装置101。操作单元116还设有硬件键。用户还可以通过按下硬件键来将操作指令输入到信息处理装置101。

通信i/f123是将诸如打印装置102之类的外围装置连接到信息处理装置101以相互通信的接口。如以上参考图1所述,用于与打印装置102通信的通信i/f123可以是经由usb、局域网(lan)等的有线连接,或者可以是无线连接。

<信息处理装置101的软件配置>

接下来,将参考图3描述信息处理装置101的软件配置示例。图3是例示了由cpu111读出存储在rom112和存储装置114中的控制程序而实现的软件功能的框图。

os300是用于控制信息处理装置101的总体操作的基本软件。os300由例如微软公司提供的组成。os300包括支持从诸如应用200之类的应用到显示器和打印机的数据输出的框架301。框架301包括图形设备接口(gdi)和假脱机程序(spooler)。

应用200是安装在信息处理装置101中的应用程序。为了便于解释,在本示例性实施例中,在信息处理装置101中安装有用于创建文档的文字处理器应用。文字处理器应用包括用于基于用户输入来创建文档数据的功能。另外,应用200包括用于与os300的框架301合作生成用于打印的渲染数据的功能。当os300检测到从应用菜单等执行了打印指令时,显示打印对话框(未示出)。用户可以从打印对话框中选择要向其输出数据的打印机,并且可以调用打印机驱动器500的详细打印设置画面来改变打印设置。

信息处理装置101中还安装有用于生成要发送到打印装置102的打印数据的打印处理器400和打印机驱动器500。打印机驱动器500包括用户界面(ui)显示控制单元510和图形渲染(gr)处理单元520。

打印处理器400和打印机驱动器500由用户使用安装包(未示出)来安装。在检测到要将打印机驱动器500安装到信息处理装置101中的用户指令时,安装包中包括的安装程序将打印机驱动器500安装到信息处理装置101中。在安装完成后,要与打印机驱动器500相关联的打印处理器被替换为打印处理器400。

ui显示控制单元510提供打印设置画面。图4例示了由ui显示控制单元510在操作单元116上显示的打印设置画面的示例。用户可以使用打印设置画面来针对份数、打印的朝向、用于装订打印产品的装订处理等进入设置。

要在打印设置画面上显示的显示项401是用于设置n合1打印以在一张片材上聚合多个页面的显示项。本示例性实施例例示了设置用于通过缩小页面的尺寸来将两个页面分配给单张片材的一面的2合1打印的情况。用户可以使用显示项401来进行诸如1合1打印、2合1打印、4合1打印或16合1打印之类的n合1打印的设置。用户还可以使用显示项402来进行对于骑马订本(saddlestitchbookbinding)或对折订本(saddlestitchbookbinding)的设置。在骑马订本或对折订本打印的情况下,与两个页面对应的渲染数据被分配到单张片材上。

显示项403是用于设置输出片材尺寸的显示项。显示项404用于设置要从应用输入的数据的尺寸。取决于显示项403和404的组合,可能存在为了打印而缩小与一个页面对应的渲染数据的情况。例如,在显示项404中设置了“a3”尺寸并且在显示项403中设置了“a4”尺寸的情况下,渲染数据缩小70%,使得a3尺寸的数据缩小为a4尺寸的数据。在使用这些打印设置画面改变了设置之后检测到按下ok按钮后,ui显示控制单元510更新devmode,该devmode是打印机驱动器500、打印处理器400和gdi要参考的打印设置。术语“devmode”是指与由应用与os合作生成的渲染数据对应(与之相关联)的打印设置。

接下来,将参考图5描述打印过程。将参考图5描述使用打印处理器400的打印过程。

gdi310和假脱机程序320是os300的框架301中包括的部件。gdi310向应用层提供包括打印的渲染界面。假脱机程序320执行用于控制下面将描述的假脱机文件(增强型元文件(emf))600的存储并发送由打印机驱动器500生成的打印数据(pdl数据)的处理。术语“emf”是指用于让os300将中间数据(抽象化的渲染数据)发送到打印机驱动器500的图像文件格式。

应用200根据需要调用打印机驱动器500的ui显示控制单元510,显示图4所示的打印设置画面,并接收改变打印设置的用户操作。

此后,在检测到从公共打印对话框等执行了开始打印的用户操作后,应用200调用gdi310的应用程序接口(api)。如果应用程序接口(api)被成功调用,那么应用200将打印设置和渲染数据传递到gdi310。

gdi310按假脱机文件(emf)600的格式存储从应用200接收的打印设置和渲染数据。在通过应用200的进程完成emf假脱机文件600的生成之后,应用200的进程与os300合作向打印处理器400发出打印请求。

同时,被加载到假脱机程序服务中的打印处理器400在接收到打印请求时从假脱机程序320的emf假脱机文件600中加载用于每个页面的打印设置和渲染数据。所加载的用于每个页面的数据经由gdi310被传递到打印机驱动器500并被转换成打印数据。要由打印处理器400加载的用于每个页面的数据在下文中被称为逻辑页面。

在将页面数据输出到打印机驱动器500的情况下,根据本示例性实施例的打印处理器400可以与gdi310合作执行用于将多个逻辑页面分配给一个页面并放大或缩小每个页面的布局处理。即,打印处理器400包括用于使gdi310执行布局控制处理的功能。另外,打印处理器400可以执行用于旋转逻辑页面数据的布局处理。这些处理可以通过对每个逻辑页面执行坐标变换来实现。

gr处理单元520将如上所述经由gdi310接收的渲染数据(渲染指令)转换成可以由该数据被输出到的打印装置102打印的格式的打印数据(pdl数据)。另外,gr处理单元520执行例如作业控制命令添加处理,并生成包括打印数据的打印作业,并将打印作业存储在假脱机程序320中。存储在假脱机程序320中的打印作业经由端口监视器被发送到打印装置102。

<使用打印处理器的缩小处理的问题>

接下来,将参考图6描述使用打印处理器400的布局处理的问题。图6是例示了当使用打印处理器400实现用于n合1打印的布局和缩小处理时出现的问题的示意图。

本示例性实施例例示了其中打印处理器400使用坐标变换实现2合1打印作为n合1打印的示例。

逻辑页面601例示了第一逻辑页面。逻辑页面602例示了第二逻辑页面。图6例示了其中在逻辑页面601和602中的每一个中布置了各自具有较小宽度(例如,1.5像素)的多个图形对象603的示例。

渲染数据610是当gdi310基于来自打印处理器400的坐标变换指令执行坐标变换并且在2合1打印中逻辑页面601和逻辑页面602被聚合到一个物理页面中时获得的渲染数据的示例。这种用于n合1打印的布局使得一个逻辑页面能够缩小约71%。结果,形成各自具有小宽度的图形对象603的一些宽度变得小于一个像素。在这种情况下,在用于通过使打印处理器400和gdi310相互合作地操作而将数据渲染到打印机设备上下文中的配置中,具有小于或等于预定宽度(例如,小于一个像素的宽度)的短边的图形对象的渲染被省略。结果,如渲染数据610所指示的,关于图形对象的渲染信息丢失。

因此,在使用打印处理器400和gdi310通过缩小每个逻辑页面来生成渲染数据的情况下,作为缩小的结果,图形对象的宽度可能变得小于预定尺寸。在这种情况下,出现这样的问题:由于gdi310的渲染处理而丢失了关于具有小于或等于预定尺寸的尺寸的对象的渲染信息。

如果图形对象从通过打印处理器400和gdi310相互合作的操作而生成的渲染数据中丢失,那么在后续阶段的打印机驱动器500中生成不包括该图形对象的pdl数据。结果,出现了生成与用户期望的打印产品不同的打印产品的问题。

鉴于上述问题,根据本示例性实施例,打印处理器400执行不包括缩小处理的布局处理,并且打印机驱动器500通过考虑每个对象的宽度来对布局的渲染数据执行缩小处理,从而执行控制以防止对象丢失。下面将描述具体机制。

图7是例示了根据本示例性实施例的打印处理器400的处理的流程图。将参考图7描述根据本示例性实施例的打印处理器400的处理。

图7的流程图中所示的每个操作(处理过程)通过cpu111将存储在存储装置114中的程序读出到ram113中并执行该程序来实现。在本示例性实施例中,流程图中所示的每个处理通过打印处理器400和gdi310相互合作的操作来实现。下面的描述分别以软件部件、应用等为主体进行,以澄清用于实现每个处理的程序。在从应用200输入打印指令并且emf假脱机文件600被生成之后,当在应用200的进程中向打印处理器400发出打印请求时,图8中所示的流程图开始。

在步骤s701中,通过os300将打印处理器400加载到假脱机程序服务中,并执行初始化处理(初始设置处理)。在初始化处理完成之后,处理前进到步骤s702。

在步骤s702中,打印处理器400调用gdi310的api并开始渲染数据转换作业。然后,在步骤s703中,打印处理器400调用gdi310的api并获取由应用200指定的打印设置。

在步骤s704中,打印处理器400确定是否需要物理页面开始处理。将详细描述这个处理。例如,在2合1打印中的第二逻辑页面上,物理页面已经在第一逻辑页面上的处理中开始,因此不需要开始新的物理页面。同时,在2合1打印的第一或第三逻辑页面上,需要声明物理页面的开始。通过考虑在步骤s703中获取的打印设置和已处理(转换)的逻辑页面的页面编号(已处理的页面数),打印处理器400确定是否需要物理页面开始处理。在确定需要物理页面开始处理的情况下(步骤s704中为“是”),处理前进到步骤s705。

在步骤s705中,打印处理器400经由gdi310的api向gr处理单元520通知物理页面的开始。

在步骤s706中,打印处理器400基于在步骤s703中获取的打印设置,确定打印设置是否对应于包括缩小处理的布局设置。在确定打印设置对应于包括缩小处理的布局设置的情况下(步骤s706中为“是”),处理前进到步骤s707。在确定打印设置不对应于包括缩小处理的布局设置的情况下(步骤s706中为“否”),处理前进到步骤s708。

例如,当n合1打印被设置时,打印设置对应于包括缩小处理的布局设置。而且,当进行对于骑马订本或对折订本的设置时,打印设置对应于包括缩小处理的布局设置。另外,在根据如图4中所示的针对文档尺寸的显示项403中的设置和针对输出页面尺寸的显示项404中的设置的组合来缩小与一个页面对应的渲染数据的情况下,打印设置对应于包括缩小处理的布局设置。此外,在通过根据n合1打印、显示项403、显示项404等的组合缩小逻辑页面来布置逻辑页面的情况下,打印设置对应于包括缩小处理的布局设置。

在步骤s707中,打印处理器400设置物理页面尺寸,其中可以在后续的布局处理中不缩小逻辑页面的情况下布局逻辑页面。例如,当在a4纸上设置2合1打印作为n合1打印时,物理页面尺寸从“a4”尺寸变为“a3”尺寸。当在a4纸上设置4合1打印作为n合1打印时,物理页面尺寸从“a4”尺寸变为“a2”尺寸。

在步骤s708中,打印处理器400基于在步骤s703中获取的打印设置来确定是否需要诸如旋转、移动或放大/缩小之类的布局改变。在确定需要布局改变的情况下(步骤s708中为“是”),处理前进到步骤s709。在确定不需要布局改变的情况下(步骤s708中为“否”),处理前进到步骤s712。

在步骤s709中,打印处理器400基于在步骤s703中获取的打印设置来导出不包括任何放大/缩小分量并且包括平行移动分量和旋转分量的坐标变换参数。另外,打印处理器400基于坐标变换参数来导出指示放大/缩小比率(指示放大比率或缩小比率的缩放比率)并用于放大或缩小经过坐标变换的渲染数据的参数。

通过考虑诸如放大/缩小或n合1打印之类的布局设置、目标逻辑页面的尺寸、要输出的物理页面的尺寸、片材馈送方向(sef、lef)等,打印处理器400计算上面所述的六个坐标变换参数和放大/缩小比率。

在步骤s710中,打印处理器400基于在步骤s709中导出的不包括任何放大/缩小分量并且包括平行移动分量和旋转分量的坐标变换参数来向gdi310发出坐标变换指令。gdi310基于坐标变换指令来对一个逻辑页面执行旋转(rx,ry)和平行移动(tx,ty)的坐标变换。具体而言,打印处理器400调用setworldtransform函数,该函数是gdi310的api。用于将坐标(x,y)转换成坐标(x',y')的坐标转换参数被指定为由gdi310提供的setworldtransform函数的自变量。具体而言,打印处理器400将下面的表达式(1)和(2)中包括的六个坐标变换参数em11、em12、em21、em22、edx和edy设置为自变量。

x'=x*em11+y*em21+edx…(1)

y'=x*em21+y*em22+edy…(2)

表达式(1)和(2)是所谓的仿射变换表达式,用于对图形对象执行包括平行移动的线性映射(放大、缩小、移动、旋转、歪斜等)。

接下来,在步骤s711中,打印处理器400调用extescape函数(该函数是gdi310的api),并且向gr处理单元520通知在步骤s709中导出的放大/缩小比率。

现在将简要描述extescape函数。extescape函数是gdi310的应用编程接口(api),其使得数据能够从应用等直接传送到打印机驱动器500。逸出id值(escapeidvalue)、输入数据结构和输出数据结构布置在调用者和接收者之间。诸如应用之类的调用者调用extescape函数,并且作为打印机驱动器500的gr处理单元520的接收者接收extescape函数。用于调用extescape函数的调用者(诸如应用)指定指示用于存储输入数据和输出数据的区域的信息作为自变量以及预定的逸出id值,以调用extescape函数。

当其中指定了预定的逸出id值的extescape函数被调用时,经由gdi310向打印机驱动器500的gr处理单元520发出通知。打印机驱动器500的gr处理单元520读取输入数据的内容,从而直接接收来自调用者的数据,并且存储输出数据,从而将数据返回给调用者。

再次参考图7,在步骤s711中,打印处理器400调用extescape函数,在该extescape函数中预先布置在打印处理器400和gr处理单元520之间的逸出id值和放大/缩小比率被指定为自变量。在使用extescape函数接收到通知后,gr处理单元520可以识别将实行哪种缩放处理。虽然在本示例性实施例中将图像缩放比率用作放大/缩小比率,但是放大/缩小比率不限于这个示例。例如,可以使用仅包括放大/缩小分量的坐标变换参数。可以使用任何数据格式,只要可以从数据中提取放大/缩小分量即可。

通过步骤s711中的处理,可以将关于放大/缩小比率的通知发送到打印机驱动器500的gr处理单元520。

接下来,在步骤s712中,打印处理器400向gdi310发送渲染对应的逻辑页面的指令。gr处理单元520经由gdi310接收渲染指令。在这个处理中,要发送到gr处理单元520的每个渲染指令是包括已基于步骤s710中发出的指令由gdi310对其执行了坐标变换的对象的渲染指令(渲染数据)。gr处理单元520执行用于将接收到的渲染指令转换成可以由打印装置102处理的打印数据(pdl数据)的处理。在对一个逻辑页面的渲染指令完成之后,处理前进到步骤s713。

在步骤s713中,打印处理器400确定是否完成物理页面渲染。例如,在2合1打印的情况下,为了处理第二或第四个逻辑页面,需要完成对应的物理页面的渲染。因而,打印处理器400确定需要完成物理页面的渲染。打印处理器400通过考虑在步骤s703中获取的打印设置和已处理(转换)的逻辑页面的页面编号来确定是否需要完成物理页面的渲染。在打印处理器400确定需要完成物理页面渲染的情况下(步骤s713中为“是”),处理前进到步骤s714。在打印处理器400确定不需要完成物理页面渲染的情况下(即,需要对同一物理页面执行逻辑页面渲染处理)(步骤s713中为“否”),处理前进到步骤s715。

在步骤s714中,打印处理器400经由gdi310的api向gr处理单元520通知物理页面渲染处理的结束。在通知完成后,处理前进到步骤s715。

在步骤s715中,打印处理器400确定对emf假脱机文件600内的所有逻辑页面的渲染处理是否完成。在对所有逻辑页面的渲染处理都完成的情况下(步骤s715中为“是”),处理前进到步骤s716。在对所有逻辑页面的渲染处理未完成(存在未处理的逻辑页面)的情况下(步骤s715中为“否”),处理返回到步骤s703以对后续的逻辑页面执行处理。

在步骤s716中,打印处理器400经由gdi310的api向gr处理单元520通知作业的终止。在上面所述的处理完成之后,在步骤s717中,打印处理器400执行终止处理以终止一系列渲染数据生成处理。

接下来,将参考图8描述将由打印机驱动器500执行的物理页面缩放处理和打印数据(pdl数据)生成处理。

图8是例示了根据本示例性实施例的将由gr处理单元520执行的处理的示例的流程图。将参考图8描述根据本示例性实施例的处理。图8的流程图中所示的每个操作(处理过程)通过cpu111将存储在存储装置114中的程序读出到ram113中并执行该程序来实现。流程图中所示的每个处理通过gr处理单元520和gdi310相互合作的操作来实现。下面的描述分别以软件部件、应用等为主体进行,以澄清用于实现每个处理的程序。当从应用200发出打印指令时,图8所示的流程图开始。

在步骤s801中,gr处理单元520执行适当的初始化处理,包括用于开始作业和接收打印设置的处理。

在步骤s802中,gr处理单元520确定是否从打印处理器400接收到关于图像放大/缩小比率的通知。在gr处理单元520接收到其中预定的逸出id值基于extescape函数被指定的数据的情况下,gr处理单元520确定接收到关于放大/缩小比率的通知(步骤s802中为“是”),然后处理前进到步骤s803。在未接收到其中预定的逸出id值基于extescape函数被指定的数据的情况下,gr处理单元520确定未接收到关于放大/缩小比率的通知(步骤s803中为“否”),然后处理前进到步骤s804。

在步骤s803中,gr处理单元520将接收到的放大/缩小比率与预定的逸出id值临时存储在ram113中。

在步骤s804中,gr处理单元520经由gdi310接收与一个物理页面对应的一系列渲染数据。具体而言,在从物理页面开始指令的接收到物理页面结束指令的接收的时段期间,gr处理单元520经由gdi310接收渲染数据,并临时存储接收到的渲染数据。

在步骤s805中,gr处理单元520确定放大/缩小比率是否存储在ram113中。在放大/缩小比率存储在ram113中的情况下(步骤s805中为“是”),处理前进到步骤s806。在放大/缩小比率没有存储在ram113中的情况下(步骤s805中为“否”),处理前进到步骤s808。

在步骤s806中,gr处理单元520基于在步骤s803中临时存储的放大/缩小比率来执行渲染数据放大或缩小处理。如果放大/缩小比率是指示图像缩小的参数,那么对图像执行缩小处理。同时,如果放大/缩小比率是指示图像放大的参数,那么对图像执行放大处理。

gr处理单元520分析物理页面内的每个渲染指令,并且对每个对象执行缩小处理。在gr处理单元520对图形对象执行缩小处理并且图形对象具有小于或等于预定宽度(例如,小于或等于一个像素的宽度)的短边的情况下,gr处理单元520执行校正控制处理,以用预定值(例如,一个像素)替换图形对象的宽度。因而,缩小处理防止图形对象的尺寸缩小到小于或等于预定值的像素。因此,可以防止图形对象由于渲染处理而丢失。

在步骤s807中,gr处理单元520与放大/缩小处理相关联地重新设置物理页面尺寸。例如,在a4纸上设置2合1打印作为n合1打印的情况下,通过由打印处理器400执行的步骤s707的处理,将物理页面尺寸改为“a3”尺寸。在这种情况下,物理页面尺寸基于缩小比率被缩小,并被重新设置为“a4”尺寸。在打印机驱动器500执行放大处理的情况下,物理页面尺寸不被打印处理器400改变,这消除了对于尺寸改变处理的需要。在执行尺寸改变处理之后,根据需要,gr处理单元520从ram113中删除临时存储的放大/缩小比率,然后处理前进到步骤s808。

在步骤s808中,gr处理单元520将接收到的渲染数据或者在接收之后经过缩放处理(诸如放大或缩小处理)的渲染数据转换成可以由打印装置102解释的pdl数据。例如,gr处理单元520可以将渲染数据转换成诸如打印机命令语言(pcl)、精细打印命令流(rpcs)或超快速渲染(ufr)之类的格式的pdl数据。gr处理单元520还可以将渲染数据转换成诸如后脚本(ps)高级渲染工具(art)或夏普打印机描述语言2(spdl2)之类的格式的数据。在转换完成后,处理前进到步骤s809。

在步骤s809中,gr处理单元520确定所有页面的转换是否完成。在经由gdi310接收到作业终止通知的情况下,gr处理单元520确定所有页面的转换完成(步骤s809中为“是”)并终止一系列处理。同时,在没有经由gdi310接收到作业终止通知的情况下(步骤s809中为“否”),处理返回到步骤s802以等待接收另一个渲染数据。

在一系列转换处理完成后,gr处理单元520执行例如作业控制命令添加处理,并生成包括打印数据的打印作业。所生成的打印作业存储在假脱机程序320中。存储在假脱机程序320中的打印作业经由端口监视器被发送到打印装置102。

如上所述,在图7中所示的处理中,打印处理器400执行不包括缩小处理的布局处理。另外,在图8中所示的处理中,打印机驱动器500通过考虑每个对象的宽度来执行缩小处理,从而可以防止图形对象丢失。

上述示例性实施例例示了其中放大处理和缩小处理都由打印机驱动器500执行的配置。但是,本发明不限于这种配置。例如,打印处理器400可以执行放大处理,并且打印机驱动器500的gr处理单元520可以仅执行缩小处理。

上面描述的示例性实施例和修改示例例示了其中考虑到操作成本和处理的简化而由打印处理器400执行诸如旋转或移动之类的布局处理的配置。但是,本发明不限于这种配置。例如,在执行包括缩小处理的打印的情况下,打印处理器400可以经由gdi310将页面数据传递给gr处理单元520而不执行布局处理。在这种情况下,后续阶段的gr处理单元520可以被配置为经由gdi310获取多条页面数据,并且针对每个页面执行诸如旋转、移动或缩小之类的布局处理。在这个修改示例中,在执行没有缩小处理的打印的情况下,由打印处理器400执行布局处理。

其它实施例

本发明的(一个或多个)实施例还可以通过读出并执行记录在存储介质(也可以更完整地称为“非暂时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或多个程序)以执行一个或多个上述实施例的功能和/或包括用于执行一个或多个上述实施例的功能的一个或多个电路(例如,专用集成电路(asic))的系统或装置的计算机来实现,以及通过由系统或装置的计算机例如通过从存储介质读出并执行计算机可执行指令以执行一个或多个上述实施例的功能和/或控制一个或多个电路执行一个或多个上述实施例的功能而执行的方法来实现。计算机可以包括一个或多个处理器(例如,中央处理单元(cpu)、微处理单元(mpu)),并且可以包括单独的计算机或单独的处理器的网络以读出并执行计算机可执行指令。可以例如从网络或存储介质将计算机可执行指令提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储装置、光盘(诸如紧凑盘(cd)、数字通用光盘(dvd)或蓝光光盘(bd)tm))、闪存设备、存储卡等中的一个或多个。

其它实施例

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。

虽然已经参考示例性实施例描述了本发明,但是应当理解,本发明不局限于所公开的示例性实施例。所附权利要求书的范围应被赋予最宽泛的解释,以便涵盖所有这种修改以及等同的结构和功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1