CN103168288A - 打印应用 - Google Patents

打印应用 Download PDF

Info

Publication number
CN103168288A
CN103168288A CN2011800501705A CN201180050170A CN103168288A CN 103168288 A CN103168288 A CN 103168288A CN 2011800501705 A CN2011800501705 A CN 2011800501705A CN 201180050170 A CN201180050170 A CN 201180050170A CN 103168288 A CN103168288 A CN 103168288A
Authority
CN
China
Prior art keywords
printer
document
compatibility
data
ability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800501705A
Other languages
English (en)
Other versions
CN103168288B (zh
Inventor
C·A·比尔切尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Software Imaging Technology Ltd
Original Assignee
Software Imaging Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Software Imaging Technology Ltd filed Critical Software Imaging Technology Ltd
Publication of CN103168288A publication Critical patent/CN103168288A/zh
Application granted granted Critical
Publication of CN103168288B publication Critical patent/CN103168288B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

公开了一种包括发现模块(32)和多个内容编排器(24a-24e)的打印引擎。当要打印文档时,基于文档的格式来选择内容编排器(24a-24e)。然后与发现模块(32)所获得的能力数据(35-1;…;35-n)一起分析文档以判断文档是否是与要用于打印文档的打印机的能力兼容的格式。如果是,则将未处理的文档传送至打印机。如果文档不是与打印机的能力兼容的格式,则打印引擎判断是否可以在不移除文档的内容的情况下,修改文档以消除在文档的格式和与打印机的能力兼容的格式之间的不兼容性,如果是,则修改文档并且将处理后的文档传送至打印机。

Description

打印应用
技术领域
本申请涉及打印应用。更具体地,本申请的实施例涉及用于诸如蜂窝移动电话等的移动装置的打印应用。
背景技术
蜂窝移动电话已经开始代替个人数字助理(PDA)。传统地,在用户需要各种功能的情况下,他们需要将蜂窝移动电话与便携式计算机和/或PDA结合使用。现在,随着蜂窝移动电话的屏幕技术、电子邮件服务和因特网连接的进步,这些功能中的许多功能可以仅使用电话来实现。
许多不同类型的格式文件在现代计算中使用。典型地,这些格式文件可以包括文字处理文件、网页文件、pdf(便携文档格式)文件、以及诸如jpeg、gif、png、bitmap等的图像文件,并且可以在计算机或便携式计算机中创建或保存。可选地,文件可以保存在服务器上,并且可以通过因特网从服务器发送给用户。
尽管蜂窝移动电话技术已经进步以使得可以直接在蜂窝移动电话的显示屏上查看许多不同类型的文件,但是经常仍需要将用于查看的文件打印为硬拷贝。这可能因为蜂窝移动电话的显示限制使得文件难以查看或可选地可能因为诸如离线编辑等其他原因而需要硬拷贝,或者文件可能需要被打印出来以有形地交给其他人。
传统地,在计算机或便携式计算机的情况下,当用户希望打印文件时,在计算机上运行的应用以应用专用的格式生成文件并且将文件发送至安装在计算机上的打印机驱动程序。打印机驱动程序将文件从其应用专用格式转换成具有特定打印机或特定类别的打印机能理解的格式的打印机可解释的数据。该打印机可解释的数据被称为打印作业。一旦计算机创建了打印作业,则将打印作业从计算机发送至特定类别的打印机中的打印机。当打印机接收到打印作业时,打印机解释打印作业中包括的数据并且打印文档的副本。
由此例如,运行诸如Microsoft 
Figure BDA00003063401700021
的文字处理应用的计算机将生成一般由文件扩展名.doc或.docx表示的Word数据文件。当打印这样的文档时,将Word数据文件传送至安装在计算机上的打印机驱动程序。打印机驱动程序将文字处理程序可理解的形式的Word数据转换成与打印机驱动程序相关联的特定打印机或多个打印机可理解的指令的形式,然后,将这些指令发送至打印机并且打印机使用这些指令来打印文档。
与台式或便携式计算机相比,移动装置在存储容量、处理速度和可用电能方面具有显著的资源限制。因此,移动装置供应商一般不在这种装置中包括用于将应用可理解的形式的文件转换成用于特定打印机或打印机组的打印机可解释的数据的打印机驱动程序。
另外,与台式计算机不同,移动装置经常被携带至新的位置,在该位置,用户可能希望打印出文档的副本。存储器限制意味着对于移动装置来说存储用于移动装置可能遇到的所有打印机类型的打印机驱动程序是不实际的。新的位置处的打印机的功能性可能或可能不被所安装的打印机驱动程序支持。如果打印机的功能性不被支持,则用户需要下载新的打印机驱动程序以能够使用该打印机,这增大了对带宽的需求。
考虑到不在移动装置上提供打印机应用所涉及的困难,提出许多可选方法。
一种已知方法是将诸如pdf或jpeg文件等的原始格式的文件直接发送至打印机,然后,打印机将文件处理成打印机可解释的数据。这种方法的主要问题是其是否成功取决于可用打印机的能力。可能的是,用户期望使用来打印特定格式的文件的打印机可能不能将该格式的文件渲染成打印机可解释的数据,并且打印请求失败。
第二种已知方法是经由代理将原始格式的文件发送至打印机,其中代理将文件处理成打印机可解释的数据并且将该数据传输至打印机(例如在打印机是因特网打印协议(IPP)打印机的情况下直接传输,或者经由移动装置传输)。这种方法降低了所选择的打印机不能处理所输送的文件的可能性。然而,这是以外部的网络流量为代价的,其涉及经由至少用户的移动装置和代理将数据从服务器传输至用户所选择的打印机,并且通过经由用户的移动装置再次传输。
在US2008/0158581中公开了中间方法。在US2008/0158581中,采取发现操作来确定打印语言,并且在发送出打印作业之前确定打印机可以理解的数据格式。当数据要被打印时,在数据被输送之前,进行检查以判断数据是否已经是该打印机能够理解的格式。如果是,则数据被合并至打印作业并且被输送至打印机。然而,如果判断为数据格式不能被打印机理解,则数据被处理并转换成被识别为被打印机理解的打印语言的一组打印指令,并且转换后的数据被合并至打印作业。
由此,例如,在能够处理pdf文件和PCL(打印机命令语言)但是不能理解png(便携式网络图形)文件的打印机的情况下,如果用户要求打印pdf文档,则pdf文档将被合并至打印作业而不需要被处理。相比之下,如果用户要求打印png文件,则将判断png文件格式与打印机的能力不兼容,并且在png文件被合并至打印作业和被输送之前,将png文件处理成一组PCL指令。
尽管方法US2008/0158581便于使用移动装置进行打印,但还需要可选的方法。
发明内容
本发明的一个方面提供一种生成用于打印机的打印作业的方法。根据该方面,最初,确定可以由打印机打印的文件和指令格式,其中,要为该打印机生成打印作业。随后,当用户识别定义了要生成打印作业的数据的文档时,作为第一步骤,分析文档。如果文档是与打印机的能力兼容的格式,则将未处理的文档传送至打印机。如果文档不是与打印机的能力兼容的格式,则确定是否可以在不移除文档的内容的情况下,修改文档以消除在文档的格式和与打印机的能力兼容的格式之间的不兼容性。如果是,则进行所确定的修改并且将修改后的文档传送至打印机。如果文档不是与打印机的能力兼容的格式并且不能在不改变文档的内容的情况下被修改为与打印机的能力兼容,则处理该文档以生成用于表示文档的与打印机兼容的打印指令,并且将这些打印指令传送至打印机。
在一些实施例中,可以通过执行发现操作以识别一个或多个可用打印机来确定要为其生成打印作业的打印机的能力,然后可以获得定义被发现为可用的打印机的能力的能力数据。
这种能力数据可以包括定义以下的数据:打印机所理解的打印机语言、打印机可理解的文档格式、打印机可理解的文档格式版本、双面打印能力(例如,单面打印、双面打印长边装订、双面打印短边装订)、整理能力、包括识别纸张尺寸和页边距的数据的所支持的纸张尺寸、所支持的打印机输出介质(例如油墨或调色剂)、介质路径信息(例如,最大纸张宽度或高度、最小纸张宽度或高度)、输入托盘、输出托盘和安装在打印机上的字体数据。
典型的打印机语言将包括例如以下语言:PostScript、打印机命令语言(Printer Command Language)、爱普生打印机标准代码(Epson StandardCode for Printers)、理光精细打印命令串(Ricoh Refined Printing CommandStream)、理光打印机驱动语言(Ricoh Printer driver language)、XML文件规范(XML Paper Specifications)、ZJ串(ZJ stream)、佳能打印系统语言(Canon Printing System Language)、施乐脱离程序(Xerox EscapeSequences)和XHTML-打印(XHTML-Print)。
打印机可以理解的合适的文档格式可以包括:Word文档格式、OpenOffice文字处理格式、Excel格式、Open Office电子表格格式、PowerPoint格式、Open Office报告格式、jpeg格式、png格式、tiff格式、gif格式、电子邮件消息格式、v卡联系人格式、安卓联系人格式、日历条目格式、pdf格式、html格式和文本格式。
在一些实施例中,确定数据是否是与打印机的能力兼容的文档格式可以包括识别与要打印的文档相关联的文件扩展名以确定文档的格式并且将所识别的格式与打印机的能力数据进行比较,该能力数据识别与打印机兼容的文件格式。
在一些实施例中,可以利用与文档相关联的文件扩展名来确定处理的文档的结构和句法。然后,所确定的文档的结构和句法可以在分析文档时被利用以确定文档是否与由能力数据识别为与要利用来打印文档的打印机兼容的格式版本兼容。如果文档不与由能力数据所识别的格式版本兼容,则文档的不与所识别的格式版本兼容的部分可以之后被识别并修改或替换。
在一些实施例中,如果文档不与打印机的能力数据兼容,则文档可以被分析以确定文档的与打印机的能力数据兼容的部分,并且与文档的被识别为与打印机的能力兼容的部分相对应的数据可以在不经过附加处理的情况下被传送至打印机。
在一些实施例中,如果文档不与打印机的能力数据兼容,则文档的与被识别为与打印机的能力数据兼容的格式的图像相对应的部分可以在不经过附加处理的情况下被识别并传送至打印机。
在一些实施例中,如果文档不与打印机的能力数据兼容,文档可以被分析以确定文档的与被识别为与打印机的能力数据兼容的格式的文本相对应的部分,并且与文档的被识别为与打印机的能力兼容的部分相对应的数据可以在不经过另外处理的情况下被传送至打印机。
在一些实施例中,可以基于指示安装在用于打印文档的打印机上的字体的能力数据来选择用于打印文档的被识别为文本的部分的字体。
在一些实施例中,识别安装在打印机上的字体的字体数据可以从打印机支持特定的字体组的识别来间接获得(例如,通过识别表示支持Postscript1、2或3级字体的PDL版本支持)。
在一些实施例中,如果文档不是被识别为与打印机兼容的格式并且文档不能被处理成与打印机兼容,则可以通过以下来处理文档:识别与打印机兼容的打印机语言;基于所识别的打印机语言来选择打印机驱动程序以将预处理文档转换成打印指令;使用所选择的打印机驱动程序来转换预处理文档,从而以所选择的打印机语言生成打印指令;以及输出所生成的打印指令。
处理文档以生成用于表示文档的与打印机兼容的打印指令可以包括确定与所确定的打印机的能力兼容的打印指令是否可以在本地生成,如果不是,则发送文档以在远程服务器上处理。
根据本发明的另一方面,提供一种打印引擎,包括:发现模块,被操作来确定打印机的能力,其中,要为该打印机生成打印作业,并且其中,所述能力定义打印机能够打印的文件和指令格式;以及内容编排器,被操作来通过以下来处理定义了要生成打印作业的数据的文档:分析文档以确定文档是否是与打印机的能力兼容的格式,如果是,则将未处理的文档传送至打印机;如果文档不是与打印机的能力兼容的格式,则确定是否可以在不移除文档的内容的情况下,修改文档以消除在文档的格式和与打印机的能力兼容的格式之间的不兼容性,如果是,则进行所确定的修改并且将修改后的文档传送至打印机;以及如果文档不是与打印机的能力兼容的格式并且不能在不改变文档的内容的情况下被修改为与打印机的能力兼容,则处理该文档以生成用于表示文档的与打印机兼容的打印指令,并且将所生成的指令传送至打印机。
在一些实施例中,打印引擎还可以包括可操作来识别与要打印的文档相关联的文件扩展名的内容识别器,其中内容编排器包括各自与不同的文件类型相关联的多个内容编排器,其中打印引擎可操作来基于内容识别器所识别的文件类型来选择用于处理要处理的文档的内容编排器。
在一些实施例中,打印引擎还可以包括多个打印机驱动程序,打印机驱动程序可操作来将处理后的文档转换成特定打印机语言的打印指令。打印引擎可以被配置为基于发现模块所识别的打印机的能力来确定多个打印机驱动程序中的任一打印机驱动程序是否可操作来生成与打印机兼容的打印指令,并基于所述确定来选择打印机驱动程序以生成打印指令,其中,如果打印引擎确定与所确定的打印器的能力兼容的打印指令不能由打印引擎生成,则打印引擎可操作来发送文档以在远程服务器上处理。
附图说明
现在将参考附图说明本发明的实施例,在附图中:
图1示出用于从包括根据本发明实施例的打印引擎的移动装置来进行打印的系统的概观;
图2是图1的打印引擎的示意框图;
图3是图1的打印引擎所进行的处理的流程图;
图4是详细描述示例性打印机的能力的xml文件的一部分的示例;
图5A和5B示出了示例性打印机的字体替换;以及
图6A和6B是将图像分解成多个构成部分以便于不透明度合并和α通道数据替换的示例。
具体实施方式
图1是这样的通信系统,其设置了诸如蜂窝移动电话的移动装置1,该移动装置1使得用户能使打印机2打印出存储在移动装置1的存储器中或存储在远程服务器4的存储器中的文档3。除了存储文档3以外,移动装置1的存储器还存储许多应用5。这些应用5为移动装置1提供包括例如因特网浏览、发送和接收电子邮件、WiFi/WLAN(以下称为WiFi)连接和蓝牙连接的标准能力。在该实施例中,移动装置1被配置为访问通信网络6,通信网络6包括因特网协议(IP)网络7,该因特网协议(IP)网络7具有连接到其上的用于打印文档的打印机2。
为了促成文档3的打印,打印引擎8应用被存储在移动装置1的存储器中。如将要描述的,打印引擎8利用详细描述要用于打印文档3的打印机2的能力的所发现的数据9来确定文档3的内容与打印机2的功能性兼容的程度,以及在必要情况下修改文档3的被发现与所选择打印机2的功能性不兼容的方面。
在本实施例中,通信网络6包括天线塔10、因特网11以及连接到因特网11的一个或多个装置,包括打印机2、网关服务器12、其他计算机13和远程服务器4。移动装置1可以经由天线塔10通信链接至因特网11或其他移动装置(在图1中未示出)以打电话或交换数据。可选地,移动装置1可以经由网络接入点4通信链接至IP网络7。
在图1所示的系统中,IP网络7已经连接到了多个个人计算机(PC)12、打印机2和网关服务器12,连接到IP网络7的装置可以经由网关服务器12连接到因特网11。由此,在使用中,移动装置1可以经由IP网络7或经由天线塔10通信地链接至远程服务器4。移动装置11还可以直接经由蓝牙通信地链接至附近的(一般在10米内)装置,例如打印机2。
当用户希望打印文档3时,打印引擎8首先判断文档3是否已经是打印机2可以利用的形式,如果是,则打印引擎8将未修改的文档传输至打印机2来进行打印。
如果打印引擎8判断文档3不是打印机2可以利用的形式,则打印引擎8之后判断文档3的微小修改是否能使得文档能打印。这样的微小修改可以涉及删除或替换文档3的某些部分以消除在所识别的正在利用的打印机2的能力和要打印的文档3的内容之间的不一致性。如果判断为可以通过进行微小修改而将文档渲染得与打印机2兼容,则处理文档3以消除不兼容性,并且打印引擎8将文档的稍微修改版本发送至打印机2来进行打印。
典型处理可以涉及例如识别文档3中使用的字体并且在打印机2不支持这些字体的情况下将字体替换为类似的字体。其他例子可以涉及在数据部分(例如用于表示文档所定义的图像的微小版本的缩略图数据)被识别为不被所选择的打印机2理解的情况下,删除所述数据。另一示例是在打印机2被判断为不能解释α混合(alpha blend)数据的情况下,从图像移除所述数据。
如果文档3不是与所选择打印机2兼容的格式并且判断为对文档3进行微小修改不能解决不兼容性,则打印引擎8将文档3转换成打印机2可理解的语言的打印指令,并且将这些指令发送至打印机2。
以所述方式检查打印机2的能力和文档3的内容的兼容性便于以减少移动装置1所需的处理的方式进行打印并且在没有过多网络流量的情况下使得文档3能够被打印。
更具体地,如果打印机2可以被识别为具有打印特定格式的文档3的能力,则在不进行任何修改的情况下将所述文档3发送至打印机2避免了移动装置1进行任何重要处理的需要。然而,通常,文档3可能是不完全与打印机2的已知能力兼容的格式。由此,例如,打印机2的能力数据9可能标识打印机2能够处理某一版本的pdf文件。如果文档3被判断为具有不同版本类型的pdf文档,则可能是以下情况,即将文档3的未修改版本发送至打印机2将使得打印机2不能正确地打印。然而,通常是以下情况:包括在文档格式的新版本中的附加数据实际上不存在于文档内,或者不与文档3的打印相关。通过移除所述数据或者可选地识别为所述附加数据不存在,文档3可以被制作为或识别为适于发送至打印机,而无需移动装置1将文档3转换成一组打印指令。
除了在不将文档3转换成一组打印指令的情况下使得文档3能够被打印以外,所述处理还可以减少需要被发送至打印机2的数据量。由此,例如,在打印机2不能进行α混合或者打印机被识别为未安装某些字体的情况下,修改文档以消除打印机进行α混合或利用未安装字体的需要,这可以使得文档3直接与打印机2兼容,并且同时减小要被发送至打印机2的文档3的大小。
现在将参考图2和3更详细地说明打印引擎8的结构和功能,图2和3是打印引擎8的示意框图和打印引擎8所进行的处理的流程图。
参考图2,在本实施例中,打印引擎8包括用于接收要打印的文档3的输入缓冲器20和可操作来分析输入缓冲器20中存储的数据以识别所存储的文档的文档类型的内容识别器22。典型的文档格式可以是
Figure BDA00003063401700081
文档、pdf文档、html文档、txt文档和jpeg文档。在所述文档格式的情况下,可以通过文档的文件扩展名(例如,.doc、.pdf、.html、.txt、.jpg等)来识别要打印的文档的类型。
除了输入缓冲器20和内容识别器22以外,打印引擎8还包括一组内容编排器24a-24e、直接图形转换模块25、保留图形转换模块27和处理后数据缓冲器30。
如之后将说明的,一旦内容识别器22已经将要打印的文档3识别为是特定类型,则选择内容编排器24a-24e来处理文档。所选择的内容编排器24a-24e之后分析文档3的内容以确定为了将文档3转换成适于生成所选择打印机2打印文档的打印指令的形式所需的处理的最小量。如所述,针对整个文档3作为整体并且针对文档3的单独部分进行该分析。根据分析,文档的整体或部分直接被传送至处理后数据缓冲器30,或者可选地经由直接图形转换模块25或保留图形转换模块27传送,直接图形转换模块25或保留图形转换模块27在文档存储在处理后数据缓冲器30中之前处理文档的部分。
更具体地,在文档3的一部分可以使用最少处理被转换成适于打印的形式的情况下,文档的一部分被传送至直接图形转换模块25,以将文档的该部分转换成合适的可打印形式。
由此,例如,在文档的一部分包括打印机2上预先安装的字体的要打印的文本的情况下,直接图形转换模块25可以通过复制要打印的文本并且附加识别要利用的字体的合适标签来处理文档的该部分。相比之下,如果编排器24a-24e识别出文档的一部分需要详细处理,例如,文档的与需要α混合的图像相对应的部分,则该部分将被传送至保留图形转换模块27,保留图形转换模块27将通过例如转换进行栅格化的图像、颜色匹配和半色调等来处理文档的该部分以生成合适的打印指令。
为了所选择的内容编排器24a-24e能够适当地处理文档,打印引擎8必须知道用于打印文档3的打印机2的能力。为了获得这种信息,打印引擎8包括用于执行发现操作的打印机发现模块32和用于存储识别所发现的打印机2的能力的所发现能力数据35-1…35-n的发现数据存储器34。所述所发现能力数据35-1…35-n将针对各个所发现打印机2识别以下:其最大打印分辨率;其是否支持双面打印、彩色打印和草稿打印等;可以渲染的文件类型(如果有的话);合适的打印机驱动程序的标识;其是否是IPP打印机;其是否可操作来通过电子邮件接收打印作业;任何所安装字体的标识等。其他打印机能力对于本领域技术人员来说是显而易见的。
适当地使用直接图形转换模块25和保留图形转换模块27处理了文档3的部分之后,使用一组打印机驱动程序37-1…37-e中的一个将表示存储在处理后数据缓冲器30中的文档的数据转换成打印作业,以发送至打印机2。
在本实施例中,这些打印机驱动程序包括:postscript打印机驱动程序37-a、PCL6打印机驱动程序37-b、PCL5e/c打印机驱动程序37-c、栅格化驱动程序37-d以及一个或多个客户打印机驱动程序37-e。这些打印机驱动程序37-a…37-e包括通用打印机驱动程序,用于以各种通常的格式来生成打印作业数据。提供这样一组打印机驱动程序使得打印引擎8能够与大多数打印机2通信。在需要支持特定打印机类型的情况下,可以存储附加的定制打印机驱动程序37-e。
然后,所生成的打印作业在被发送至所选择打印机2来用于打印之前被存储在输出缓冲器40中。在本实施例中,输出缓冲器40内的数据被转换成适于由与在移动装置1上可用的各种数据传输选项中的每一个相对应的多个端口驱动程序42-a…42-e中的一个来传输的形式。在本实施例中,这些端口驱动程序包括用于转换打印作业以分别经由USB、WiFi、蓝牙和电子邮件来传输的USB驱动程序42-a、WiFi端口驱动程序42-b、蓝牙驱动程序42-c和电子邮件端口驱动程序42-d。
另外,还提供通过代理驱动程序42-e的打印。如上所述,提供一组通用打印机驱动程序37-a...37-e使得打印引擎能够针对大多数打印机生成打印指令。然而,存在由发现模块32所识别的特定打印机可能不被支持的可能性。考虑到这种可能性,在打印机2的所发现的能力35表示打印引擎8不能生成由打印机2使用的打印作业的情况下,打印引擎8被配置来将文档转移至单独的服务器来用于单独的处理。
现在将参考图3说明打印引擎8的处理,图3是打印引擎8所进行的处理的流程图。
作为最初步骤(s1),打印机发现模块32执行打印机发现操作以识别打印机2的可用性、状态和能力,其中,移动装置1可以将文档3发送至该打印机2来打印。以传统方式进行打印机发现操作,即打印机发现模块经由端口驱动程序42-a~42-d发出发现请求以确定多少打印机2位于移动装置1附近。当发现请求被打印机2接收到时,打印机2通过向移动装置1通知其存在来响应。作为打印机发现操作的一部分,打印机发现模块32还请求并获得定义可用打印机2的能力的数据。
能力数据35-1~35-n被存储在发现数据存储器34中。如之前所述,该能力数据识别所发现打印机的可用功能性并且包括识别例如与特定打印机兼容的通用打印机驱动程序的数据和诸如打印机2是否能够直接处理某些文件类型的其他数据、以及打印机2的功能性的其他细节(例如安装在打印机2上的字体的细节)。
图4是详细描述示例性打印机的能力的xml文件的一部分的示例。如在图4中所示,可以从打印机获得的数据通常包括型号名称、制造商标识(Id)和硬件标识,它们识别特定打印机类型。该数据之后是如下数据:识别打印机是否可以支持双面打印和纸张整理以及打印机能够打印的副本的最大数量的数据、以及定义可用的打印分辨率和打印机所理解的打印语言的数据。
由此,例如,在图4的示例中示出了用于Hewlett-Packard(惠普)HPOffice Jet Pro8000的数据。在该打印机的情况下,打印机能够进行双面打印并整理页,打印机具有三种打印分辨率,并且打印机能够理解PCL3和Postscript打印机语言。
除了从打印机3直接获得的特定能力数据以外,在一些实施例中,可以从所获得的数据得到或推断打印机的某些能力。由此,例如,在从打印机3接收到型号名称或硬件标识的情况下,可以通过在数据库中查找所识别的型号的能力来推断打印机的某些能力。可选地,打印机理解的打印机语言可以被用于例如识别由特定打印机支持的字体。由此,例如,在Postscript打印机的情况下,字体被分组为用于特定Postscript级的标准字体,例如,标准Postscript1、2、3级字体。通过识别出打印机在特定级被支持,可以推断打印机具有使用相关组中包括的字体来打印的能力。
在能力数据35-1...35-n被存储在发现数据存储器34中之后,用户选择文档3来打印。更具体地,打印引擎8使得要生成的用户接口使用户能够选择要打印的文档3。文档3可以是存储在移动装置1的存储器内的文档或可选地是被下载至移动装置1的存储器中的存储在远程服务器3上的文档。要打印的文档3之后被存储(s2)在打印引擎8的输入缓冲器20中。
除了生成使得用户能够识别要打印的文档的用户接口以外,打印引擎8还生成使得用户识别要用于打印文档的打印机2并输入用于打印文档3的任何编排指令的用户接口。使用能力数据35-1...35-n中存储的数据来生成用户接口,该能力数据35-1...35-n识别可用打印机2和这些打印机以特定方式(例如,单面打印、双面打印、彩色打印等)进行打印的能力。
将文档3存储在输入缓冲器20中之后,内容识别器22选择(s2)内容编排器24a…24e来分析文档的内容以生成用于打印的指令。更具体地,在本实施例中,针对打印引擎能够处理的每个文档类型来提供内容编排器24a…24e。内容识别器之后基于输入缓冲器中的文档3的文件扩展名来将文档类型分配给要打印的文档,并选择与文档类型相关联的内容编排器24a…24e。由此,例如,如果要处理的文档3是
Figure BDA00003063401700121
文档,则文档3具有文件扩展名.doc,并且内容识别器22将选择.doc编排器来处理文档。
内容识别器22对内容类型的识别使得内容识别器22能够选择适当的内容编排器24a…24e来处理要打印的文档。文档类型还向内容编排器通知文档3内的数据的句法和版面设计。
由此,例如,如果文档被判断为html文档,则不仅使得html编排器24c被使用来分析和处理文档3,而且该识别表示文档以与html的句法兼容的方式来编排。这意味着,在随后处理中,所选择的内容编排器24a-24e能够处理和分析文档3以识别文档或文档3的部分是否需要另外的处理以被选择打印机2打印。
另一示例是以包含多个对象和内容流的文件结构的形式定义的pdf文档。根据pdf句法,pdf文档被配置为包含用于表示文档的对象。这些对象包括例如页面、字体、注释等。此外,pdf句法描述例如如何以文件级别对文件加密以保护文档内容不被未授权访问。句法的理解随后使得文档的不同部分能够被分析并且根据需要被修改。
另一示例是png图像。根据png规范,png文件由签名和之后的一系列块组成。利用结构的预定义理解,png文件中包括的各种成分可以被识别并且根据需要被修改。
选择了用于处理文档3的内容编排器24a…24e之后,所选择的内容编排器24a…24e之后分析要打印的文档和要利用的打印机2的能力数据35-1...35-n以确定如何处理文档3以生成适用于打印机2的打印指令。
作为最初步骤,所选择的内容编排器24a…24e首先分析(s4)文档3以判断是否进行任何处理或者是否应该在没有任何处理的情况下将文档3直接传送至处理后数据缓冲器30。该分析通过以下来实现:内容编排器24a…24e利用能力数据35-1...35-n来确定所选择打印机可以处理的打印指令的类型,然后分析文档来查看文档3是否已经与打印机2的需求兼容。
由此,例如,所选择打印机2的能力数据35-1...35-n可能表示打印机能够打印jpeg文件。如果是这样并且内容识别器22已经识别出考虑的文档是jpeg文件,则这表示不需要任何处理,并且未处理的文档3之后(s5)被直接传送至输出缓冲器40,文档3与识别所选择打印机2的数据和用于打印文档3的任何一般编排指令一起来作为打印作业传输。
更复杂的例子是所选择打印机2的能力数据35-1...35-n表示例如考虑的打印机2能够打印某些文件(例如与pdf标准的特定版本号兼容的pdf文件)。假定内容识别器22判断出要打印的文档是pdf文档,则将调用pdf编排器24b。然后,pdf编排器24b分析文档以判断输入缓冲器中的文档3是否与打印机2的能力兼容。这可能是因为考虑的文档是作为与所识别的标准或之前兼容的标准兼容的文档来生成的。可选地,pdf编排器24b可能识别出文档的元数据表示文档是使用较晚的标准来创建的。如果这样,pdf编排器24b之后将更详细地分析文档以确定是否使用较晚的标准创建的文档仍然与之前的标准全部兼容,并且因此能够与识别所选择打印机2的数据和用于打印文档3的任何一般编排指令一起被直接传送(s5)至输出缓冲器30。
除了分析输入缓冲器20中的文档以判断是否处理文档以外,所选择的内容编排器24a-24e还将比较由发现数据存储器34中的能力数据35-1...35-n识别的所选择打印机2的能力以检查所选择打印机2是否能够理解由作为打印引擎8的一部分设置的打印机驱动程序37-a...37-e中的至少一个生成的指令。
如上所述,可以选择打印机驱动程序37-a...37-e以使得打印引擎8能够生成用于大多数打印机2的指令。然而,如果内容编排器24a-24e判断文档不能以未修改的形式被直接传送至打印机2并且打印机驱动程序37-a...37-e都不能生成与打印机2兼容的打印作业,则生成合适指令的仅有方式是通过外部远程处理。在该情况下,将未修改的文档与识别所选择打印机2的数据和用于打印文档3的任何一般编排指令一起再次传送(s5)至输出缓冲器40。
如果所选择的内容编排器24a...24e判断要打印的文档3不适于立即被传送至打印机2,则内容编排器24a...24e之后(s6)判断文档是否可以被修改为使得其可以在不经过实质处理的情况下被发送来打印。更具体地,在该阶段,分析文档的内容编排器24a...24e确定所选择的打印机2不具有打印当前形式的文档3的所需能力。然而,对文档3的微小修改可能使得文档3变得与所选择打印机2的能力兼容。
如果所选择的内容编排器24a...24e判断(s6)微小修改将使得打印机2能够打印文档2,则内容编排器24a...24e(s7)修改文档3的这些部分并且之后经由用户接口将修改后的文档和任何全局编排指令发送至输出缓冲器40作为打印作业传输。
由此,例如,在pdf文档与某一标准兼容并且打印机能够打印不同标准的pdf文档,已经确定文档3确实与打印机3不兼容的情况下,pdf编排器24b将分析文档3的仅与较高标准兼容的部分并且判断这些部分是否可以以与打印机2可理解的标准兼容的方式重新表达。
处理的另一例子是能力数据35-1...35-n表示某一字体预先安装在打印机2上并且处理的文档是文本文档的情况。在该情况下,.txt编排器24e可以识别出可以通过修改文档以表示考虑的文本应该以所选择的预先安装的字体打印来生成适于由所选择打印机2打印的文档。这仅涉及将适当标签添加至要打印的文本的部分以识别以所选择的字体来打印该文本。
这样的处理的另一例子在图5A和5B中示出。
图5A示例性示出了具有在原始文档中以三种不同字体出现的三个部分50、52、54的文档。在示例中,这三种字体是Arial、Calibri和Stencil。在诸如
Figure BDA00003063401700141
的文字处理应用中,字体的改变通常在特定字体类型在文档的一部分的开始和结束由标签或标记识别。由此例如,在图5A的图的情况下,Arial标签将出现在第一部分的文本50的开始和结束,Calibri标签将出现在第二部分的文本52的开始和结束,以及Stencil标签将出现在第三部分的文本53的开始和结束。这样的标签通常不对用户显示,而是由文字处理应用利用来记录字体类型的改变。
为了打印诸如图5A所示的文档的文档,定义文档中出现的字体的glyph形状和glyph度量的字体数据必须对于打印机2可用。然而,通常,文字处理应用将仅通过外表或名称来识别字体,并且一般不将定义glyph形状和glyph度量的glyph数据嵌入文档3本身中。当使用移动装置1打印时,由于移动装置1具有用于存储字体数据的有限存储容量,这可能导致问题。附加地将所述glyph数据包括在打印作业中增大了需要被发送至打印机2的数据量。
图5B示例性示出了由不支持Calibri或Stencil字体的打印机2渲染的图5A的文档。当分析文档3时,文档3中存在的标签将指示原始文档3中出现的字体。这些可以与所选择打印机2可以确定支持的字体的列表进行比较。如果不支持特定字体,可能妨碍文档被打印。然而,识别到不兼容的字体之后,可以将不兼容的字体标签替换为可用的最优等价字体。
由此例如,在图5B的文档的情况下,假定所选择打印机可以支持Arial和Times New Roman的打印。因此,Calibri和Stencil的不兼容标签被替换为替换代表字体的字体标签,从而将文档渲染成与所选择打印机兼容的形式。尽管图5B中最终文档的整体外观与原始文档轻微不同,但文档的原始内容没有省略。
另一示例是jpeg图像的处理。jpeg图像文件通常包括在打印机上再现图像所不需要的元数据,例如用于缩略图、颜色配置、图片信息和渐进编码的数据。在一些情况下,如果打印机上的PDL编译器不能理解应当忽略这种附加的元数据,这种附加的元数据可能导致该PDL编译器出错。在基于所选择打印机的识别的情况下,判断这样的问题可能发生,可以从文件和图像文件中移除该元数据,而不将元数据传送至打印机。由此,附加元数据的移除使得原始图像数据与打印机的能力兼容,而不影响图像文件的内容。除了促成打印机的处理以外,从文件识别和删除元数据还具有另外的优点:该处理将减小文件的整体大小,因此需要较少的代价将图像发送至所选择打印机2来打印。
另一示例是处理文档以移除使得图像与不透明度的特定水平相关联的α通道信息,以使得在下面图像仍然清晰可见的情况下,将一个图像渲染在另一图像上。
图6A示例性示出星形60和五边形62,其中,星形60的一部分64被示出为与五边形62重叠。在图示中,重叠区域64被示出为分别渲染星形60和五边形62的混合。
当由定义α通道的数据表示时,图像中的每个对象与定义对象的透明度的α值和定义对象的颜色的颜色数据相关联。由此例如,假定星形60和五边形62分别被表示为淡红色和淡蓝色,则星形60可以与Red(红色)=255、Green(绿色)=0、Blue(蓝色)=0的RGB颜色数据以及0.5的α混合值相关联,五边形62可以与Red=0、Green=0、Blue=255的RGB颜色数据以及0.5的α混合值相关联。
一些页面描述语言不具有α能力(例如,Postscript、PCL、XL等)。然而,例如png图像文件的图像文件经常使用α通道数据来表示图像文件。移除这种不兼容性的一种方法是处理α通道数据以基于每个对象针对白色背景被渲染的假定来改正RGB颜色数据。
由此例如,在图6A的图像的情况下,星形60和五边形62的RGB颜色数据和α混合数据被分别转换成表示淡红色(Red=255,Green=128,Blue=128)和淡蓝色(Red=128,Green=128,Blue=255)的RGB数据。在所述转换中,通过确定使用α混合数据加权的原始颜色数据和表示假定白色背景的颜色数据(Red=255,Green=255,Blue=255)的加权和来确定修改后的颜色数据。由此例如,在星形60的情况下,在该示例中,表示淡红色的RGB数据(Red=255,Green=128,Blue=128)被确定为一半原始颜色数据(Red=255,Green=0,Blue=0)和一半表示白色背景的颜色数据(Red=255,Green=255,Blue=255)的加权和。
在许多情况下,这种方法充分简化图像并且能够打印不兼容的文档。然而,单独的这种处理可以将微小误差引入文档中,诸如在重叠区域64的情况下,假定对象被渲染在白色背景上不一定是合适的,因为根据星形60和五边形62被渲染的顺序,该区域既可以以与星形60相同的颜色出现,也可以以与五边形62相同的颜色出现。
为了避免产生的这种误差,在一些实施例中,涉及α通道数据的复杂图像可以被分解成其组成部分,诸如图6B所示,其中,图6A的图像被分解成三个形状:尖端丢失的星形66、移除了三角部分的五边形68和三角形的交叠面70。然后,可以使用原始图像成分60、62的α混合数据和颜色数据来处理这些形状中每个形状的RGB数据。在以上示例的情况下,这将使得丢失尖端的星形66、移除了三角部分的五边形68变得分别与表示淡红色(Red=255,Green=128,Blue=128)和淡蓝色(Red=128,Green=128,Blue=255)的颜色数据相关联,并且三角形部分变得与两者的混合(Red=192,Green=64,Blue=192)相关联。
返回图3,在该阶段,打印引擎8分析要打印的文档3并判断为:
1)打印引擎8具有生成所选择打印机2可理解的形式的打印指令的能力;以及
2)要打印的文档3不具有可以直接发送至所选择打印机2来被打印机2本身处理的格式。
在该情况下,内容编排器24a-24e之后(s8)选择文档的第一部分来处理。内容编排器24a-24e之后判断(s9)文档3的单独部分是否可以在未转换成特定打印指令的情况下由所选择打印机2打印,并且如果是这样,则文档3的该部分的数据在未被修改的情况下直接被传送(s10)至处理后数据缓冲器30。
由此例如,html编排器24b可能识别为文档3的特定部分与例如jpeg图像相对应,并且由发现数据存储器34中的能力数据35-1...35-n识别的所选择打印机的所发现能力表示所述图像可以直接由打印机3打印。
如果判断文档的一部分不能在没有任何处理的情况下被打印,则内容编排器24a...24e之后判断(s11)该部分的简单修改是否可以使该部分在没有附加后续处理的情况下被打印。也就是说,内容编排器24a...24e判断处理的部分是否可以通过增加一个或多个格式指令而被转换成打印机可理解。
如果是这种情况,则文档的该部分的数据被传送(s12)至直接图形转换模块25,直接图形转换模块25对该文档的原始数据进行所需修改,然后将修改后的数据传送至处理后数据缓冲器30。
由此例如,在内容编排器24a...24e将文档的一部分识别为文本并且所选择打印机2的能力数据表示打印文本所需的字体已经被安装在打印机2上的情况下,内容编排器24a...24e可以通过复制表示文本的数据并且附加识别用于打印的字体的标签来将要打印的文本的部分转换成适于打印的形式。
如果内容编排器24a...24e判断文档的当前部分不能以微小方式被修改以生成用于打印的指令,则将文档的所选择部分传送(s13)至保留图形转换模块27来处理。这通常在以下情况中发生:文档的一部分与更复杂的图像相对应,例如文档的一部分需要α混合,或者更一般地文档的一部分与所选择打印机2不能处理所识别的图像格式的图像相对应。当将文档的一部分传送至保留图形转换模块27时,进行例如栅格化、半色调和颜色匹配等以将文档3的该部分转换成适于生成打印指令的形式。当已经进行了该处理,数据被传送至处理后数据缓冲器30。
当内容编排器24a...24e已经处理了文档3的特定部分,内容编排器24a...24e检查(s14)是否到达文档的最后部分。如果没有,则选择文档3的下一部分来处理(s15)并且内容编排器24a...24e之后确定(s9-s13)对文档的该部分的适当处理并且将处理后的数据传送至处理后数据缓冲器30。
当已经处理了文档3的最后部分,打印引擎8然后(s16)选择打印机驱动程序37a...37e以将处理后数据缓冲器中的数据转换成所选择打印机2可理解的形式。这通过打印引擎8考虑打印机的所发现能力数据35-1...35-n以确定所选择打印机理解的打印语言来实现。所选择打印机驱动程序37a...37e之后(s17)处理所述处理后数据缓冲器30中的数据和定义打印作业的全局编排(诸如打印份数、双面和单面打印等)的任何输入数据,并且生成与打印机驱动程序37a...37e相关联的格式和句法的打印作业。然后将所生成的打印作业存储在输出缓冲器40中。
当打印作业被存储在输出缓冲器40中时,打印引擎8然后选择(s18)用于该打印作业的数据传输格式。换言之,打印引擎8确定打印引擎能够与所选择的打印机2进行通信的方式。通常的通信格式取决于移动装置1连接到所选择的打印机2的方式,但是可以包括USB、WiFi、蓝牙和电子邮件。
确定了期望通信格式之后,打印引擎8检查(s19)是否可以进行与所选择打印机2的通信。也就是说,打印引擎8检查是否可以使用所选择的通信格式将数据传送至所选择打印机2。如果不可以,则打印机2等待直到可以进行通信为止。以这种方式检查是否可以通信意味着即使打印机2当前不在移动装置1的通信范围内,用户也能够选择要用于输出的该打印机2。由此例如,当用户在家时,用户可以选择打印出工作时的文档。通过检查并延迟打印指令的传输,用户可以推迟打印指令的选择和传输直到用户进入所识别工作打印机2的范围内为止,此时可能是用户能够访问打印机2并拾取输出硬拷贝的时候。
当判断为可以访问打印机2时,打印机驱动程序8调用与所选择格式相关联的端口驱动程序42a...42d。所选择端口驱动程序42a...42d之后将所生成的打印作业转换(s20)成用于使用所选择端口传输的数据,并且之后将打印作业传输至所选择打印机2来打印。
因为打印机2不能理解原始文档3的文档格式并且打印引擎8不包括与打印机2兼容的打印机驱动程序37a...37e,所以打印引擎8判断为不能生成用于所选择打印机2的指令,在该情况下,打印引擎将未处理的文档和任何全局打印编排指令直接传送至输出缓冲器40,以传送至远程服务器来进行远程处理。在本实施例中,这通过以与其他端口驱动程序42a...42d类似的方式调用的“通过代理的打印”模块42e来实现。
尽管在上述实施例中描述了利用文档的文件扩展名来识别要打印的文档的结构和内容的系统,但应该理解,可以使用其他方法。更具体地,文档的内容本身可以被直接分析来确定文档的结构和句法以用于随后的处理。这种方法具有以下优点:即使与文档相关联的文件扩展名不正确或者被损坏,也可以确定文档的结构和句法。在一些实施例中,文档的结构和句法可以通过分析来判断并且之后利用与文档相关联的文件扩展名来确认,反之亦然。
在上述实施例中,描述了打印机发现模块32直接从打印机2获得能力数据35-1;...;35-n的系统。使得能够获得所述数据的这种传统发现操作的例子是用于网络打印的mDNS(多播域名系统)、SSDP(简单服务发现协议)和WSD。在所述实施例中,使用诸如SNMP(简单网络管理协议)等的传统协议直接从打印机2获得数据。
在一些实施例中,不从打印机2直接获得能力数据35-1;...;35-n,而是可选地,从打印机2仅获得表示打印机2的标识的数据,例如打印机型号和打印机类型。打印引擎8之后可以访问表示该类型的打印机的相关能力的能力数据的存储数据库。这种方法的优点是即使打印机的相关能力数据不由打印机直接通过发现操作来提供,也提供获得所述信息的方式。另外地,具有将打印机类型与能力数据相关联的数据的特定存储提供了可以控制这种数据的精确度的方式,因为申请人判断直接从打印机接收到的能力数据经常可能是不准确的或过期的。适当的数据库可以作为移动装置1上的打印引擎8的一部分或可选地作为远程服务器4上的单独数据库来提供。
尽管在上述实施例中,包含α通道数据的文档的处理被描述为在打印机2不能处理α通道数据时发生,但是在一些实施例中,即使打印机2具有处理文档3的一些能力,也可能需要进行这种不透明度合并以将α通道数据替换为修改的颜色数据。特别地,在文档可以被分析为确定其包含应用至多个图像成分的复杂α通道数据的情况下,处理这种文档可能过分使用一些打印装置的存储容量。这可能导致差的性能或者最坏情况下的渲染失败。通过预先识别打印机的能力,可以对所述情况是否可能发生进行确定,如果是,在图像的处理可能过分利用所选择打印装置的情况下,打印装置可以被当作缺乏进行处理的能力,并且文档可以通过移动装置来预处理以移除潜在的不兼容性。
尽管在上述实施例中,打印引擎8被描述为能够处理五种文档类型(
Figure BDA00003063401700201
文档、pdf文档、html文档、txt文档和jpeg文档),但是应该理解,可以提供其他内容编排器24a-24e。由此例如,除了上述以外,可以提供内容编排器24a-24e以解释和处理例如诸如Open
Figure BDA00003063401700202
XML文档的其他文字处理格式、诸如
Figure BDA00003063401700203
或Open XML电子表格的电子表格格式、以及诸如
Figure BDA00003063401700204
or Open Office报告的报告格式。除了jpeg图像以外,还可以提供编排器以处理诸如png、tiff和gif图像的其他普通图像格式。
类似地,转换器可以提供来处理经常在移动装置上发现的其他数据类型,例如rfc822电子邮件消息、V卡或安卓联系人以及日历条目,以使得能够打印这种数据。在这种数据的情况下,通常某一种类的文本数据被嵌入在较大的数据文件中。当处理这种数据时,编排器可以被配置以提取文档中包括的文本数据并且将所提取的文本合并在包含其他数据的模板中。
由此例如,在电子邮件消息的情况下,电子邮件的“发件人”、“收件人”、“发送”、“主题”和“信息”栏的文本数据可以被提取并且之后通过与编排数据合并来处理,编排数据以特定方式将所提取数据设置在页上。这种处理可以包括在所提取的数据项的前面添加合适的头,例如“发件人:”、“收件人:”、“发送:”等。在一些实施例中,打印引擎8可以被配置为基于移动装置1上的诸如装置的默认语言的其他设置来确定要利用的头。由此,例如,在移动装置1被设置为利用例如德语或日语作为语言的情况下,附加的头可以被替换为该语言的等价文本。
尽管在上述实施例中描述了打印引擎8被安装在诸如蜂窝电话或便携式计算机或PDA等的移动装置1上的系统,但是应该理解,所述打印引擎8可以被安装在诸如通常在固定地点使用的台式计算机的计算机上。在本实施例中,在计算机不具有用于特定打印机类型的所安装的特定打印驱动程序的情况下,所述系统可以给计算机提供便利来在打印机2上打印文档。
在详细所述的实施例中,移动装置1被描述为将打印数据直接提供至打印机2,或者在使用“通过代理的打印”的情况下间接提供至打印机2。应该理解,在打印机2和计算机经由网络连接的情况下,更复杂的路由成为可能。由此例如,在一些实施例中,移动装置1不与打印机2直接通信,而是可以经由中间计算机与打印机2通信。
在这样的实施例中,打印引擎8不获得与打印机2的能力有关的数据,而是可以确定打印机2和中间计算机的结合能力的能力。在本实施例中,如果例如因为中间计算机安装有Abode Acrobat
Figure BDA00003063401700211
并且中间计算机也具有用于生成特定打印机2的打印指令的打印机驱动程序,而使得该中间计算机具有处理pdf文档的能力,则因为安装在中间计算机上的应用的结合便于处理pdf文档并且将所述文档转换成打印机2的打印指令,所以打印引擎8可以获得或得到表示所连接的打印机2能够处理pdf文档的信息。
在一些实施例中,与打印机的间接通信可以通过云打印服务而实现。在这样的服务中,打印机或计算机连接到注册到云打印服务的打印机。当用户希望使用云打印服务从移动装置1打印时,移动装置1经由云打印服务获得与所注册的打印机的能力有关的信息。当打印作业已经被编排,打印数据通过用于云打印服务的端口驱动程序而被编排,这使得将打印作业传送至所选择的打印机。
在一些实施例中,可能的是,移动装置1能够以许多不同方式(例如直接经由蓝牙连接、或者间接经由服务器或某一其他网络连接)与特定打印机通信。如果移动装置能够确定多个路由可用于将数据发送至打印机2,则可以在传送数据时确定优选路由。可以基于编排打印作业的数据并经由不同路由将数据发送至打印机所需的花费来选择优选路由。由此例如,如果对于移动装置1明显的是所选择打印机2可以经由有线和无线连接使用,则移动装置1可以被配置为优选使用有线连接。在这种实施例中,可以从打印机获得某一类型的识别器以便于识别作为至同一机器的路由的不同路由的存在。
尽管参考附图说明的本发明的实施例包括计算机设备和在计算机设备中进行的处理,但本发明还扩展至适于实施本发明的计算机程序,特别是在载体上或中的计算机程序。程序可以是源代码或目标代码的形式或者是适于在实施根据本发明的处理中使用的任何其他形式。载体可以是能够承载程序的任何实体或装置。
例如,载体可以包括存储介质,诸如ROM(例如CD ROM或半导体ROM)或磁记录介质(例如软盘或硬盘)。此外,载体可以是可传送载体,诸如可以经由电缆或光缆或者通过无线电或其他方式传送的电或光信号。
当程序在可以直接通过电缆或其他装置或部件传送的信号中实现时,载体可以由所述电缆或者其他装置或部件构成。
可选地,载体可以是嵌入程序的集成电路,集成电路适于执行相关处理或在相关处理的执行中使用。

Claims (24)

1.一种生成用于打印机的打印作业的方法,该方法包括:
确定打印机的能力,其中,要为该打印机生成打印作业,并且其中,所述能力定义所述打印机能够打印的文件和指令格式;以及
以如下方式来预处理定义了要生成打印作业的数据的文档:
分析所述文档以确定所述文档是否是与所述打印机的能力兼容的格式,并且如果是,则将未处理的文档传送至所述打印机;
如果所述文档不是与所述打印机的能力兼容的格式,则确定是否能够在不移除所述文档的内容的情况下,修改所述文档以消除在所述文档的格式和与所述打印机的能力兼容的格式之间的不兼容性,如果是,则进行所确定的修改并且将处理后的文档传送至所述打印机;以及
如果所述文档不是与所述打印机的能力兼容的格式并且不能在不改变所述文档的内容的情况下被修改为与所述打印机的能力兼容,则处理所述文档以生成用于表示所述文档的与所述打印机兼容的打印指令,并且将所生成的指令传送至所述打印机。
2.根据权利要求1所述的方法,其中确定打印机的能力包括:
执行发现操作以识别一个或多个可用打印机;以及
获得定义被发现为可用的打印机的能力的能力数据。
3.根据权利要求2所述的方法,其中获得所述能力数据包括:
利用在所述发现操作期间所获得的数据来识别可用的打印机的类型;以及访问将打印机类型与能力数据相关联的数据库。
4.根据权利要求2所述的方法,其中所述能力数据包括定义以下任意一者的数据:所述打印机所理解的打印机语言、所述打印机能理解的文档格式、所述打印机能理解的文档格式版本、双面打印能力、整理能力、所支持的纸张尺寸、所支持的打印机输出介质、介质路径信息、输入托盘、输出托盘和安装在所述打印机上的字体数据。
5.根据权利要求4所述的方法,其中所述打印机语言包括从包括以下的组中选择的任何语言:PostScript、打印机命令语言、爱普生打印机标准代码、精细打印命令串、理光打印机驱动语言、XML文件规范、ZJ串、佳能打印系统语言、施乐脱离程序和XHTML-打印。
6.根据权利要求4所述的方法,其中所述文档格式包括从包括以下的组中选择的一个或多个文档格式:Word文档格式、Open Office文字处理格式、Excel格式、Open Office电子表格格式、Power Point格式、OpenOffice报告格式、jpeg格式、png格式、tiff格式、gif格式、电子邮件消息格式、v卡联系人格式、安卓联系人格式、日历条目格式、pdf格式、html格式和文本格式。
7.根据权利要求2所述的方法,其中分析所述文档以确定所述数据是否是与所述打印机的能力兼容的格式包括:
识别与要打印的文档相关联的文件扩展名以确定所述文档的格式并且将所识别的格式与识别与所述打印机兼容的文件格式的所述打印机的能力数据进行比较。
8.根据权利要求7所述的方法,其中分析所述文档以确定所述数据是否是与所述打印机的能力兼容的格式包括:
利用与文档相关联的文件扩展名来确定要处理的文档的结构和句法;
使用所确定的结构和句法来分析所述文档以确定所述文档是否与由所述能力数据识别为与要利用来打印所述文档的打印机兼容的格式版本兼容;以及
如果所述文档不与由所述能力数据识别的格式版本兼容,则分析所述文档的不与所识别的格式版本兼容的部分并且将所述文档的不兼容部分替换为与由所述能力数据识别的格式版本兼容的数据,其中,所述数据的替换不改变由所述打印机打印的文档的内容。
9.根据权利要求8所述的方法,还包括:
如果所述文档不与所述打印机的能力数据兼容,则使用所确定的结构和句法来分析所述文档以确定所述文档的与所述打印机的能力数据兼容的部分,并且在不经过附加处理的情况下传送与所述文档的被识别为与所述打印机的能力兼容的部分相对应的数据。
10.根据权利要求8所述的方法,还包括:
如果所述文档不与所述打印机的能力数据兼容,则使用所确定的结构和句法来分析所述文档以确定所述文档的与被识别为与所述打印机的能力数据兼容的格式的图像相对应的部分,并且在不经过附加处理的情况下传送与所述文档的被识别为与所述打印机的能力兼容的部分相对应的数据。
11.根据权利要求8所述的方法,还包括:
如果所述文档不与所述打印机的能力数据兼容,则使用所确定的结构和句法来分析所述文档以确定所述文档的与被识别为与所述打印机的能力数据兼容的格式的文本相对应的部分,并且在不经过附加处理的情况下传送与所述文档的被识别为与所述打印机的能力兼容的部分相对应的数据。
12.根据权利要求11所述的方法,还包括:
基于指示安装在用于打印所述文档的打印机上的字体的能力数据来选择用于打印所述文档的被识别为文本的部分的字体。
13.根据任一前述权利要求所述的方法,还包括:
如果所述文档不是被识别为与所述打印机兼容的格式并且如果所述文档不能被处理成与所述打印机兼容,则:
识别与所述打印机兼容的打印机语言;
基于所识别的打印机语言来选择打印机驱动程序以将预处理的文档转换成打印指令;
使用所选择的打印机驱动程序来转换所述预处理的文档,从而以所选择的打印机语言生成打印指令;以及
输出所生成的打印指令。
14.根据权利要求1所述的方法,其中处理所述文档以生成用于表示所述文档的与所述打印机兼容的打印指令包括确定与所确定的打印机的能力兼容的打印指令是否能够在本地生成,如果不能,则发送所述文档以在远程服务器上处理。
15.一种打印引擎,包括:
发现模块,其能够操作来确定打印机的能力,其中,要为该打印机生成打印作业,并且其中,所述能力定义所述打印机能够打印的文件和指令格式;以及
内容编排器,其能够操作来通过以下方式来处理定义了要生成打印作业的数据的文档:
分析所述文档以确定所述文档是否是与所述打印机的能力兼容的格式,并且如果是,则将未处理的文档传送至所述打印机;
如果所述文档不是与所述打印机的能力兼容的格式,则确定是否能够在不移除所述文档的内容的情况下,修改所述文档以消除在所述文档的格式和与所述打印机的能力兼容的格式之间的不兼容性,如果是,则进行所确定的修改并且将处理后的文档传送至所述打印机;以及
如果所述文档不是与所述打印机的能力兼容的格式并且不能在不改变所述文档的内容的情况下被修改为与所述打印机的能力兼容,则处理所述文档以生成用于表示所述文档的与所述打印机兼容的打印指令,并且将所生成的指令传送至所述打印机。
16.根据权利要求15所述的打印引擎,还包括内容识别器,其能够操作来识别与要打印的文档相关联的文件扩展名,其中所述内容编排器包括各自与不同的文件类型相关联的多个内容编排器,其中所述打印引擎能够操作来基于所述内容识别器所识别的文件类型来选择用于处理要处理的文档的内容编排器。
17.根据权利要求15所述的打印引擎,其中,所述多个内容编排器中的每一个被配置为处理具有与该内容编排器相关联的文件类型的文档并且分析所述文档以确定所述文档是否与由所述能力数据识别为与要利用来打印所述文档的打印机兼容的格式版本兼容;如果所述文档不与由所述能力数据识别的格式版本兼容,则分析所述文档的不与所识别的格式版本兼容的部分并且将所述文档的不兼容部分替换为与由所述能力数据识别的格式版本兼容的数据,其中,所述数据的替换不改变由所述打印机打印的文档的内容。
18.根据权利要求17所述的打印引擎,其中,所述多个内容编排器中的每一个能够操作来:如果所述文档不与所述打印机的能力数据兼容,则分析与所述内容编排器相关联的文件类型的文档以确定所述文档的与所述打印机的能力数据兼容的部分,并且在不经过附加处理的情况下传送与所述文档的被识别为与所述打印机的能力兼容的部分相对应的数据。
19.根据权利要求18所述的打印引擎,其中,所述多个内容编排器中的每一个能够操作来:如果所述文档不与所述打印机的能力数据兼容,则确定所述文档的与被识别为与所述打印机的能力数据兼容的格式的图像相对应的部分,并且在不经过附加处理的情况下传送与所述文档的被识别为与所述打印机的能力兼容的部分相对应的数据。
20.根据权利要求18所述的打印引擎,其中,所述多个内容编排器中的每一个能够操作来:如果所述文档不与所述打印机的能力数据兼容,则确定所述文档的与被识别为与所述打印机的能力数据兼容的格式的文本相对应的部分,并且在不经过附加处理的情况下传送与所述文档的被识别为与所述打印机的能力兼容的部分相对应的数据。
21.根据权利要求15所述的打印引擎,其中,所述内容编排器能够操作来基于指示安装在用于打印所述文档的打印机上的字体的能力数据来选择用于打印所述文档的被识别为文本的部分的字体。
22.根据权利要求15所述的打印引擎,还包括多个打印机驱动程序,其能够操作来将处理后的文档转换成特定打印机语言的打印指令。
23.根据权利要求22所述的打印引擎,其中,所述打印引擎能够操作来基于所述发现模块所识别的打印机的能力来确定所述多个打印机驱动程序中的任一个是否能够操作来生成与所述打印机兼容的打印指令,并且基于所述确定来选择打印机驱动程序以生成打印指令,其中,如果所述打印引擎确定与所确定的打印机的能力兼容的打印指令不能由所述打印引擎生成,则所述打印引擎能够操作来发送所述文档以在远程服务器上处理。
24.一种存储计算机可解释指令的计算机可读介质,所述计算机可解释指令在被可编程计算机解释时使得所述计算机:
确定打印机的能力,其中,要为该打印机生成打印作业,并且其中,所述能力定义所述打印机能够打印的文件和指令格式;以及
以如下方式来预处理定义了要生成打印作业的数据的文档:
分析所述文档以确定所述文档是否是与所述打印机的能力兼容的格式,并且如果是,则将未处理的文档传送至所述打印机;
如果所述文档不是与所述打印机的能力兼容的格式,则确定是否能够在不移除所述文档的内容的情况下,修改所述文档以消除在所述文档的格式和与所述打印机的能力兼容的格式之间的不兼容性,如果是,则进行所确定的修改并且将处理后的文档传送至所述打印机;以及
如果所述文档不是与所述打印机的能力兼容的格式并且不能在不改变所述文档的内容的情况下被修改为与所述打印机的能力兼容,则处理所述文档以生成用于表示所述文档的与所述打印机兼容的打印指令,并且将所生成的指令传送至所述打印机。
CN201180050170.5A 2010-08-19 2011-08-19 打印应用 Expired - Fee Related CN103168288B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1013902.0 2010-08-19
GB1013902.0A GB2482903A (en) 2010-08-19 2010-08-19 A print engine
PCT/GB2011/001243 WO2012022944A1 (en) 2010-08-19 2011-08-19 Print application

Publications (2)

Publication Number Publication Date
CN103168288A true CN103168288A (zh) 2013-06-19
CN103168288B CN103168288B (zh) 2015-09-02

Family

ID=42984365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180050170.5A Expired - Fee Related CN103168288B (zh) 2010-08-19 2011-08-19 打印应用

Country Status (5)

Country Link
US (1) US20130155464A1 (zh)
KR (1) KR20130099947A (zh)
CN (1) CN103168288B (zh)
GB (1) GB2482903A (zh)
WO (1) WO2012022944A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391664A (zh) * 2014-10-31 2015-03-04 金陵科技学院 一种实现打印机与打印服务器跨网段通信的自助打印系统
CN104423897A (zh) * 2013-08-22 2015-03-18 北大方正集团有限公司 可扩展印刷文件预处理系统
CN104571969A (zh) * 2013-10-23 2015-04-29 北大方正集团有限公司 打印处理方法、装置及系统
CN107168658A (zh) * 2016-03-08 2017-09-15 佳能株式会社 打印装置及其控制方法
CN107943437A (zh) * 2017-12-06 2018-04-20 高新现代智能系统股份有限公司 兼容多种打印机的打印方法、装置及存储介质
CN108292200A (zh) * 2015-11-25 2018-07-17 佳能株式会社 信息处理装置、信息处理装置的控制方法和存储介质
CN108762699A (zh) * 2018-05-29 2018-11-06 安徽天斯努信息技术股份有限公司 一种云打印用文件格式校正确认系统
CN109254740A (zh) * 2018-08-31 2019-01-22 北京京东尚科信息技术有限公司 打印方法、系统和电子设备

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875351B2 (ja) * 2011-12-01 2016-03-02 キヤノン株式会社 情報処理システム、情報処理装置、認証方法、及びコンピュータプログラム
US20130282859A1 (en) * 2012-04-20 2013-10-24 Benefitfocus.Com, Inc. System and method for enabling the styling and adornment of multiple, disparate web pages through remote method calls
JP2014007697A (ja) * 2012-06-27 2014-01-16 Oki Data Corp 画像形成装置及び画像形成システム
CN103902236A (zh) * 2012-12-24 2014-07-02 北大方正集团有限公司 打印服务的实现方法和系统
JP6253234B2 (ja) * 2013-01-21 2017-12-27 スター精密株式会社 データ送信システムおよびデータ送信用プログラム
JP6044392B2 (ja) * 2013-02-28 2016-12-14 ブラザー工業株式会社 端末装置及び機能実行装置
CN104023198A (zh) * 2013-02-28 2014-09-03 株式会社理光 通信管理系统、通信终端、以及通信方法
JP6351405B2 (ja) * 2013-12-16 2018-07-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US9383952B1 (en) * 2015-03-18 2016-07-05 Xerox Corporation Systems and methods for overriding a print ticket when printing from a mobile device
US10803229B2 (en) * 2015-07-16 2020-10-13 Thinxtream Technologies Pte. Ltd. Hybrid system and method for data and file conversion across computing devices and platforms
JP7121660B2 (ja) * 2016-06-01 2022-08-18 エピザイム,インコーポレイティド 癌を処置するためのezh2阻害剤の使用
US10652403B2 (en) 2017-01-10 2020-05-12 Datamax-O'neil Corporation Printer script autocorrect
JP7282507B2 (ja) * 2018-11-30 2023-05-29 キヤノン株式会社 情報処理装置、サーバ装置、制御方法、制御プログラム
EP3686730B1 (en) * 2019-01-23 2024-05-01 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and storage medium
US11157475B1 (en) * 2019-04-26 2021-10-26 Bank Of America Corporation Generating machine learning models for understanding sentence context
WO2020254692A1 (en) 2019-06-21 2020-12-24 Esko Software Bvba System and method for object-annotated trapping

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591310A (zh) * 2003-08-01 2005-03-09 奥西-技术有限公司 在客户机上对要打印的文档数据进行观察的方法和设备
JP2005518574A (ja) * 2001-06-18 2005-06-23 ヒューレット・パッカード・カンパニー ウォークアッププリントシステムおよびその方法
US20080158581A1 (en) * 2006-12-29 2008-07-03 Andrew Rodney Ferlitsch Direct print handling of native and non-native data formats

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188246B2 (en) * 2001-03-20 2007-03-06 Koninklijke Philips Electronics N.V. System for adding electronic signature to a report associated with an image file
US7375837B2 (en) * 2003-03-25 2008-05-20 Sharp Laboratories Of America, Inc. User-definable print-option conversion for heterogeneous cluster printing
US20050068564A1 (en) * 2003-09-30 2005-03-31 Ferlitsch Andrew R. Systems and methods for providing interactive printing with job data pull
US7440132B2 (en) * 2004-05-03 2008-10-21 Microsoft Corporation Systems and methods for handling a file with complex elements
US9189192B2 (en) * 2007-03-20 2015-11-17 Ricoh Company, Ltd. Driverless printing system, apparatus and method
US20090086259A1 (en) * 2007-06-21 2009-04-02 Global Graphics Software Limited Method and system for providing backward compatibility for a new version of a page description language
EP2075685B1 (en) * 2007-12-28 2017-02-22 Canon Europa N.V. A print-job distribution program, a printer program and corresponding methods
GB0902819D0 (en) * 2009-02-20 2009-04-08 Software 2000 Ltd Method and apparatus for printing from a mobile device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518574A (ja) * 2001-06-18 2005-06-23 ヒューレット・パッカード・カンパニー ウォークアッププリントシステムおよびその方法
CN1591310A (zh) * 2003-08-01 2005-03-09 奥西-技术有限公司 在客户机上对要打印的文档数据进行观察的方法和设备
US20080158581A1 (en) * 2006-12-29 2008-07-03 Andrew Rodney Ferlitsch Direct print handling of native and non-native data formats

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423897A (zh) * 2013-08-22 2015-03-18 北大方正集团有限公司 可扩展印刷文件预处理系统
CN104423897B (zh) * 2013-08-22 2018-05-18 北大方正集团有限公司 可扩展印刷文件预处理系统
CN104571969A (zh) * 2013-10-23 2015-04-29 北大方正集团有限公司 打印处理方法、装置及系统
CN104391664A (zh) * 2014-10-31 2015-03-04 金陵科技学院 一种实现打印机与打印服务器跨网段通信的自助打印系统
CN104391664B (zh) * 2014-10-31 2017-07-25 南京韵奇盈信息技术有限公司 一种实现打印机与打印服务器跨网段通信的自助打印系统
CN108292200A (zh) * 2015-11-25 2018-07-17 佳能株式会社 信息处理装置、信息处理装置的控制方法和存储介质
CN107168658A (zh) * 2016-03-08 2017-09-15 佳能株式会社 打印装置及其控制方法
CN107943437A (zh) * 2017-12-06 2018-04-20 高新现代智能系统股份有限公司 兼容多种打印机的打印方法、装置及存储介质
CN108762699A (zh) * 2018-05-29 2018-11-06 安徽天斯努信息技术股份有限公司 一种云打印用文件格式校正确认系统
CN109254740A (zh) * 2018-08-31 2019-01-22 北京京东尚科信息技术有限公司 打印方法、系统和电子设备

Also Published As

Publication number Publication date
WO2012022944A1 (en) 2012-02-23
GB2482903A (en) 2012-02-22
GB201013902D0 (en) 2010-10-06
CN103168288B (zh) 2015-09-02
US20130155464A1 (en) 2013-06-20
KR20130099947A (ko) 2013-09-06

Similar Documents

Publication Publication Date Title
CN103168288B (zh) 打印应用
US8860978B2 (en) Information processing apparatus and control method thereof
US8804163B2 (en) Information processing apparatus, print controlling method, program, and computer-readable storage medium
US8390867B2 (en) Form generation system and form generation method
US20060092467A1 (en) Print job workflow system
US20090015864A1 (en) Image-processing apparatus and image-processing method
US8542374B2 (en) Printing system and method therefor, program for implementing the method, and storage medium storing the program
US8379253B2 (en) Structured document conversion apparatus, structured document conversion method, and storage medium
CN103186355A (zh) 打印控制装置及打印控制方法
US20030227640A1 (en) Universal printing system
US20080091636A1 (en) Empty job detection for direct print
US8823970B2 (en) PS to PDF conversion with embedded job ticketing preservation
US6968150B2 (en) Systems and methods for adding post-collation operations and interleaved imaging jobs to an imaging job
US8081338B2 (en) Form processing apparatus and method
US20070038667A1 (en) Information processing method and apparatus
US20140055813A1 (en) Apparatus and method of forming an image, terminal and method of controlling printing, and computer-readable recording medium
US20050094172A1 (en) Linking font resources in a printing system
US20030038958A1 (en) Method and apparatus for determining font types to be downloaded to digital printers
US20080313201A1 (en) System and method for compact representation of multiple markup data pages of electronic document data
US7532769B2 (en) Image processing device, image processing method and image processing program
US8490109B2 (en) Printing control apparatus, printing control method, and computer-readable storage medium storing computer program
US20120044508A1 (en) E-book device, method and computer-readable medium printing contents thereof
US11928171B2 (en) Providing shortened URL and information related contents corresponding to original URL
US9875069B2 (en) Information processing apparatus, image processing apparatus, image forming apparatus and storage medium
JP4861841B2 (ja) 印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラム、文書データ生成サーバ、文書データ生成方法、文書データ生成プログラム及び印刷データ生成システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150902