CN108804053A - 信息处理装置和存储介质 - Google Patents

信息处理装置和存储介质 Download PDF

Info

Publication number
CN108804053A
CN108804053A CN201810400892.2A CN201810400892A CN108804053A CN 108804053 A CN108804053 A CN 108804053A CN 201810400892 A CN201810400892 A CN 201810400892A CN 108804053 A CN108804053 A CN 108804053A
Authority
CN
China
Prior art keywords
attribute
rendering order
text
type
document
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
CN201810400892.2A
Other languages
English (en)
Other versions
CN108804053B (zh
Inventor
河原聪史
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN108804053A publication Critical patent/CN108804053A/zh
Application granted granted Critical
Publication of CN108804053B publication Critical patent/CN108804053B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40062Discrimination between different image types, e.g. two-tone, continuous tone
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common 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/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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a client
    • 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/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00095Systems or arrangements for the transmission of the picture signal
    • H04N1/00114Systems or arrangements for the transmission of the picture signal with transmission of additional information signals
    • H04N1/00122Systems or arrangements for the transmission of the picture signal with transmission of additional information signals of text or character information only

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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

本发明提供信息处理装置和存储介质。该装置执行驱动程序,所述驱动程序基于由转换模块转换的预定类型的绘制数据生成预定格式的电子文档,其中,转换模块将构成文档的绘制数据的绘制命令当中的、针对满足预定条件的具有文本属性的对象的绘制命令,转换为具有非文本属性的绘制命令,并将均与该对象相关的文本信息和类型转换后的绘制命令传送给驱动程序;并且在接收到文本信息和类型转换后的绘制命令的情况下,驱动程序基于接收到的文本信息生成所述预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示属性被转换为类型转换后的绘制命令的非文本属性的对象。

Description

信息处理装置和存储介质
技术领域
本发明涉及文档格式的转换技术。
背景技术
传统上,已知通过利用打印机驱动器来转换文档格式的技术。例如,存在将任意格式的文档数据转换为PDF(便携式文档格式)格式的文档数据的打印机驱动器(以下称为“PDF转换驱动器”)。PDF转换驱动器可以通过进行与商业表单创建或文档管理的应用中的打印操作相同的操作,来产生作为PDF数据的输出。
在微软公司的Windows(注册商标)OS的打印***中,作为图形引擎,使用GDI(图形驱动器接口)。传统的使用GDI的打印处理流程被称为GDI打印路径。在GDI打印路径中,由调用GDI的服务功能组的应用发出的GDI类型的绘制命令,被版本3打印机驱动器(在下文中称为“V3驱动器”)转换成PDL数据,并被输出到打印装置。PDL数据是以可以由打印装置解释的页面描述语言描述的数据。然后,在Windows 8(注册商标)之后,向其添加被称为XPS打印路径的新打印处理流程。XPS是基于XML的电子文档格式,XPS是XML Paper Specification的缩写。在XPS打印路径中,在应用中生成XPS类型的绘制数据,并且,绘制数据被版本4打印机驱动器(以下称为“V4驱动器”)转换为PDL数据,并被输出到打印装置。
GDI打印路径和XPS打印路径不是排他关系,例如,可以将由使用GDI的应用生成的GDI类型的绘制数据转换为XPS类型,并由V4驱动器将绘制数据转换为PDL数据。此时,从GDI类型到XPS类型的转换由称为MXDC(Microsoft XPS文档转换器)的转换模块进行。
在由MXDC将GDI类型转换为XPS类型时,存在文本对象被替换为路径对象或图像对象的情况。这里,文本对象是指具有由字体信息和字符代码指定的文本属性的对象。路径对象是指具有由路径坐标值和绘制方法指定的路径属性的对象,并且图像对象是指具有由各个像素的大小和颜色信息指定的图像属性的对象。用路径对象或图像对象(下文中的非文本对象)替换文本对象意味着,将利用应用侧的文本属性指定的绘制内容发送给V4驱动器,作为具有路径(图形)属性或图像属性的绘制。这种替换可能发生在用于绘制文本对象的字体是禁止嵌入到电子文档中的禁嵌字体(embedding-prohibited font)的情况下。在XPS类型中,字体的嵌入被指定为其格式,但是不可能嵌入禁嵌字体。因此,将使用禁嵌字体的文本对象转换为路径对象或图像对象。已知的是,在为文本对象指定诸如透射率的修饰(decoration)的情况下,也发生用户不期望的这种对象属性的替换。
然后,在例如通过作为V4驱动器的PDF转换驱动器生成PDF数据时发生上述替换的情况下,出现这样的问题:不再能够将该部分搜索为文本,并且图像质量下降。
因此,本发明的目的是,即使在通过MXDC将对象属性从文本属性改变为非文本属性的情况下也防止出现上述问题。具体地,使得V4驱动器可以生成给出如下指令的PDL数据(或PDF数据):利用文本属性来绘制由MXDC生成的转换后的XPS类型的绘制数据中的、属性原本是文本属性的对象部分。
发明内容
根据本发明的信息处理装置是如下信息处理装置,其具有:转换单元,其被构造为接收响应于输出文档的指令而从应用输出的文档的绘制数据,将构成文档的绘制数据的绘制命令的类型转换为预定类型,并将类型转换后的绘制命令传送给打印机驱动器;以及打印机驱动器,其基于从转换单元接收到的类型转换后的绘制命令,生成预定格式的电子文档,并且转换单元将构成文档的绘制数据的绘制命令当中的、针对满足预定条件的具有文本属性的对象的绘制命令,转换为具有非文本属性的绘制命令,并转换单元将均与该对象相关的文本信息和类型转换后的绘制命令传送给打印机驱动器,并且打印机驱动器基于所接收到的类型转换后的绘制命令和文本信息生成所述预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示属性被改变为非文本属性的对象。
根据下面参照附图对示例性实施例的描述,本发明的另外的特征将变得清楚。
附图说明
图1是示出打印***中的PC的硬件构造的示例的框图;
图2是示出与使用V4驱动器的文档格式的转换处理相关的软件构造的示例的图;
图3是示出作为格式转换目标的文档的示例的图;
图4A是示出由传统MXDC转换的绘制数据的数据结构的示例的图,图4B是示出由根据第一实施例的MXDC转换的绘制数据的数据结构的示例的图;
图5是示出根据第一实施例的MXDC的转换处理的流程的流程图;
图6是示出根据第一实施例的生成PDF命令的处理流程的流程图;
图7是示出根据第二实施例的应用中进行的绘制命令的发出处理的流程的流程图;
图8是示出使用PNG作为图像格式的元图像的数据结构的图;
图9是示出存储元数据的封装形式的示例的图;以及
图10是示出根据第二实施例的在V4驱动器中生成PDF命令的处理流程的流程图。
具体实施方式
在下文中,参照附图,根据优选实施例详细解释本发明。以下实施例中所示的构造仅仅是示例性的,并且本发明不限于示意性示出的构造。
[第一实施例]
图1是示出包括PC和打印机的打印***中的PC的硬件构造的示例的框图。PC 10包括控制器100、输入设备110、显示器120和外部存储器130。控制器100包括CPU 101、RAM102、ROM 103、网络I/F 105、输入I/F 106、显示I/F 107和外部存储器I/F 108,并且各个单元经由***总线104彼此连接。
控制器100集中地控制作为信息处理装置的PC 10。CPU 101根据存储在RAM 102中的程序控制连接到***总线104的各个单元。RAM 102还用作CPU 101的主存储器、工作区等。ROM 103存储各种程序和数据,并且通过划分为三个部分来构成:存储各种字体的字体ROM 103a;存储引导程序、BIOS等的程序ROM 103b;以及存储各种数据的数据ROM 103c。网络I/F 105是经由LAN 30与诸如打印机20等的外部设备进行通信处理的接口。输入I/F 106是接收使用诸如键盘和指向设备(鼠标)等的输入设备110的用户输入的接口。显示I/F 107是控制显示器120的显示处理的接口。外部存储器I/F 108是对诸如HDD和SSD等的外部存储器130进行访问控制的接口。在外部存储器130中,存储操作***(OS)和负责打印处理的各种软件,并且还存储各种数据,例如用户文件和编辑文件。在本实施例中,假定使用Microsoft Windows作为OS。
图2是示出与在PC 10中使用V4驱动器的文档格式的转换处理相关的软件构造(计算机程序构造)的示例的图。应用201是供用户创建文档并给出打印指令和转换成PDF格式的指令(以下称为“输出指令”)的软件。在用户给出输出指令的情况下,应用201通过利用GDI针对特定文档生成GDI类型的绘制数据。所生成的GDI类型的绘制数据被发送到MXDC202。MXDC 202是用于将接收到的GDI类型的绘制数据转换为XPS类型并将绘制数据发送到V4驱动器203的转换模块。V4驱动器203是用于根据遵循被称为XPS打印过滤器管道(以下称为“过滤器管道”)的编程模型的输出指令来生成PDL数据或PDF数据的软件。过滤器管道210中的打印处理的单位被称为过滤器,并且单个或多个过滤器被过滤器管道210依次链接和执行。也就是说,机制如下:使得某个过滤器的输出是下一个链接的过滤器的输入,并且,通过各过滤器依次进行处理,来生成作为最终输出物的PDL数据或PDF数据。
在本实施例中,以作为V4驱动器203的PDF转换驱动器为例进行解释。然后,假定过滤器管道210由单个渲染过滤器211组成,该单个渲染过滤器211从XPS类型的绘制数据生成PDF数据。在渲染过滤器211中,分析从MXDC 202输入的XPS类型的绘制命令,并且在根据需要对各个对象进行诸如放大、缩小和旋转等的图像处理之后进行稍后描述的转换处理,从而生成PDF数据。由渲染过滤器211生成的PDF数据经由端口监视器204保存在外部存储器130中。如上所述,在本说明书中,以作为V4驱动器的PDF转换驱动器为例进行解释,但是,不用说,其应用范围不限于PDF转换驱动器。也就是说,本发明还被广泛地应用于V4驱动器,该V4驱动器根据来自应用201的输出指令生成预定格式的电子文档(例如,PDL数据)并将该电子文档输出到打印装置。
这里,回顾了本发明的问题。图3示出了作为格式转换为PDF格式的目标的文档的示例。在由应用201生成的文档300中,存在其字体不同的两种文本对象,即,文本对象301和文本对象302。文本对象301包括字符串“embedding-permitted font text”,并且使用作为一种允嵌字体的“Hiragino”。文本对象302包括字符串“embedding-prohibited fonttext”,并且使用作为一种禁嵌字体的“MS-mincho”。禁嵌字体被定义为附有禁嵌属性的字体。这意味着字体文件中包括的字形信息不许嵌入到电子文档内。也就是说,用不同的话来说,禁嵌字体可以是作为非嵌入字体(除了字形信息)而需要存储在绘制数据内的字体。与此相反,允嵌字体(embedding-permitted font)被定义为未附有禁嵌属性的字体(字形信息可被存储在绘制数据中)。
在OpenType字体的情况下,作为与嵌入相关的信息,可以设置“禁止嵌入”、“可以显示和打印”、“可以编辑”和“可以安装”的标志。在本说明书中,设置了“禁止嵌入”标志的OpenType字体被处理为“禁嵌字体”。然后,设置“可以显示和打印”、“可以编辑”和“可以安装”中的一个标志的OpenType字体被处理为“允嵌字体”。
在图3中的示例的情况下,文本对象301和302分别作为绘制目标对象输入到MXDC202。如上所述,在文本对象中使用禁嵌字体的情况下,不可能将包括在字体文件内的字形信息嵌入到绘制数据中。然而,由于XPS的规格,必须将包括字形信息的字体文件嵌入到绘制数据中。因此,在MXDC 202中,在将从应用201接收到的绘制数据从GDI类型转换为XPS类型时,使用禁嵌字体的文本对象被改变为图像对象或路径对象。
图4A示出了图3所示的文档300的绘制数据的数据结构,其在传统的MXDC中被转换为XPS类型。在图4A中,由符号401指示的部分对应于文本对象301,在该文本对象301中使用了允嵌字体,并且XPS类型的绘制命令用不被改变的文本属性表示。另一方面,由符号402指示的部分对应于文本对象302,在该文本对象302中使用禁嵌字体,并且XPS类型的绘制命令用从文本属性改变的路径属性表示。如上所述,在传统MXDC中,使用禁嵌字体的文本对象被改变为属性不同于文本属性的对象。
<MXDC中的转换处理>
接着上文,解释在本实施例的MXDC 202中进行的用于应对上述问题的转换处理。图5是示出根据本实施例的MXDC 202中的转换处理的流程的流程图。这一系列处理以构成处理目标文档的页面为单位进行。以下,沿着图5的流程给出详细解释。
在步骤S501处,获取从应用201接收到的与一页相对应的GDI类型的绘制数据。然后,在随后的步骤S502处,根据所获取的与一页相对应的绘制数据来确定作为处理目标的关注对象。
在步骤S503处,通过参照与关注对象相关的绘制命令来确定关注对象的属性是否是文本属性。在属性确定的结果指示文本属性的情况下,处理前进到步骤S504。另一方面,在属性不同于文本属性的情况下,处理前进到步骤S508。
在步骤S504处,确定具有文本属性的关注对象是否为属性需要改变为路径属性或图像属性的对象。在本实施例中,在确定属性需要改变的情况下的预定条件被定义为,在文本对象中指定的字体文件是禁嵌字体的情况、或者针对该对象指定诸如透射率等的修饰的情况。在确定结果指示需要改变属性的情况下,处理前进到步骤S505。在不需要改变属性的情况下,处理前进到步骤S508。
在步骤S505处,生成描述作为关注对象的文本对象的细节(文本信息)的元数据。在该元数据中,例如,除了字体名称、字体大小、绘制坐标位置和字符代码之外,还包括指示指定禁嵌字体或者指定诸如透射率等的修饰的信息(例如,标志)。然后,在随后的步骤S506中,将与关注对象相关的GDI类型的绘制命令转换为具有非文本属性的绘制命令。也就是说,关注对象的属性从文本属性改变为路径属性或图像属性。然后,在步骤S507处,生成给出绘制属性已被改变的关注对象的指令的XPS类型的绘制命令。在此时的XPS类型的绘制命令中,包括在步骤S505生成的元数据。
在步骤S508处,在关注对象的属性不是文本属性或者不需要改变属性的情况下,与关注对象相关的GDI类型的绘制命令根据属性被转换为XPS类型的绘制命令。
在步骤S509处,将在步骤S507或步骤S508处生成的XPS类型的绘制命令发送到渲染过滤器211。然后,在步骤S510处,确定在步骤S501处获取的与一页相对应的绘制数据内是否存在未处理的对象。在存在未处理的对象的情况下,处理返回到步骤S502,并且确定下一关注对象并继续处理。另一方面,在所有对象的处理已经完成的情况下,该处理终止。
图4B示出了图3所示的文档300的绘制数据的数据结构,其在本实施例的MXDC 202中被转换为XPS类型。在图4B中,由符号401表示的部分与图4A中的相同,并且,用文本属性来表示与指定允嵌字体的文本对象301相对应的XPS类型的绘制命令。由符号403表示的部分对应于其中指定了禁嵌字体的文本对象302。由符号403表示的部分与图4A中的相同之处在于,XPS类型的绘制命令的属性从文本属性被改变为路径属性,但已知元数据404被进一步添加。然后,在元数据404中,作为指示属性是文本属性的信息,例如,存储诸如指示字体名称是MS-mincho的“Font name='MS-mincho'”的信息。
以上是在本实施例的MXDC 202中进行的转换处理的内容。通过诸如此类的转换处理,GDI类型的绘制数据以页为单位被转换为XPS类型的绘制数据。
<在打印机驱动器中生成PDL/PDF命令的处理>
接着上文,解释如下处理:在作为V4驱动器203的PDF转换驱动器中,针对通过上述转换处理而生成的XPS类型的绘制数据,生成PDF命令。图6是示出根据本实施例的生成PDF命令的处理的流程的流程图。以MXDC 202中生成的XPS类型的绘制命令组作为输入,在渲染过滤器211中以页面为单位进行该系列处理。以下,沿着图6的流程给出详细解释。
在步骤S601处,获取从MXDC 202接收到的与一页相对应的XPS类型的绘制数据。然后,在随后的步骤S602处,根据所获取的与一页相对应的绘制数据来确定作为处理目标的关注对象。
在步骤S603处,通过参照与关注对象相关的绘制命令来确定关注对象的属性是否是除文本属性以外的属性(这里,确定属性是否对应于路径属性和图像属性中的一者)。在属性确定的结果指示路径属性或图像属性的情况下,处理前进到步骤S604。另一方面,在文本属性的情况下,处理前进到步骤S606。
在步骤S604处,确定元数据是否被包括在与关注对象相关的绘制命令中。可以通过检查在与关注对象相关的绘制命令内是否存在“元数据”标记405来确定绘制命令中是否包括元数据(参见先前描述的图4B)。在包括元数据的情况下,处理前进到步骤S605,并且在不包括元数据的情况下,处理前进到步骤S606。
在步骤S605处,基于元数据的信息,生成针对文本的PDF命令。如前所述,在元数据中,包括生成针对文本的PDF命令所需的信息(字体名称、字体大小、绘制坐标位置、字符代码等),因此,通过使用该信息,生成针对文本的PDF命令。
另一方面,在步骤S606处,在关注对象的属性既不是路径属性也不是图像属性的情况下,或者在属性是路径属性和图像属性中的一者但是元数据不存在的情况下,生成根据关注对象的属性的PDF命令。
在步骤S607处,将在步骤S605或步骤S606处生成的PDF命令发送到端口监视器204。然后,在步骤S608处,确定在步骤S601处获取的与一页相对应的绘制数据内是否存在未处理的对象。在存在未处理的对象的情况下,处理返回到步骤S602,并且确定下一关注对象并继续处理。另一方面,在所有对象的处理完成的情况下,该处理终止。然后,在处理目标文档的所有页的处理完成的情况下,包括所生成的PDF命令组的PDF数据由端口监视器204保存在外部存储器130中。
如上所述,根据本实施例,即使在通过MXDC中的GDI-XPS转换将对象的属性从文本属性改变为非文本属性的情况下,也可以在V4驱动器中将对象识别为具有文本属性的对象。因此,V4驱动器可以生成将对象表示为具有文本属性的对象的PDL数据(在PDF转换驱动器的情况下为PDF数据)。
[第二实施例]
在第一实施例中,为了应对文本对象被无意地用路径或图像对象替换的问题,在MXDC中的向XPS的转换时,描述关于文本的信息的元数据被存储在绘制命令内。然后,通过分析渲染过滤器中的元数据,已被改变为路径对象或图像对象的原本具有文本属性的对象,被重新转换为具有文本属性的对象,并因此生成PDL数据(或PDF数据)。接下来,解释作为第二实施例的方面,其中,通过按原样保留MXDC中的转换,在发出GDI类型的绘制命令的应用和V4驱动器侧应对问题,来获得与第一实施例相同的效果。与第一实施例公共的部分(图2所示的PC 10的软件构造等)的解释被省略,并且在下文中,主要解释作为本实施例的特征的、应用中的绘制命令的发出以及V4驱动器中的格式转换。
<应用中的绘制命令发出处理>
图7是示出根据本实施例的在应用201中进行的绘制命令发出处理的流程的流程图。这一系列处理以构成处理目标文档的页面为单位进行。以下,沿着图7的流程给出详细解释。
在步骤S701处,确定页面内的绘制目标对象。在接下来的步骤S702处,确定所确定的绘制目标对象的属性是否是文本属性。在属性确定的结果指示文本属性的情况下,处理前进到步骤S703。另一方面,在属性不同于文本属性的情况下,处理前进到步骤S707。
在步骤S703处,确定绘制目标对象是否为属性需要从文本属性改变为路径属性或图像属性的对象。在本实施例中,在文本对象的字体文件中指定的字体是禁嵌字体的情况下,或者在针对对象指定诸如透射率等的修饰的情况下,确定该属性需要被改变。在确定结果指示需要改变属性的情况下,处理前进到步骤S704。在不需要改变属性的情况下,处理前进到步骤S707。
在步骤S704处,生成指示绘制目标对象是文本对象的元数据。在该元数据中,除了字体名称、字体大小、绘制坐标位置和字符代码之外,还包括指示指定禁嵌字体或者指定诸如透射率等的修饰的信息(例如,标志)。在接下来的步骤S705中,基于所生成的元数据,生成用除文本属性以外的属性表示的对象数据。在本实施例中,作为其中生成具有被称为“元图像”的图像属性的对象数据的示例解释此情况。这里,元图像意味着将元数据作为任意数据保存在图像格式的扩展区域中的图像数据。在本实施例中,作为元图像的图像格式,使用PNG,但是,例如,可以使用定义了扩展区域的其他图像格式,例如JPEG。图8是示出使用PNG作为图像格式的元图像的数据结构的图。PNG的图像格式包括8字节的文件标题和称为块(chunk)的多个数据块。各个块包括块大小(4字节)、块种类(4字节)、数据部分(任意长度)和CRC(4字节),并且可以存储与图像相关的各种信息。块被进一步分为两种块:不可缺少的块和辅助块。有四种不可缺少的块:“IHDR”、“PLTE”、“IDAT”和“IEND”。辅助块可以被任意定义,并且是否解释辅助块取决于程序的规格。作为被广泛用作辅助块的块,存在指定ICC配置文件或伽马校正值的块。在本实施例中,定义称为“naNo”的独有辅助块,并且可以将元数据存储为任意数据。此时,元数据的信息被暂时以其他封装形式存储并被存储在“naNo”块中。图9是示出存储元数据的封装形式的示例的图。为了从应用向打印机驱动器发送任意数据,必须将任意数据与识别信息相关联,使得接收侧的打印机驱动器可以识别该种数据。因此,可变长度的封装形式被定义并存储在“naNo”块中。如图9所示,封装形式包括标题(6字节)、标识符类(16字节)、标识符(4字节)、数据大小(4字节)和数据部分(任意长度)。标识符是由任意数据的发送侧和接收侧确定的值。在本实施例中,上述元数据被发送到V4驱动器203,因此,应用201和渲染过滤器211预先确定识别元数据的值。标识符的值是任意的,因此,同时还指定由UUID表示的标识符类以使标识符唯一。还由应用201和渲染过滤器211预先确定标识符类的值。然后,如示意性所示,元数据901被存储在数据部分的区域中。在本实施例中用于生成元图像的目的在于,向V4驱动器203发送作为任意数据的元数据。由此,为了在维持最小外观的同时防止打印结果或打印性能受到影响,将1×1像素指定为尺寸,并将具有100%的透射率的24位颜色指定为颜色。在如上所述指定了24位颜色的情况下,省略了作为不可缺少的块的“PLTE”。因此,如图8所示,本实施例中的元图像包括四个块,即“IHDR”、“IDAT”、“naNo”和“IEND”。
在步骤S706处,生成GDI类型的绘制命令,其给出绘制在步骤S705处生成的元图像的指令。此时,使用支持PNG格式的打印的GDI+的图像类和图形类。另一方面,在步骤S707处,生成根据绘制目标对象的属性的GDI类型的绘制命令。此时,例如,使用GDI的API,例如TextOut(字符)、Polygon(多边形)和StretchDIBits(位图)。
然后,在步骤S708处,将在步骤S706或步骤S707处生成的GDI类型的绘制命令发送到MXDC 202。然后,在步骤S709处,确定是否存在作为绘制目标的对象。在存在未处理的绘制目标对象的情况下,处理返回到步骤S702,并且确定下一绘制目标对象并继续处理。另一方面,在不存在未处理的绘制目标对象的情况下,该处理终止。
以上是根据本实施例的在应用201中进行的绘制命令发出处理的内容。本实施例的MXDC 202将如上所述在应用201中发出的GDI类型的绘制命令忠实地转换成XPS类型的绘制命令。也就是说,在与接收到的绘制命令相关的对象是元图像的情况下,MXDC 202将绘制命令作为给出绘制正常图像对象的指令的绘制命令来处理,并将该命令转换成XPS类型的绘制命令,而无需进行特殊处理。然后,包括类型已被转换成XPS类型的绘制命令组的绘制数据被发送到V4驱动器203。
<V4驱动器中的PDF转换>
接着上文,解释渲染过滤器211在已经从MXDC 202接收到XPS类型的绘制数据的V4驱动器203中生成PDF命令的处理。图10是示出根据本实施例的在V4驱动器203中生成PDF命令的处理的流程的流程图。以MXDC 202中生成的XPS类型的绘制命令组作为输入,在渲染过滤器211中以页面为单位进行该系列处理。以下,沿着图10的流程给出详细解释。
在步骤S1001处,获取从MXDC 202接收到的与一页相对应的XPS类型的绘制数据。然后,在随后的步骤S1002处,根据所获取的与一页相对应的绘制数据来确定作为处理目标的关注对象。
在步骤S1003处,通过分析关注对象的绘制命令来确定关注对象是否是元图像对象。在本实施例中,在关注对象的属性是图像属性,关注对象是PNG格式并且“naNo”块作为辅助块存在的情况下,关注对象被确定为元图像对象。在确定结果指示关注对象是元图像对象的情况下,处理前进到步骤S1004。另一方面,在关注对象是除了元图像对象之外的对象的情况下,处理前进到步骤S1006。
在步骤S1004处,从包括在元图像的绘制命令中的封装形式中,提取元数据(在图9的示例中,元数据901)。接下来,在步骤S1005处,基于提取的元数据,生成具有文本属性的PDF命令。具体地,获取包括在元数据中的诸如字体名称、字体大小、绘制坐标位置和字符代码等的信息,并生成具有与获取的信息相对应的文本属性的PDF命令。
另一方面,在步骤S1006处,在关注对象被确定为除了元图像对象之外的对象的情况下,生成根据关注对象的属性的PDF命令。
在步骤S1007处,将在步骤S1005或步骤S1006处生成的PDF命令发送到端口监视器204。然后,在步骤S1008处,确定在步骤S1001处获取的与一页相对应的绘制数据内是否存在未处理的对象。在存在未处理的对象的情况下,处理返回到步骤S1002,并且确定下一关注对象并继续处理。另一方面,在所有对象的处理完成的情况下,该处理终止。然后,在处理目标文档的所有页的处理完成的情况下,包括所生成的PDF命令组的PDF数据由端口监视器204保存在外部存储器130中。
如上所述,根据本实施例,为了方便起见,在应用发出文本对象的绘制命令时通过将文本对象作为元图像对象进行处理,可以使V4驱动器将该部分识别为文本对象。结果,可以生成通过文本表示对象的PDL数据(在PDF转换驱动器的情况下为PDF数据)。
(其它实施例)
本发明的(多个)实施例也可以通过如下实现:一种***或装置的计算机,该***或装置读出并执行在存储介质(其也可被更充分地称为“非暂态计算机可读存储介质”)上记录的计算机可执行指令(例如,一个或多个程序),以执行上述(多个)实施例中的一个或多个的功能,并且/或者,该***或装置包括用于执行上述(多个)实施例中的一个或多个的功能的一个或多个电路(例如,专用集成电路(ASIC));以及由该***或者装置的计算机执行的方法,例如,从存储介质读出并执行计算机可执行指令,以执行上述(多个)实施例中的一个或多个的功能,并且/或者,控制所述一个或多个电路以执行上述(多个)实施例中的一个或多个的功能。所述计算机可以包括一个或更多处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或存储介质被提供给计算机。例如,存储介质可以包括如下中的一个或多个:硬盘,随机存取存储器(RAM),只读存储器(ROM),分布式计算***的存储器,光盘(例如,压缩盘(CD),数字多功能光盘(DVD),或蓝光光盘(BD)TM),闪速存储器装置,存储卡,等等。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给***或装置,该***或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
根据本发明,即使在通过MXDC将对象的属性从文本改变为非文本的情况下,V4驱动器也可以生成给出如下指令的PDL数据(或PDF数据):利用文本属性来绘制转换后的XPS类型的绘制数据的部分。
虽然针对示例性实施例描述了本发明,但是,应该理解,本发明不限于公开的示例性实施例。下述权利要求的范围应当被赋予最宽的解释,以便涵盖所有这类修改以及等同的结构和功能。

Claims (17)

1.一种信息处理装置,其包括:
转换单元,其被构造为接收响应于输出文档的指令而从应用输出的文档的绘制数据,将构成文档的绘制数据的绘制命令的类型转换为预定类型,并将类型转换后的绘制命令传送给打印机驱动器;以及
打印机驱动器,其基于从转换单元接收到的类型转换后的绘制命令,生成预定格式的电子文档,
其中,转换单元将构成文档的绘制数据的绘制命令当中的、针对满足预定条件的具有文本属性的对象的绘制命令,转换为具有非文本属性的绘制命令,并且转换单元将均与该对象相关的文本信息和类型转换后的绘制命令传送给打印机驱动器,并且
打印机驱动器基于所接收到的类型转换后的绘制命令和文本信息生成所述预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示属性被改变为非文本属性的对象。
2.根据权利要求1所述的信息处理装置,其中
转换单元将针对满足所述预定条件的具有文本属性的对象的绘制命令,转换为包括描述文本信息的元数据的具有非文本属性的绘制命令,并且转换单元将包括描述文本信息的元数据的类型转换后的绘制命令传送给打印机驱动器,并且
打印机驱动器通过使用元数据中描述的文本信息生成所述预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示属性被改变为非文本属性的对象。
3.根据权利要求2所述的信息处理装置,其中
所述预定条件是在具有文本属性的对象中指定的字体文件是禁嵌字体的情况,并且
在元数据中,至少包括指示禁嵌字体被指定的信息。
4.根据权利要求2所述的信息处理装置,其中
所述预定条件是针对具有文本属性的对象指定预定修饰的情况,并且
在元数据中,至少包括指示所述预定修饰被指定的信息。
5.根据权利要求4所述的信息处理装置,其中
预定修饰指定是对透射率的指定。
6.根据权利要求1所述的信息处理装置,其中
非文本属性是路径属性或图像属性。
7.根据权利要求1所述的信息处理装置,其中
与打印机驱动器相对应的绘制命令的类型是XPS类型,并且
转换单元从所述应用接收GDI类型的绘制数据,并将构成绘制数据的绘制命令的类型转换为XPS类型。
8.根据权利要求1所述的信息处理装置,其中
所述预定格式是PDL或PDF。
9.一种信息处理装置,其包括:
应用,其根据输出文档的指令来输出文档的绘制数据;
转换单元,其被构造为从应用接收文档的绘制数据,将构成绘制数据的绘制命令的类型转换为预定类型,并将类型转换后的绘制命令传送给打印机驱动器;以及
打印机驱动器,其基于从转换单元接收到的类型转换后的绘制命令,生成预定格式的电子文档,
其中,在文档内的对象包括满足预定条件的具有文本属性的对象的情况下,所述应用将与满足所述预定条件的具有文本属性的对象相关的文本信息处理为具有非文本属性的对象,并生成和输出文档的绘制数据,并且
打印机驱动器基于类型转换后的绘制命令和包括在具有非文本属性的对象中的文本信息来生成预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示满足所述预定条件的对象。
10.根据权利要求9所述的信息处理装置,其中
在文档内的对象包括满足预定条件的具有文本属性的对象的情况下,所述应用发出包括描述与对象相关的文本信息的元数据的具有非文本属性的绘制命令,并生成和输出包括所发出的绘制命令的文档的绘制数据,并且
打印机驱动器通过使用元数据中描述的文本信息生成所述预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示满足预定条件的对象。
11.根据权利要求10所述的图像处理装置,其中
所述预定条件是在具有文本属性的对象中指定的字体文件是禁嵌字体的情况,并且
在元数据中,至少包括指示禁嵌字体被指定的信息。
12.根据权利要求11所述的信息处理装置,其中
所述预定条件是针对具有文本属性的对象指定预定修饰的情况,并且
在元数据中,至少包括指示所述预定修饰被指定的信息。
13.根据权利要求12所述的信息处理装置,其中
预定修饰指定是对透射率的指定。
14.根据权利要求9所述的信息处理装置,其中
非文本属性是路径属性或图像属性。
15.根据权利要求9所述的信息处理装置,其中
与打印机驱动器相对应的绘制命令的类型是XPS类型,并且
转换单元从所述应用接收GDI类型的绘制数据,并将构成绘制数据的绘制命令的类型转换为XPS类型。
16.根据权利要求9所述的信息处理装置,其中
所述预定格式是PDL或PDF。
17.一种非暂态计算机可读存储介质,其存储使计算机进行如下操作的驱动程序:
接收由转换模块转换的绘制命令,其中,所述转换模块接收从应用输出的文档的绘制数据,将构成文档的绘制数据的绘制命令的类型转换为预定类型,并将类型转换后的绘制命令传送给打印机驱动器,并且其中,所述转换模块将构成文档的绘制数据的绘制命令当中的、针对满足预定条件的具有文本属性的对象的绘制命令,转换为具有非文本属性的绘制命令,并且所述转换模块将均与该对象相关的文本信息和类型转换后的绘制命令传送给打印机驱动器;以及
基于接收到的类型转换后的绘制命令生成预定格式的电子文档,其中,在接收到文本信息和类型转换后的绘制命令的情况下,打印机驱动器基于接收到的文本信息生成所述预定格式的电子文档,所述预定格式的电子文档通过具有文本属性的对象来表示属性被转换为类型转换后的绘制命令的非文本属性的对象。
CN201810400892.2A 2017-05-02 2018-04-28 信息处理装置和存储介质 Expired - Fee Related CN108804053B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-091575 2017-05-02
JP2017091575A JP6938204B2 (ja) 2017-05-02 2017-05-02 情報処理装置、プログラム

Publications (2)

Publication Number Publication Date
CN108804053A true CN108804053A (zh) 2018-11-13
CN108804053B CN108804053B (zh) 2022-04-05

Family

ID=64015054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810400892.2A Expired - Fee Related CN108804053B (zh) 2017-05-02 2018-04-28 信息处理装置和存储介质

Country Status (3)

Country Link
US (1) US10516803B2 (zh)
JP (1) JP6938204B2 (zh)
CN (1) CN108804053B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6874626B2 (ja) * 2017-09-29 2021-05-19 ブラザー工業株式会社 プリンタドライバ
JP6694035B2 (ja) * 2018-10-05 2020-05-13 Hapsモバイル株式会社 通信装置、通信方法及び通信プログラム
CN111897776A (zh) * 2020-06-22 2020-11-06 百望股份有限公司 一种ofd文档的处理方法、电子设备及计算机可读存储介质
US20230359408A1 (en) * 2020-08-21 2023-11-09 Hewlett-Packard Development Company, L.P. Content-based printing
JP2023020591A (ja) * 2021-07-30 2023-02-09 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
US20230063130A1 (en) * 2021-08-26 2023-03-02 Unite Digital, LLC Using a Custom Printer Driver to Automatically Electronically Create, Capture and Manage all Documents Utilized in a Transaction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060221357A1 (en) * 2005-03-31 2006-10-05 Canon Kabushiki Kaisha Information processing apparatus and method
JP2009276897A (ja) * 2008-05-13 2009-11-26 Canon Inc 情報処理装置および情報処理方法、プログラム
CN103914266A (zh) * 2013-01-03 2014-07-09 魏泽群 分配云端数据并由群组打印端主动打印该云端数据的方法
CN105205951A (zh) * 2005-12-07 2015-12-30 凯特琳娜销售公司 彩色打印机技术
JP2016058059A (ja) * 2014-09-09 2016-04-21 株式会社リコー 情報処理装置、プログラム、ライセンス管理システム、ライセンス管理方法、及び画像処理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4667280B2 (ja) * 2006-03-17 2011-04-06 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP6039401B2 (ja) * 2012-12-18 2016-12-07 キヤノン株式会社 印刷データ処理装置、印刷データ処理方法、およびプログラム
JP6234417B2 (ja) * 2015-10-26 2017-11-22 キヤノン株式会社 情報処理装置及びその制御方法とプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060221357A1 (en) * 2005-03-31 2006-10-05 Canon Kabushiki Kaisha Information processing apparatus and method
CN105205951A (zh) * 2005-12-07 2015-12-30 凯特琳娜销售公司 彩色打印机技术
JP2009276897A (ja) * 2008-05-13 2009-11-26 Canon Inc 情報処理装置および情報処理方法、プログラム
CN103914266A (zh) * 2013-01-03 2014-07-09 魏泽群 分配云端数据并由群组打印端主动打印该云端数据的方法
JP2016058059A (ja) * 2014-09-09 2016-04-21 株式会社リコー 情報処理装置、プログラム、ライセンス管理システム、ライセンス管理方法、及び画像処理システム

Also Published As

Publication number Publication date
JP2018190157A (ja) 2018-11-29
CN108804053B (zh) 2022-04-05
JP6938204B2 (ja) 2021-09-22
US10516803B2 (en) 2019-12-24
US20180324323A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
CN108804053A (zh) 信息处理装置和存储介质
EP1538534A2 (en) Generation of a PPML template from a PDF document
JP5469244B2 (ja) 選択的なコンテンツ抽出
US7408556B2 (en) System and method for using device dependent fonts in a graphical display interface
US8243317B2 (en) Hierarchical arrangement for spooling job data
JP6595503B2 (ja) 選択されたページ領域コンテンツからの文書ページ識別子
JP2007527810A (ja) 表示データ・ストリームにおける複合テキストを識別するシステム及び方法
US8699076B2 (en) Image forming apparatus, server, image forming system, and storage medium, outputting superimposed text strings in a variable form page
JP2009271682A (ja) 文書処理装置及び文書処理方法
CN100389417C (zh) 文档处理方法及装置
JP2009245433A (ja) ページ記述言語を処理するシステム、方法及びコンピュータ可読媒体
JP2018028751A (ja) 文書変換方法及び文書変換プログラム
JP2002236569A (ja) 複合文書をディジタル印刷する方法
US20170249108A1 (en) Information processing apparatus, control method, and storage medium
KR102296939B1 (ko) 다중 모드를 지원하는 pdf 등의 전자문서를 관리하는 장치 및 방법
JP5598120B2 (ja) 画像処理装置
CN116050370A (zh) 模板数据处理方法、***及相关设备
JP6234417B2 (ja) 情報処理装置及びその制御方法とプログラム
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
JP7083473B2 (ja) 入力支援装置
JP5600960B2 (ja) ホストコンピュータ、印刷データ生成方法およびプログラム
JP2008269260A (ja) データ処理装置、データ処理方法及びそのプログラム
JP2013161459A (ja) 文書処理方法
US20140089784A1 (en) Page data generation apparatus, recording medium, and page data generation method
JP2010140169A (ja) 情報処理装置及び情報処理装置の制御方法、プログラム、記憶媒体

Legal Events

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

Granted publication date: 20220405

CF01 Termination of patent right due to non-payment of annual fee