移动计算装置用户打印文档的系统和方法

文档序号:6369238阅读:178来源:国知局
专利名称:移动计算装置用户打印文档的系统和方法
技术领域
本发明一般涉及计算机打印,尤其涉及使移动计算装置用户能方便地打印文档的一种方法。
(2)背景技术随着互联网的成熟,诸如电子邮件、日历、文件存储、鉴别等越来越多的功能已经转移到了互联网的万维网上。随着接入高速互联网的可用性在任何地方的发展,用户把他们的优先选择转移到基于互联网的移动方案,特别是与无线互联网的连接。因此,现在许多移动计算装置配备了无线互联网接入能力,而且在较宽的波形因数(form factors)范围内的新互联网装置激增,诸如上网小区电话(即,有能力无线地连接互联网的小区电话)等。现在有成百万在使用的人们从他们的小区电话和其它手持装置接入他们的数据、文档以及电子邮件。
即使移动装置向它们的用户提供自由接入互联网或其它网络而无需束缚在他们的台式计算机上,但是诸如PDA或上网小区电话之类的大多数小型移动装置所具有的显示器屏幕很小,多少有几分不方便,通常难于在这种小型屏幕上阅读正规的文档(例如,电子制表)。为了这个原因,小型移动装置的用户可能要求把文档打印出来而阅读打印出来的文档。毕竟,纸是可携带的、阅读起来方便的、以及便于共享的大型观看媒体。此外,它不需要电源。在互联网上可得到大量内容以及小型装置的物理限制意味着用户需要在他们可以访问内容的任何地方不时地打印内容。
然而,当前当移动装置用户离开他们的台式计算机时,他们没有方便的方法来打印文档。传统上,即使是膝上计算机的用户,当他们离开他们的办公室时,打印也有困难。例如,当用户带她的膝上计算机到她公司的另一建筑物去参加会议时,即使她能够登录到共同的企业内部互联网上并检索她所需要的会议文档,但是她会发现她不能够方便地打印这个文档。为了在该建筑物的打印机上打印这个文档,她必须首先发现该建筑物中有那些打印机,选择离她最近的打印机,并把该打印机的驱动程序下载到她的膝上计算机中。然后,她对该特定的文档格式运行合适的应用程序(例如,Microsoft Word,Adobe AcrobatReader等),使文档变成打印机-可接受的格式,并使用打印机驱动程序来打印该文档。当用户转到一个新的位置和想在不同的打印机上打印时,她必须重复打印机安装过程。
与用膝上计算机打印相比较,小型互联网装置用户打印文档更困难。当前存在用于这些“细小-用户”装置的硬件和操作系统平台的多种多样的装置。这种多样性使开发用于每个硬件/操作系统平台的打印驱动程序的健全装置极为困难。此外,一般打印绘制需要较强的CPU能力和存储器消耗。许多小型移动装置很简单地,不具备存储用于打印操作的应用程序或打印机驱动程序或处理能力所需要的存储器空间。
因此,所需要的是提供一种有效的解决方案,使各种类型移动装置的用户在需要文档时可在任何时候任何地方打印文档,即使该装置没有直接连接到打印机,或甚至该装置不具备处理打印任务的容量或软件。
(3)发明内容由于上述情况,本发明提供一种网络打印服务,这种服务使诸如膝上计算机、个人数字助理(PDA)装置、上网小区电话等之类的移动计算装置能够容易地打印文档,即使这些装置没有直接连接到打印机或不支持应用程序和打印驱动程序。当移动计算装置的用户想要打印文档时,使用移动装置来接入诸如互联网之类的网络,打印服务就驻留在该网络上。打印服务包括与用户交互作用以接收打印请求数据的打印服务界面、用于处理打印请求的路由器部件、以及把文档从源文档格式转换成用于打印的目标文档格式的绘制部件。用户使用打印服务界面输入识别文档在网络上的位置(例如根据文档的URL(统一资源定位符))的打印请求。另一方面,可以直接把文档从移动装置传递到打印服务。如果可适用的话,用户还通过相同的界面规定目标打印机。当打印机服务接收到请求时,如果该请求给出文档的URL,则它检索相应于该URL的文档,把文档变成合适的目标格式,并按用户的要求打印文档。
不仅可以在互联网上实施本发明的网络打印服务框架,而且还可以在不同大小的网络上实施,诸如共同的企业内部互联网、家庭局域网等。
(4)


在所附的权利要求书规定本发明的特征的同时,尤其,从下面结合附图的详细描述中,对本发明以及它的目的和优点将更好地理解图1是方框图,一般示出可以在其上实施本发明的一个示例计算机系统;图2是示意图,示出在互联网上提供的打印服务的示例实施例,用于处理移动互联网装置的用户的打印请求;图3是示意图,示出在互联网上另一个打印服务的示例实施例;以及图4是示意图,示出驻留在用户的个人计算机上和经过公式的企业内部网可访问的打印服务网关。
(5)具体实施方式
转到附图,其中用相同的标记作相应的识别,所示出的本发明是在合适的计算机环境中实施的。虽然并不要求,但是将在诸如由个人计算机执行的程序模块之类的计算机—可执行指令的一般情况中描述本发明。一般,程序模块包括执行特定任务或执行特定抽象数据类型的例行程序、程序、目标、部件、数据结构等。此外,熟悉本技术领域的人员会理解,可以用其它计算机系统配置来实施本发明,包括手持装置、多处理器系统、基于微处理器的或可编程的消费电子线路、网络个人计算机、小型计算机、主计算机等。可以在分布式计算环境中实施本发明,在这种环境中,由通过通信网络链接的远程处理装置来执行任务。在分布式计算环境中,可以把程序模块置于本地和远程存储器存储装置两者中。
下面的描述从通用计算装置的描述开始,所述通用计算装置可以用于实施本发明的示例系统中,并将参考图2-4更详细地描述本发明。现在转到图1,以传统个人计算机20的形式来示出通用计算装置,它包括处理单元21、系统存储器22以及系统总线23,所述总线把包括系统存储器的各种系统部件耦合到处理单元21。系统总线23可以是数种总线类型中的任何一种,包括存储器总线或存储器控制器、外围总线以及使用多种总线结构中的任何一种结构的本地总线。系统存储器包括只读存储器(ROM)24以及随机存取存储器(RAM)25。把包括帮助在个人计算机20内的单元之间传递信息(诸如在起动期间)的基本例行程序的基本输入/输出系统(BIOS)26存储在ROM 24中。个人计算机20进一步包括用于从硬盘60读出和写入的硬盘驱动器27、用于从可拆卸磁盘29读出和写入的磁盘驱动器28、以及用于从可拆卸光盘31(诸如CD ROM或其它光学媒体)读出或写入的光盘驱动器30。
分别通过硬盘驱动接口32、磁盘驱动接口33以及光盘驱动接口34把硬盘驱动器27、磁盘驱动器28以及光盘驱动器30连接到系统总线23。驱动器和它们相关联的计算机可读出媒体提供计算机可读出指令、数据结构、程序模块和用于个人计算机20的其它数据的非易失性存储。虽然这里描述的示例实施例使用硬盘60、可拆卸磁盘29和可拆卸光盘31,但是熟悉本技术领域的人员会理解,在示例操作环境中也可以使用可存储计算机可访问数据的其它类型计算机可读出媒体,诸如盒式磁带、快闪存储器卡、数字视频盘、Bernoulli磁带盒、随机存取存储器、只读存储器、存储区网络等。
可以把包括操作系统35、一个或多个应用程序36、其它程序模块37以及程序数据38的许多程序模块存储在硬盘60、磁盘29、光盘31、ROM 24或RAM25上。用户可以通过诸如键盘40和指示器42之类的输入设备把命令和信息输入个人计算机20。其它输入设备(未示出)可以包括话筒、摇杆、游戏小键盘、卫星碟形天线、扫描器等。通常通过耦合到系统总线的串行端口接口46把这些和其它输入设备连接到处理单元21,但是可能通过其它接口连接,诸如并行端口、游戏端口或通用串行总线(USB)或网络接口卡。还通过诸如视频适配器48之类的接口把监视器47或其它类型的显示装置连接到系统总线23。除了监视器之外,个人计算机一般包括未示出的其它外围输出设备,诸如扬声器和打印机。
个人计算机20可以在网络化环境中操作,所述网络化环境使用到诸如远程计算机49之类的一个或多个远程计算机的逻辑连接。虽然在图1中只示出一个存储器装置50,但是远程计算机可以是另外的个人计算机、服务器、路由器、网络个人计算机、同等装置或上述相对于个人计算机20描述的所有单元。在图1中描绘的逻辑连接包括局域网(LAN)51和广域网(WAN)52。在办公室、全企业的计算机网、企业内部互联网以及互联网中,这种网络环境是很平凡的。
当在局域网网络环境中使用时,通过网络接口或适配器53把个人计算机20连接到本地网络51。当在广域网网络环境中使用时,个人计算机20一般包括调制解调器54或在广域网WAN 52上建立通信的其它手段。通过串行端口接口46把调制解调器54(可以是内部的或外部的)连接到系统总线23。在网络化环境中,可以把相对于个人计算机20或其一部分描绘的程序模块存储在远程存储器存储装置中。可以理解,所示的网络连接是示例,可以使用在计算机之间建立通信链路的其它手段。例如,计算机可以是膝上计算机的形式,并配备有无线连接到互联网或其它网络的无线发送和网络能力。
在下面的说明中,除非另有所指,将参考一台或多台计算机执行的操作的动作和符号表示来描述本发明。照这样,可以理解,这些有时称之为计算机执行的动作和操作包括通过电信号(所述电信号表示结构形式的数据)的计算机处理单元的操作。这种操作使数据变换或保持在它在计算机存储器系统中的位置上,按熟悉本技术领域的人员理解的方式再配置或改变计算机的操作。保持数据的数据结构是存储器的物理位置,所述存储器具有由数据格式定义的特定特性。然而,在上述情况中描述本发明的时,并不意味着一种限制,熟悉本技术领域的人员会理解,此后描述的各种动作和操作也可以在硬件中实施。
现在转到图2,本发明针对一种打印服务体系结构,这种打印服务体系结构允许诸如膝上计算机、PDA、上网小区电话(或“智能小区电话”)等的移动计算装置的用户能够打印文档,即使移动装置没有直接连接或控制打印机,或即使该装置不能为执行打印操作所需要的应用程序和打印机驱动程序提供处理能力或存储器容量。根据本发明,移动装置不需要进行使文档变成打印机可接受格式的处理,甚至不必知道打印机的位置在哪里。而是,移动装置只要查找移动装置所连接的网络上的打印服务,告诉打印服务文档在哪里,或把文档传递给打印服务,打印服务会控制打印操作,按请求打印文档。
图2示出一个实施例,其中执行打印服务70作为互联网72上的网服务器的一部分。然而,可以理解,根据本发明的打印服务体系结构是可扩充的,以致可以在诸如处理打印任务的共同企业内部互联网之类的其它网络中使用,将在下面进行更详细的描述。如在图2中所示,把在本实施例中可以是上网小区电话76、PDA 78、膝上计算机80或任何其它互联网装置等的用户的移动装置连接到互联网72上。
作为一种情况中的例子,名字为“Jane”的用户可能在她旅行时携带上网小区电话76。当她在一个旅馆登记住宿时,把她的“互联网凭证”给旅馆。旅馆有一个具有打印服务70的互联网上的网站86。此后,当Jane准备一个用户会议时,Jane要打印文档。假定包括她要打印的那一个文档的她的文档92存储在网上的网存储器90中。她使用她的上网小区电话76与互联网72连接,并访问(经过无线应用协议(WAP))旅馆的网站86,它代表包括打印任务的查询和选择的打印服务界面页面88。Jane通过界面网页88输入有关打印任务的信息,包括文档的位置、打印规格数据(例如,彩色或黑/白、常用的或加粗的、复制的份数等)以及任何其它需要的信息。在这个例子中,通过文档的统一资源定位符(URL)来规定待打印文档94的位置。她还可以规定是否把经打印的文档传送到她的旅馆房间或发送到总台由她去取。然后,她提出打印请求96,并通过上网小区电话76接收来自打印服务对于接收到打印请求的确认98。
打印服务70包括部件100、此后称之为打印服务网关(PSG),用于处理经过互联网从不同用户来的打印请求。当它接收到Jane的打印请求96时,它使用在旅馆客人数据库中的登记信息来验证她的旅馆客人状态。如果有什么问题,则它会通过Jane的小区电话76立即通知她。如果用户状态和打印请求两者都是有效的,则打印服务网关100使用Jane的互联网凭证来访问存储了她的文档的她的网存储器90,并使用特定文档94的URL来检索该文档。在检索文档之后,打印服务网关100从处理打印任务的打印机库106选择打印机,并把文档变成适合于所选择打印机的打印准备好格式。使用特定文档格式(例如,微软字处理)的合适应用程序来执行变换。为了该目的,打印服务可以保存用于处理不同类型文档的多个应用程序110。另一方面,打印服务可以使用互联网上的外部变换服务,诸如图2中的变换服务112、114、116。然后把经变换的文档发送到所选择打印机进行打印,并按打印请求中的规定传送经打印的文档。
虽然在本例子中的移动装置是上网小区电话,但是可以理解,提出打印请求所用的特定类型的移动装置是不严格的,膝上计算机和其它互联网装置的用户可以按同样方式使用打印服务70来打印文档。
从本例子可以看到,用户的移动装置不需要携带要打印的特定文档。在本例子中,甚至上网小区电话76不必具有存储文档拷贝的存储器容量。而是,用户只需要规定在哪里可以找到文档,打印服务会根据该信息和使用访问该文档所需要的用户凭证自动地检索该文档。关于这一点,用户的凭证是打印服务已经可得到的(例如,在旅馆登记时提供),或是连同打印请求一起提供,诸如通过使用证明或互联网“护照”。
然而,有可能用户的移动装置已经携带了文档。例如,可以是这样的情况,用户的移动装置是诸如膝上计算机之类的“富有的用户”。在该情况中,用户可以直接从她的装置把文档作为打印请求数据的一部分发送到打印服务网关。
可以理解,用户的移动装置不需要对文档进行任何变换或控制打印操作。结果,移动装置不须具有文档特定格式的应用程序(例如,微软字处理AdobeAcrobat Reader),而且不需要把打印驱动程序下载到装置中。这是一个重要的优点,因为诸如PAD或上网小区电话之类的许多移动装置不具备变换打印文档的处理能力或保存应用程序或打印驱动程序的存储器容量。此外,即使移动装置是诸如膝上计算机之类具备实质处理能力和存储容量的“富有的用户”,但是寻找正确的驱动程序以下载到装置然后使用装置来控制打印机的操作也是一个极复杂的过程。通过把打印任务委托给轻量级移动装置可访问的网络(例如,互联网)上的打印服务,用户可以在实质上她去的任何地方和她希望的任何时间(受到网络连接的限制)使用移动装置来打印文档而无需关心打印操作的细节。
为了说明本发明的打印服务体系结构的宽广的应用性,下面参考图3描述另一种情况。在这种情况中,Jane是房地产经纪人。在她去会见她的用户的路上,她想从她的小区电话76打印最新的住房列表。为了这个,她在她的小区电话上显示的菜单中点击“寻找最近的打印中心”功能。在本例子中,Jane的小区电话提供者具有黄页服务,该服务包括到商用打印中心网页的网链接。当她点击“寻找最近的打印中心”功能时,她的小区电话检测她当前的位置,并搜索该位置的打印中心列表。它按离开她当前位置的距离增加的次序显示出五种最佳选择。Jane通过点击一个打印中心的链接从该列表选出例如具有特许名称“ABC”的打印中心124。然后她连接到ABC的网服务器120,并用所显示的ABC网页122来输入她的请求。然后,她通过ABC网页输入她的打印请求和计费信息。
与图2的例子相似,接收打印请求的服务网关126驻宿在ABC打印中心网服务器120上。当用户输入打印请求时,打印服务网关检索在请求中规定的URL处的文档,把文档改变成打印格式,并在Jane选择的ABD打印中心124处的打印机上打印。在本实施例中,由于通过用户选择在打印中心处要打印的文档,所以在网上的ABC的打印服务不需要本地打印机。
本发明的打印服务框架是可扩充的,而且可以用于不同大小的网络。作为例子,下面参考图4描述另一种移动打印情况,图4示出一个实施例,在该实施例中,在公司的企业内部互联网上实施打印服务132。在这种情况中,名字为“Chris”的用户到他公司中的另一建筑物中的会议室去开会,他随身携带他的连接网络的PDA 138。在会议室中,他意识到他必须打印一份会议的文档。为了如此进行,Chris不需要知道共享的打印机在建筑物的什么地方或如何安装打印驱动程序。他使用他的PDA通过共同的企业内部互联网136访问驻宿在他的办公室中的台式个人计算机(PC)132上的打印服务网关142。打印服务网关142已经访问Chris的PC 132可用的所有的公司网络打印机。它帮助Chris选择一台特定的打印机,诸如通过打印机定位图。Chris使用PDA与打印服务网关142交互作用,并把打印请求148发送给打印服务网关。打印请求通过URL识别要打印的文档,该文档可能存储在他的台式PC中,或在企业内部互联网的一个位置上。它还根据诸如打印机位置之类的信息识别目标打印机。如果需要的话,Chris的计算机根据要求安装目标打印机所需要的打印机驱动程序。然后Chris走到所识别的打印机去选取经打印的文档。
回到图2,在一个实施例中,打印服务70包括一个或多个服务器,每个服务器都驻宿有打印服务网关部件100,以及用于处理各种文档格式的应用程序110的集合。例如,应用程序可以包括用于HTML(超文本标签语言)文档的Microsoft Internet Explorer、用于“.PDF”文件的Adobe Acrobat Reader以及用于“.DOC”的微软字处理等。在示例实施例中,打印服务进一步包括打印机106的集合以及应用程序可以用来产生打印准备好输出数据的相应的打印机驱动程序。打印机驱动程序的集合根据服务支持的特定打印机而变化。例如,旅馆打印服务可以使用与管理相同的打印机型号,并且只需要一种打印机驱动程序,而企业的打印服务可能由于不同打印机型号的积累而需要许多打印机驱动程序。
打印服务70包括提供用户界面的打印服务用户界面部件150,以允许用户输入打印请求和得到请求的确认。它还可以提供一般户打印请求和打印服务的最新状态。这个用户界面部件根据服务以及用户而变化(例如,与膝上个人计算机相比,PDA用小屏幕)。在用户界面之后是打印服务网关的编程界面,它定义如何构成到打印服务的打印请求以及经过互联网(或企业内部互联网)接收反馈。在一种实施中,用户界面部件创建实际打印请求软件包,并把它发送到打印服务网关。在另一种实施中,用户可以直接访问打印服务网关的编程界面,并把打印请求(按XML(扩展标签语言)格式)直接发送到打印服务。
在一种实施中,打印请求的内容包括下列数据
1.用户的“互联网凭证”或网站身份。需要这个信息来鉴别文档访问以及打印服务访问的用户。也可以在登录或计费时使用。
2.文档的内容或它的URL。
3.任选的文档的格式。如果不提供这个信息,则打印服务将通过分析内容来确定格式,尽管这一般是效率不高的。
4.任选的目标打印机的URL和诸如型号名称、PnP ID(PnP识别号)、安全访问代码等的特征。
5.任选的、用于选择目标打印机的标准(例如,位置)。如果这个信息丢失以及没有给出打印机URL,则打印服务会根据它自己的标准(诸如负载平衡和优先级)选择目标打印机。
6.任选的打印操作要求,诸如彩色、双面、常用。如果丢失这个信息,则将使用缺省设置。
打印服务70产生的响应的内容包括接受请求的确认或拒绝请求,如果接受请求,则一个在登录和计费中使用的任务ID(识别号)。由于下列任何一个原因和/或其它原因可能拒绝打印请求没有鉴别用户能使用打印服务;打印服务离线;不能检索文档内容;不支持文档格式;不支持规定的打印机;以及不能满足规定的打印要求(诸如彩色打印)。
诸如膝上计算机之类某些“富有的用户”装置具有更大的处理能力以及较大的应用程序库。就提出打印请求而论,它们可能更高级,所以用户可能得到较佳的打印质量和性能。例如,装置可以查询所支持文档格式的列表(例如按照减少优先权的次序)。
在经过图2中示出的互联网的移动打印实施例中,打印服务网关(PSG)100包括路由部件160、变换部件162、以及登录和计费部件166。路由部件160执行下面的功能·分析输入打印请求。
·鉴别要使用打印服务的用户。
·与用户协商有关的打印能力(例如,文档格式)。这将允许强大的用户提出最佳效果的较佳格式。
·如果需要的话,检索文档内容。如果文档的访问有限制,则使用所提供的用户凭证。
·使用户的请求有效,并给出反馈。如果支持从给定源格式到给定目标格式的转换,则这包括调用PSG变换部件使之有效。
·使请求进行假脱机和调度以进一步处理(变换和/或打印)。
·如果合适的话,把打印请求再引导到另一个打印服务。可以把这用于打标记服务。例如,旅馆打印服务可以简单地使所有打印请求通过而到达实际处理和打印的打印服务承包人。
打印服务网关100的变换部件162负责把源文档格式转换成一般是打印准备好格式的目标格式。它保持信息,使之约在所支持的输入格式和输出格式之间映射。这包括信息,所述信息有关格式是什么以及执行特定的映射需要什么应用程序软件或外部变换服务。它使用数据驱动的方法来提供可伸展性。
当在本地完成格式转换时,在本地安装合适的应用程序软件和打印驱动程序。如果使用外部专用打印变换服务,则打印服务网关使内容(例如,.PS文件)简单地通过而无需任何转换。为了增加格式转换的可靠性,具有一个正规的中间格式是极有利的,所有用户可以使用它来提出文档数据。这种格式将与装置无关。缺少标准格式,打印服务可能使格式限制在满足它的可靠性标准的设置上。
网打印服务的另一个部件是登录和计费部件,它处理打印请求服务的登录和计费操作。为支持互联网业务模型而提供,如果在不同类型的网络中执行网络打印服务,有可能不需要。例如,当旅馆打印服务需要计费功能时,在公司的企业内部互联网上的打印服务可能不需要。
如上所述,打印服务提供编程界面,该编程界面允许用户提出打印任务请求以及查询任务状态。在一种实施中,存在网打印服务支持的三种强制性方法CreatePrintJob(创建打印任务)允许用户提出打印请求。
CancelPrintJob(取消打印任务)允许用户取消以前已经提出的打印请求。
GetPrintJobData(得到打印任务数据)允许用户查询以前已经提出的打印请求的状态。
还有网打印服务可以选择支持以使操作最优化的三种任选的方法IsFormatSupported(支持格式吗)允许用户找出打印服务是否支持特定文档格式。用户可以首先使用这种方法来验证格式,特别当直接把文档内容嵌入在打印请求中时。
GetSupportedFormat(得到支持的格式)允许用户得到支持文档格式的列表。用户可能要求使用这种方法来选择一种最优格式以提出源文档,特别当用户(例如,膝上计算机)有能力进行格式转换的某些形式时。
GetPrinterModels(得到打印机型号)允许用户找出打印服务使用的打印机型号列表以及它们相关联的可安装的设置(诸如是否安装双面器)。这将使富有的用户(诸如膝上计算机)产生高保真度打印机准备数据,并通过打印服务直接到打印机。少数打印服务期望支持这种方法,正好是只接收打印机准备数据的那些服务。
下面描述以上确定的方法中的每一种方法的细节。在每种方法的说明的后面是详细说明所有参数的“变元”表。它具有如下的属性Data Field(数据字段)参数的名称。它跟随在名称约定VisualStudio.NET之后。
Dir参数的方向,IN(入),OUT(出),或IN/OUT(入/出)(在C#中的‘ref’)。
Type数据类型,如C#中所定义。
M/O表示参数是强制性的(‘M’)还是任选的(‘O’)。
Comment(注释)定义参数的意思和它的用途。
如果在多种方法中出现相同的参数,则该参数具有相同的意思并且只在一个地方定义。
跟随在“变元”表之后的是错误代码列表。错误代码返回到<SOAPfault>单元中。从IPP状态代码得到错误代码,其名称跟随在C#名称约定之后。
1.CreatePrintJob当调用CreatePrintJob时,打印服务将创建新的打印任务以表示新打印请求以及分配唯一的任务ID(识别号)。它根据用户的提供以及实际可得到的支持来更新任务数据。如果提供文档URL链接,则它以用户的名义检索文档内容。如果一切都有效,则它设置任务状态为“接受”,并在继续进行文档打印的同时对用户作出响应。用户可以在较晚时间通过GetPrintJobData查询打印请求的状态,诸如估计完成时间或实际打印设置。在所有情况中,在它的响应中设置合适的操作错误代码。
注意,如果打印服务选择接受打印准备好数据,则它应支持参数“jobTicket”,该参数封装用于产生打印准备好数据的打印设置的整个集。“jobTicket”是基于标准视窗打印系统方案的。如果打印服务不能承受“jobTicket”中的所有设置,则它应拒绝打印请求和返回ClientErrorNotPossible(用户错误不可能)。
Arguments(变元)数据字段jobID方向OUT;类型单元;M/OM注释打印服务在1到2^32-1的范围中创建唯一的打印任务识别号。在保证没有两个有效的打印请求具有相同识别号的同时,打印服务可以使任务识别号再循环。在诸如CancelPrintJob(取消打印任务)和GetPrintJobData(得到打印任务数据)之类接着的操作中使用这个识别号。
数据字段jobname(任务名称)方向IN;类型字符串;M/OM注释打印请求的名称,诸如要打印的文档的名称。
数据字段userName(用户名称)方向IN;类型字符串;M/OM注释经编码的用户护照签到识别号和口令。将使用这个凭证来鉴定打印服务的使用以及当使用文档URL时使打印服务以用户的名义检索文档内容。如果诸如商业打印店之类的打印服务需要用户凭证,则用户必须提供这个数据。否则,它将接收到“ClientErrorNotAuthenticated”(用户错误未鉴定)。
数据字段docLink(文档链接)方向IN;类型字符串;M/OO注释待打印文档的URL。如果它丢失了,则打印服务应该假设用户将通过“docContent”(文档内容)参数直接发送文档内容。在大多数情况中,提供“docLink”,即,通过参考打印。如果打印服务支持一个任务中接受多个文档,则用户可以在一个CreatPrintJob请求中提供多个URL。
数据字段docContent(文档内容)方向IN;类型字节[];M/OO
注释字节的序列表示待打印文档的内容,如果这是零,并且“docLink”也是零,则打印服务将带错误代码“ClientErrorDocumentAccessError”(用户错误文档访问错误)而返回。
数据字段docFormat(文档格式)方向IN;类型字符串;M/OO注释文档内容的格式,诸如“PostScript Level 2”或“DOC”。如果不提供该参数,则打印服务将分析文件名称和/或内容,以便弄清楚格式。
数据字段targetPrinter(目标打印机)方向IN;类型字符串;M/OO注释目标打印机的名称。
数据字段numOfCopies(复制份数)方向IN;类型单元;M/OO注释要打印的复制份数。缺省值是1。将核对所有打印页面。
数据字段duplex(双面)方向IN;类型字符串;M/OO注释定义在物理页面上如何打印逻辑页面。任选包括“单面打印”、“沿长边双面打印”以及“沿边短双面打印”。
数据字段nUp(n向上)方向IN;类型字符串;M/OO注释定义在物理页面的一面上如何编排逻辑页面。从“1-向上”、“2-向上”以及“4-向上”选择。缺省值是“1-向上”。
数据字段isColor(是彩色吗)方向IN;类型布尔(bool);M/OO注释如果“真”,则用彩色打印文档。否则,用黑/白打印。缺省值是黑/白。
数据字段paperType(纸型号)方向IN;类型字符串;M/OO注释在打印文档时使用的纸的型号,诸如“201b标准白纸”。由每个打印服务设置缺省值。如果是由用户规定的,则将对照其它任务要求进行验证。如果有冲突,则服务应根据它的优先级选取合适的纸型号,并相应地更新任务数据。
数据字段bindingType(装订式样)方向IN;类型字符串;M/OO注释待使用的装订式样,诸如“无”、“卷”、“梳状”、“U形钉钉住”。缺省值是“无”。如果由用户规定,则将对照其它任务要求进行验证。如果有冲突,则服务应选取合适的装订式样,并相应地更新任务数据。
数据字段jobTicket()方向IN;类型字节[];M/OO注释描述用于产生打印准备好数据的打印设置的整个集的XML气泡。只在提出打印准备好(“原始”)文档时使用。它遵循标准视窗打印系统方案。
数据字段<custom fields>(定制字段)方向IN;类型N/A;M/OO注释每个打印服务可以定义附加的字段,诸如“promotion code’(提升代码)。
错误代码代码0x0000;意义SuccessfulOK(成功同意);用途该操作成功。
代码0x0400;意义ClientErrorBadRequest(用户错误不良请求);用途请求是形成不良的,诸如不良参数值。
代码0x0402;意义ClientErrorNotAuthenticated(用户错误不鉴定);用途不鉴定用户使用打印服务。
代码0x0403;意义ClientErrorNotAuthorized(用户错误不授权);用途不授权用户创建打印任务。
代码0x0404;意义ClientErrorNotPossible(用户错误不可能);用途打印服务不能满足要求,诸如当用户提出打印准备好数据时不能承受在任务票(jobTicket)中的所有设置。
代码0x040a;意义ClientErrorDocumentFormatNotSupported(用户错误温度格式不支持);用途不支持源文档格式。
代码0x0411;意义ClientErrorDocumentFormatError(用户错误文档格式错误);用途源文档是形成不良的。
代码0x0412;意义ClientErrorDocumentAccessError(用户错误文档访问错误);用途打印服务不能访问文档内容。
代码0x0500;意义ServerErrorInternalError(服务错误内部错误);用途这是所有内部错误的杂物箱错误代码。
代码0x0506;意义ServerErrorNotAceptingJob(服务器错误不接受任务);用途由于某些原因打印服务不接受新的打印任务。
代码0x0509;意义ServerErrorMultipleDocumentJobNotSupported(服务器错误多个文档任务不支持);用途打印服务不能接受包含多个文档的打印请求。
2.CANCELPRINTJOB(取消打印任务)在验证用户凭证之后打印服务删除给定的打印任务。
变元数据字段jobID(任务识别号)方向IN;类型单元;M/OM注释在CreatePrintJob响应中返回的唯一的任务识别#。
数据字段userCredential(用户凭证)方向IN;类型字符串;M/OO注释如果用用户凭证创建任务,则取消该任务需要相同的凭证。
错误代码代码0x0000;代码意义SuccessfulOK(成功同意);用途成功地删除任务。
代码0x0400;代码意义ClientErrorBadRequest(用户错误不良请求);用途请求是形成不良的,诸如无效的任务识别号或任务已经取消。
代码0x0402;代码意义ClientErrorNotAuthenticated(用户错误不鉴定);用途不鉴定用户。
代码0x0403;代码意义ClientErrorNotAuthorized(用户错误不授权);用途不授权用户删除给定的打印任务(例如另外某个人的任务)。
代码0x0500;代码意义ServerErrorInternalError(服务错误内部错误);用途所有内部错误的杂物箱错误代码。
3.GetPrintJobData这个方法返回与给定任务识别号相关联的打印任务数据集,如下所列出。任务可以是任何状态“接受”、“打印”、“取消”或“完成”。每个打印任务决定它要把打印任务的数据保持多久。
注意,当打印请求包含与装置无关的文档格式(诸如.DOC)时,与请求一起来的打印设置作为“建议”来处理。服务可以根据它的能力调节设置,以便解决冲突(诸如“彩色”以及“双面打印”)。用户可以调用GetPrintJobData来找出打印中使用的实际设置,如果合适的话,就通知用户。
变元数据字段jobID(任务识别号)方向IN;类型单元;M/OM注释在CreatePrintJob响应中返回的唯一的任务识别#。
数据字段userCredential(用户凭证)方向IN;类型字符串;M/OO注释如果用用户凭证创建打印任务,则需要。
数据字段jobState(任务状态)方向OUT;类型字符串;M/OM注释任务的当前状态“接受”、 打印”、“取消”或“完成”。
数据字段timeOfSubmission(提出时间)方向OUT;类型字符串;M/OM注释当接受任务时的经编码的时间戳。格式是ISO 8601。本地时间表示为YYYYMMDDTHHMMSS,而UTC时间为YYYYMMDDTHHMMSSZ。
数据字段jobName(任务名称)方向OUT;类型字符串;M/OM注释打印任务的名称。
数据字段userName(用户名称)方向OUT;类型字符串;M/OM注释占有该任务的用户名。
数据字段printer(打印机)方向OUT;类型字符串;M/OM注释打印任务发送到的打印机。
数据字段numOfCopies(复制份数)方向OUT;类型单元;M/OM注释要打印#份拷贝。
数据字段nUp(n向上)方向OUT;类型字符串;M/OM注释布局的说明。如果当创建打印任务时用户已经规定布局格式,则有可能要修改来解决冲突和其它限制。
数据字段duplex(双面)方向IN;类型字符串;M/OM注释双面设置。如果当创建打印任务时用户已经规定双面设置,则有可能要修改来解决冲突和其它限制。
数据字段isColor(是彩色吗)方向OUT;类型布尔(bool);M/OM注释表示是否为彩色任务。
数据字段paperType(纸型号)方向OUT;类型字符串;M/OM注释打印任务所使用的纸的型号。如果当创建打印任务时用户已经规定纸的型号,则有可能要修改来解决冲突和其它限制。
数据字段bindingType(装订式样)方向OUT;类型字符串;M/OO注释打印任务所使用的装订式样,如果当创建打印任务时用户已经规定装订式样,则有可能要修改来解决冲突和其它限制。
数据字段completionTime(完成时间)方向OUT;类型字符串;M/OO注释期望完成打印任务的期限。格式是ISO 8601。本地时间表示为YYYYMMDDTHHMMSS,UTC时间表示为YYYYMMDDTHHMMSSZ。
数据字段printCost(打印成本)方向OUT;类型字符串;M/OO注释当服务对打印收费时使用。
数据字段mailingCost(邮寄成本)方向OUT;类型字符串;M/OO注释当把打印页面邮寄给用户时使用。
错误代码GetPrintJobData具有和CancelPrintJob相同的错误代码集。
4.IsFormatSupported(支持格式吗)如果打印服务支持这种方法,则如果支持给定的文档格式它就应该返回“真”。否则,返回“假”。
变元数据字段docFormat(文档格式)方向IN;类型字符串;M/OM注释文档格式名称。
数据字段supported(支持)方向OUT;类型布尔(bool);M/OM注释真或假。
错误代码代码0x0000;代码意义SuccessfulOK(成功同意);用途成功地完成请求。
代码0x0400;代码意义ClientErrorBadRequest(用户错误不良请求);用途请求是形成不良的,诸如零‘docFormat’。
代码0x0500;代码意义ServerErrorInternalError(服务错误内部错误);用途所有内部错误的杂物箱错误代码。
代码0x0501;代码意义ServerErrorOperationNotSupported(服务器错误操作不支持);用途打印服务不支持该方法。
5.GETSUPPORTEDFORMATS(得到支持格式)如果打印服务支持这种方法,则它应该返回支持文档格式的列表。
变元数据字段supportedFormat(支持格式)方向OUT;类型字符串;M/OM注释文档格式的阵列。
错误代码具有同IsFormatSupported相同的错误代码集。注意,如果用户有转换文档格式的手段(诸如特定打印机驱动程序),则它可以使用GetSupportedFormats来找到最优化的提交格式。否则,它可以使用IsFormatSupported来查询所牵涉的文档是否可以打印。用户不必调用任何方法使文档格式有效。如果它不这样,而且不支持所提出的格式,则打印服务将返回ClientErrordocumentFormatNotSupported(用户错误文档格式不支持)错误代码。
6.GETPRINTERMODELS(得到打印机型号)如果打印服务支持这种方法,则它应该返回正在使用的打印机名称(诸如“HP LaserJet 8000”)的列表。这种方法针对富有的PC用户,以最优化的打印变换质量把打印机准备好数据直接发送到打印服务。
变元数据字段printerModel(打印机型号)方向OUT;类型字符串;M/OM注释打印机型号名称的阵列。
错误代码具有同IsFormatSupported相同的错误代码集。
WSD(网络服务说明语言)定义根据本发明的一个实施例的特征,为了加强互联网上的网打印服务的打印服务界面的通用性,提供根据XML(扩展标签语言)的网服务说明语言(WSDL)来描述打印服务界面。它定义了在与网打印服务交换消息时用户必须遵循的消息格式。注意,对于特定实施,根据需要和任选的参数(‘minOccurs’),WSDL说明可能稍有改变。还有,缺省值名称空间和打印服务的位置将需要修改。
<pre listing-type="program-listing"><?xml version="1.0"encoding="utf-8"?><definitionsxmlnshttp="http//schemas.xmlsoap.org/wsdl/http/"xmlnssoap="http//schemas.xmlsoap.org/wsdl/soap/"xmlnss="http//www.w3.org/2001/XMLSchema"xmlnss0="http//tempuri.org/"xmlnssoapenc="http//schemas.xmlsoap.org/soap/encoding/"xmlnstm="http//microsoft.com/wsdl/mime/textMatching/"xmlnsmime="http//schemas.xmlsoap.org/wsdl/mime/"targetNamespace="http//tempuri.org/"xmlns="http//schemas.xmlsoap.org/wsdl/"><types> <sschema elementFormDefault="qualified"targetNamespace="http//tempuri.org/"> <selement name="CreatePrintJob"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="jobName" type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="userName" type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="userCredential"type="sstring"/>&lt;dp n="d21"/&gt; <selement minOccurs="0"maxOccurs="1" name="docLink"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="docContent"type="sbase64Binary"/> <selementminOccurs="0"maxOccurs="1"name="docFormat"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="targetPrinter"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="numOfCopies"type="sunsignedInt"/> <selement minOccurs="0"maxOccurs="1"name="duplex"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="nUp"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="isColor"type="sboolean"/> <selement minOccurs="0"maxOccurs="1"name="paperType"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="bindingType"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="jobTicket"type="sbase64Binary"/></ssequence> </scomplexType></selement&gt;<selement name="CreatePrintJobResponse"> <scomplexType>&lt;dp n="d22"/&gt;<ssequence> <selement minOccurs="1"maxOccurs="1"name="CreatePrintJobResult" type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="jobID"type="sunsignedInt"/></ssequence> </scomplexType></selement><selement name="CancelPrintJob"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="jobID"type="sunsignedInt"/> <selement minOccurs="0"maxOccurs="1"name="userCredential"type="sstring"/></ssequence> </scomplexType></selement><selement name="CancelPrintJobResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="CancelPrintJobResult"type="sunsignedInt"/></ssequence> </scomplexType></selement><selement name="GetPrintJobData">&lt;dp n="d23"/&gt; <scomplexType> <ssequence> <selement minOccurs="1"maxOccurs="1"name="jobID"type="sunsignedInt"/> <selement minOccurs="0"maxOccurs="1"name="userCredential"type="sstring"/></ssequence> </scomplexType></selement><selement name="GetPrintJobDataResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="GetPrintJobDataResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="jobState"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="errorCode"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="timeOfSubmission"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name ="jobName"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="userName"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="printer"type="sstring"/>&lt;dp n="d24"/&gt; <selement minOccurs="1"maxOccurs="1"name="numOfCopies"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="duplex"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="nUp"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="isColor"type="sboolean"/> <selement minOccurs="1"maxOccurs="1"name="paperType"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="bindingType"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="completionTime"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="printingCost"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="mailingCost"type="sstring"/></ssequence> </scomplexType ></selement><selement name="IsFormatSupported"> <scomplexType ><ssequence> <selement minOccurs="1"maxOccurs="1"name="docFormat"type="sstring"/> </ssequence>&lt;dp n="d25"/&gt; </scomplexType></selement><selement name="IsFormatSupportedResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="IsFormatSupportedResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="supported"type="sboolean"/> </ssequence> </scomplexType></selement><selement name="GetSupportedDocFormats"> <scomplexType/></selement><selement name="GetSupportedDocFormatsResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="GetSupportedDocFormatsResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="supportedDocFormats"type="s0ArrayOfString"/></ssequence> </scomplexType></selement&gt;<scomplexType name="ArrayOfString"> <ssequence>&lt;dp n="d26"/&gt;<selement minOccurs="0"maxOccurs="unbounded"name="string"nillable="true"type="sstring"/> </ssequence></scomplexType><selement name="GetPrinterModels"> <scomplexType/></selement><selement name="GetPrinterModelsResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="GetPrinterModelsResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="printerModels"type="s0ArrayOfString"/></ssequence> </scomplexType></selement><selement name="unsignedInt"type="sunsignedInt"/> </sschema></types><message name="CreatePrintJobSoapIn"> <part name="parameters"element="s0CreatePrintJob"/></message><message name="CreatePrintJobSoapOut"> <part name="parameters"element="s0CreatePrintJobResponse"/></message>&lt;dp n="d27"/&gt; <message name="CancelPrintJobSoapIn"><part name="parameters"element="s0CancelPrintJob"/> </message> <message name="CancelPrintJobSoapOut"><part name="parameters"element="s0CancelPrintJobResponse"/> </message> <message name="GetPrintJobDataSoapIn"><part name="parameters"element="s0GetPrintJobData"/> </message> <message name="GetPrintJobDataSoapOut"><part name="parameters"element="s0GetPrintJobDataResponse"/> </message> <message name="IsFormatSupportedSoapIn"><part name="parameters"element="s0IsFormatSupported"/> </message> <message name="IsFormatSupportedSoapOut"><part name="parameters"element="s0IsFormatSupportedResponse"/> </message> <message name="GetSupportedDocFormatsSoapIn"><part name="parameters"element="s0GetSupportedDocFormats"/> </message> <message name="GetSupportedDocFormatsSoapOut">&lt;dp n="d28"/&gt;<part name="parameters"element="s0GetSupportedDocFormatsResponse"/> </message> <message name="GetPrinterModelsSoapIn"><part name="parameters"element="s0GetPrinterModels"/> </message> <message name="GetPrinterModelsSoapOut"><part name="parameters"element="s0GetPrinterModelsResponse"/> </message> <portType name="WebPrintServiceSoap"> <operation name="CreatePrintJob"> <input message="s0CreatePrintJobSoapIn"/> <output message="s0CreatePrintJobSoapOut"/> </operation> <operation name="CancelPrintJob"> <input message="s0CancelPrintJobSoapIn"/> <output message="s0CancelPrintJobSoapOut"/> </operation> <operation name="GetPrintJobData"> <input message="s0GetPrintJobDataSoapIn"/> <output message="s0GetPrintJobDataSoapOut"/> </operation> <operation name="IsFormatSupported"> <input message="s0IsFormatSupportedSoapIn"/> <output message="s0IsFormatSupportedSoapOut"/>&lt;dp n="d29"/&gt;</operation><operation name="GetSupportedDocFormats"> <input message="s0GetSupportedDocFormatsSoapIn"/> <output message="s0GetSupportedDocFormatsSoapOut"/></operation><operation name="GetPrinterModels"> <input message="s0GetPrinterModelsSoapIn"/> <output message="s0GetPrinterModelsSoapOut"/></operation> </portType> <binding name="WebPrintServiceSoap"type="s0WebPrintServiceSoap"><soapbindingtransport="http//schemas.xmlsoap.org/soap/http" style="document"/><operation name="CreatePrintJob"> <soapoperationsoapAction="http//tempuri.org/CreatePrintJob"style="document"/> <input><soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output></operation>&lt;dp n="d30"/&gt;<operation name="CancelPrintJob"> <soapoperationsoapAction="http//tempuri.org/CancelPrintJob"style="document"/> <input> <soapbody use="literal"/> </input> <output> <soapbody use="literal"/> </output> </operation> <operation name="GetPrintJobData"> <soapoperationsoapAction="http//tempuri.org/GetPrintJobData"style="document"/> <input> <soapbody use="literal"/> </input> <output> <soapbody use="literal"/> </output> </operation> <operation name="IsFormatSupported"> <soapoperationsoapAction="http//tempuri.org/IsFormatSupported"style="document"/> <input>&lt;dp n="d31"/&gt; <soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output></operation><operation name="GetSupportedDocFormats"> <soapoperationsoapAction="http//tempuri.org/GetSupportedDocFormats"style="document"/> <input><soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output></operation><operation name="GetPrinterModels"> <soapoperationsoapAction="http//tempuri.org/GetPrinterModels"style="document"/> <input><soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output>&lt;dp n="d32"/&gt;</operation> </binding> <service name="WebPrintService"><documentation>web print service.</documentation><port name="WebPrintServiceSoap"binding="s0WebPrint ServiceSoap"> <soapaddresslocation="http//localhost/PCPrintPortal/WebPrintService.asmx"/> </port> </service></definitions></pre>由于有许多实施例可以应用本发明的原理,应该理解,这里描述的根据附图的实施例意味着仅作为示例而不是作为对本发明的限制。因此,这里所描述的本发明设想在下面权利要求书的范围内的所有如此的实施例以及其等效物。
权利要求
1.具有计算机可执行指令以执行在网络上提供打印服务的步骤的一种计算机可读出媒体,其特征在于,它包括显示一个服务界面,供用户经过网络与打印服务通信,以输入打印请求的打印请求数据,所述打印请求数据包括识别待打印文档的数据;使打印请求有效和向用户提供反馈;得到待打印的文档;把所述文档变换成用于打印的格式;以及根据所述打印请求打印经变换的文档。
2.如权利要求1所述的一种计算机可读出媒体,其特征在于,所述网络是互联网。
3.如权利要求2所述的一种计算机可读出媒体,其特征在于,所述服务界面包括网页,用户通过所述网页输入打印请求数据。
4.如权利要求2所述的一种计算机可读出媒体,其特征在于,识别所述待打印文档的数据包括待打印文档的URL(统一资源定位符),并且其中,计算机可读出媒体进一步包括计算机可执行指令,用于执行从所述URL检索出待打印文档的步骤。
5.如权利要求4所述的一种计算机可读出媒体,其特征在于,检索所述待打印文档的步骤包括使用用户凭证来得到对所述URL的访问。
6.如权利要求2所述的一种计算机可读出媒体,其特征在于,得到所述待打印文档的步骤包括在互联网上检索出来自用户的待打印文档的发送。
7.如权利要求1所述的一种计算机可读出媒体,其特征在于,所述变换步骤包括运行相应于待打印文档格式的本地应用程序以变换所述文档。
8.如权利要求1所述的一种计算机可读出媒体,其特征在于,所述变换步骤包括调用远程打印变换服务来变换待打印文档。
9.如权利要求1所述的一种计算机可读出媒体,其特征在于,所述打印步骤包括在打印服务的本地打印机上打印文档。
10.如权利要求1所述的一种计算机可读出媒体,其特征在于,所述打印步骤包括在远程打印机上打印文档。
11.如权利要求1所述的一种计算机可读出媒体,其特征在于,所述网络是企业内部网。
12.供移动计算装置的用户打印文档的一种方法,其特征在于,它包含使用移动计算装置来连接其上驻留有打印服务的一个网络;访问打印服务提供的服务界面,用于接收打印请求;通过服务界面输入打印文档的打印请求数据,所述打印请求数据包括识别待打印文档的数据;以及接收来自打印服务的、确认接收的打印请求数据的确认。
13.如权利要求12所述的方法,其特征在于,所述网络是互联网。
14.如权利要求13所述的方法,其特征在于,所述服务界面包括网页,用户通过所述网页输入打印请求数据。
15.如权利要求12所述的方法,其特征在于,所述输入打印请求数据步骤包括输入待打印文档的URL。
16.如权利要求15所述的方法,其特征在于,所述输入步骤进一步包括为访问URL而提供用户的凭证。
17.如权利要求12所述的方法,其特征在于,所述输入步骤进一步包括经过互联网把待打印文档发送到打印服务。
18.如权利要求12所述的方法,其特征在于,所述网络是企业内部网。
19.如权利要求12所述的方法,其特征在于,所述移动计算装置是网络蜂窝电话。
20.如权利要求12所述的方法,其特征在于,所述移动计算装置是膝上计算机。
21.如权利要求12所述的方法,其特征在于,所述移动计算装置是个人数字助理(PDA)装置。
22.一种可通过网络访问的打印服务系统,其特征在于,它包括界面部件,用于向用户提供经过所述网络可访问的服务界面,供用户输入打印请求的打印请求数据,所述打印请求数据包括识别待打印文档的数据;请求处理部件,用于使打印请求有效而得到待打印文档,并根据打印请求打印经变换的文档。
23.如权利要求22所述的打印服务系统,其特征在于,进一步包括变换部件,用于把文档变换成打印格式。
24.如权利要求23所述的打印服务系统,其特征在于,进一步包括相应于待打印文档格式和所述变换部件可调用的至少一个应用程序,用于把所述文档变换成打印格式。
25.如权利要求23所述的打印服务系统,其特征在于,对所述变换部件编程以调用远程打印变换服务,把所述文档变换成打印格式。
26.如权利要求22所述的打印服务系统,其特征在于,所述网络是互联网,其中,所述服务界面包括网页,用户可以通过所述网页输入打印请求数据。
27.如权利要求22所述的打印服务系统,其特征在于,配置服务界面以接收识别待打印文档位置的URL作为打印请求数据的参数。
28.如权利要求27所述的打印服务系统,其特征在于,对所述请求处理部件进行编程以访问检索待打印文档的URL。
29.如权利要求28所述的打印服务系统,其特征在于,对所述请求处理部件进行编程,以使用用户凭证以便得到对所述URL的访问。
30.如权利要求22所述的打印服务系统,其特征在于,配置所述服务界面以经过网络接收来自用户的待打印文档。
31.如权利要求22所述的打印服务系统,其特征在于,进一步包括打印文档的可选择的打印机库。
32.如权利要求22所述的打印服务系统,其特征在于,进一步包括登录和计费部件,用于处理打印请求处理的登录和计费。
全文摘要
在诸如互联网或共同的企业内部互联网之类的网络上提供一种打印服务,用于诸如膝上计算机、PDA和上网小区电话等的移动计算装置。当移动装置的用户要打印文档时,使用移动装置来访问打印服务,并发送打印请求,所述打印请求根据URL(统一资源定位符)而规定文档在网络上的位置。作为响应,打印服务使打印请求有效,检索文档、把文档变换成可打印、并按用户的请求打印文档。另一方面,可以通过移动装置直接把文档提供给打印服务。
文档编号G06K9/00GK1495601SQ0314524
公开日2004年5月12日 申请日期2003年6月25日 优先权日2002年6月26日
发明者Z·吴, Z 吴 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1