CN101464782B - 版面描述信息的转换方法及应用版面描述的装置 - Google Patents

版面描述信息的转换方法及应用版面描述的装置 Download PDF

Info

Publication number
CN101464782B
CN101464782B CN2007101796969A CN200710179696A CN101464782B CN 101464782 B CN101464782 B CN 101464782B CN 2007101796969 A CN2007101796969 A CN 2007101796969A CN 200710179696 A CN200710179696 A CN 200710179696A CN 101464782 B CN101464782 B CN 101464782B
Authority
CN
China
Prior art keywords
subject instructions
whole page
space
current
page descriptor
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.)
Expired - Fee Related
Application number
CN2007101796969A
Other languages
English (en)
Other versions
CN101464782A (zh
Inventor
王东临
Original Assignee
BEIJING SURSEN ELECTRONIC TECHNOLOGY Co Ltd
BEIJING SURSEN NETWORK TECHNOLOGY Co Ltd
BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY Co Ltd
BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co 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 BEIJING SURSEN ELECTRONIC TECHNOLOGY Co Ltd, BEIJING SURSEN NETWORK TECHNOLOGY Co Ltd, BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY Co Ltd, BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING SURSEN ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN2007101796969A priority Critical patent/CN101464782B/zh
Publication of CN101464782A publication Critical patent/CN101464782A/zh
Application granted granted Critical
Publication of CN101464782B publication Critical patent/CN101464782B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种版面描述信息的转换方法及应用版面描述的装置,在当前版面描述信息中,通过遍历状态指令和对象指令来更新当前状态集合和生成新的对象指令。可以将有状态版面描述信息转换为一种包括对象指令的版面描述信息,利用转换后生成的版面描述信息,不需要遍历状态指令即可以获取任意一个或多个对象指令的完备版面信息。另外,通过遍历对象指令生成状态指令和新的对象指令,还可以将无状态版面描述信息转换成目前广泛使用的有状态版面描述信息,节省了存储空间。

Description

版面描述信息的转换方法及应用版面描述的装置
技术领域
本发明涉及版面描述技术,特别涉及版面描述信息的转换方法及应用版面描述的装置。
背景技术
版面描述是指,将页面内容描述为特定的形式。版面描述语言(PDL,PageDescription Language)是一种描述页面内容的语言,通过将页面内容描述为版面描述信息,实现了版面描述。常见的版面描述语言包括可移植文件格式(PDF)、印刷脚本语言(PostScript)、打印机控制语言(PCL)、书生可交换平台(SEP)、可扩展纸张规范(XPS)、方正大样文件、方正中文无纸化基础(CEB,Chinese E-paper Basic)等。
图1为现有技术中版面描述的方法。如图1所示,现有技术中,版面描述信息包括:初始状态集合、状态指令、对象指令以及其它指令。
初始状态集合是可选的,即可以存在初始状态集合,也可以不存在初始状态集合。初始状态集合可以用来初始化当前状态集合。很多版面描述信息的处理过程会用到当前状态集合,如绘制、打印、转换等等,在某些版面描述信息应用中,需要对当前状态集合进行初始化。例如在版面描述信息的版面绘制中,需要预先对版面描述信息的当前状态集合进行初始化,进而从初始化的当前状态集合开始对版面描述信息中的每个对象指令进行绘制。
当前状态集合的初始化方法可以包括:
如果存在初始状态集合,则可以用初始状态集合包含的状态值来初始化当前状态集合,实现当前状态的初始化;
如果不存在初始状态集合,则可以将当前状态集合设置为缺省值,实现当 前状态的初始化。
所述将当前状态集合设置为缺省值的方法可以为:将当前状态集合中的各个状态信息的值均设置为默认值,所述默认值是可以根据需要来选择的,例如可以将当前状态中所有状态信息的值均设置为0或1。
版面描述信息中将版面信息以先后顺序的形式描述为一个序列。序列中的所有元素称为指令,指令可以为状态指令,也可以为对象指令,也可以为除了状态指令和对象指令以外的其它指令。
序列中的各个状态指令和对象指令是有先后顺序的。所述指令的先后顺序是在生成版面描述信息的时候根据需要来决定的。例如,在限定状态指令只更新图形状态、对象指令为版面对象的情况下,要使一个版面描述信息在绘制的过程中先绘制一个圆形,再根据状态指令1和当前状态集合绘制一个矩形,那么圆形这个对象指令就在矩形这个对象指令的前面,状态指令1在矩形这个对象指令的前面,在圆形这个对象指令的后面,那么三个指令的顺序应该为:圆形,状态指令1,矩形。按照预先确定的顺序排列指令的方法有很多种,例如,可以将状态指令和对象指令按顺序存储在内存或文件中,进而根据所述状态指令或对象指令存储位置的先后来体现状态指令和对象指令的先后顺序;也可以将状态指令和对象指令随机存储在内存或文件中,为状态指令和对象指令编号,根据编号的大小来体现状态指令和对象指令在序列中的顺序。我们称以上这种版面描述为有状态版面描述信息。
下面对有状态版面描述信息中的状态集合、状态指令和对象指令分别作详细介绍。
状态集合是各种类型状态信息的集合,状态集合可以为图形状态,在状态集合为图形状态的情况下,所述状态集合中状态信息的类型包括:线宽、线端点风格、线连接点风格、虚线设置、字体、字体矩阵、文本大小、文本风格、文本颜色、前景色、透明度、变换矩阵、填充方式、反走样设置、光栅操作和阿尔法混合操作等。例如,文本大小可以包括文本的宽和高,这适用于等宽字体;文本风格可以包括是否斜体和是否加粗,透明度可以包括线和填充,等等。 状态信息包括两部分:状态信息的类型和状态信息的值,例如,线宽0.5mm这个状态信息,状态信息的类型为线宽,状态信息的值为0.5mm。所谓设定状态集合,即为设定状态集合中各状态信息的值,例如设定线宽为0.5mm,文本风格为加粗等。
状态指令包含两部分内容:第一部分是该状态指令将更新哪些状态信息,第二部分是所述状态信息的新值。
对象指令可以为版面对象,在对象指令为版面对象的情况下,所述对象指令的类型包括文本、图像和向量路径等,各种类型的对象指令均包含自身的属性,例如,文本类型的对象指令包含文本的位置、文本数据和字宽表等属性,图像类型的对象指令包含图像的大小、位置、图像类型和图像数据等属性,向量路径包含位置和向量数据等属性。
我们称绘制对象指令所需要的全部信息为所述对象指令的完备版面信息。对象指令的完备版面信息包括两部分:对象指令的属性和对象指令对应的状态信息。在有状态版面描述信息中,各种类型的对象指令均包含自身的属性,而对象指令的状态信息包含在状态集合中,因此,有状态版面描述信息中,对象指令相不包含完备版面信息。将对象指令自身的属性和对象指令对应的状态信息结合起来,才唯一确定了对象指令的完备版面信息。
对象指令的完备版面信息在实际应用中具有重要的作用,例如开发编辑程序、对版面描述信息进行版面绘制等。下面以版面绘制为例,说明对象指令的完备版面信息在版面绘制中的作用。
所述版面绘制是指:将版面描述信息转换为特定格式输出的一个流程,其中,特定格式可以为图像、位图等。举例来说,在Acrobat PDF阅读器(AcrobatPDF Reader)中阅读PDF文件是一种绘制,在书生阅读器(Sursen Reader)中阅读SEP格式文件是一种绘制,将PDF或SEP在打印机上打印输出也是一种绘制。
在对象指令为版面对象且状态集合为图形状态的情况下,可以对版面描述信息进行版面绘制。版面绘制包括对全部或部分对象指令的绘制。所述对象指 令的绘制是指,绘制引擎根据对象指令在版面上的完备版面信息,对对象指令进行绘制,输出绘制结果。绘制引擎可以用软件模块实现,也可以用硬件模块实现,常见的绘制引擎有win32 gdi、xwindows、qt、gtk、cairo、libart、agg等。
在采用有状态版面描述信息的情况下,如果要实现对某个对象指令的绘制,必须要获取所述对象指令对应的状态信息,即获取所述对象指令对应的当前状态集合。
目前根据有状态版面描述信息进行版面绘制的通用方法包括:在当前版面描述信息中,遍历状态指令和对象指令;
如果当前遍历对象为状态指令,则则用状态指令更新当前状态集合;
如果当前遍历对象为对象指令,则根据当前状态集合和对象指令获得完备版面信息,调用绘制引擎,绘制引擎根据完备版面信息对对象指令进行绘制,输出绘制结果。
遍历的方法有很多种,例如,可以按照以下步骤进行绘制:
从第一个指令开始,按照指令在序列中的顺序,依次判断每个指令的类型并根据指令的类型执行相应的操作,直到确定对最后一个指令执行完相应的操作,结束转换。其中,根据指令的类型执行相应的操作的方法包括:
如果判断指令为状态指令,则用状态指令更新当前状态集合;
如果判断指令为对象指令,则根据当前状态集合和对象指令获得完备版面信息,调用绘制引擎,绘制引擎根据完备版面信息对对象指令进行绘制,输出绘制结果。
该方法可以通过循环来实现,从第一个指令开始,执行以下步骤:
A、判断当前版面描述信息中的当前指令是否为状态指令,如果是,则用状态指令更新当前状态集合,执行步骤C,否则执行步骤B;
B、判断当前版面描述信息中的当前指令是否为对象指令,如果是,则根据当前状态集合和对象指令获得对象指令的完备版面信息,调用绘制引擎,绘制引擎根据完备版面信息对对象指令进行绘制,输出绘制结果,执行步骤C,否则执行步骤C;
C、判断当前版面描述信息中的当前指令是否为最后一个指令,如果是,结束转换,否则将所述当前指令的后一位内容作为当前指令,执行步骤A。
所述当前指令的后一位内容包括:
如果当前版面描述信息是根据指令的存储位置来体现指令在序列中的顺序的,则当前指令的后一位内容是指当前指令存储位置的下一位所存储的内容;如果版面描述信息是根据指令的编号来确定指令在序列中的顺序,那么当前指令的后一位内容就是指当前指令编号的下一位所对应的指令。
根据有状态版面描述信息进行版面绘制过程如图2所示:
步骤201以当前版面描述信息的初始状态集合初始化当前版面描述信息的当前状态集合,如果没有初始状态集合,则将当前状态集合置为缺省值。
在由状态指令和对象指令的构成的序列中,从序列的第一个指令开始,执行步骤202,即开始遍历:
步骤202判断当前版面描述信息中的当前指令是否为状态指令,如果是,则执行步骤203,否则执行步骤204。
步骤203根据状态指令的内容更新当前状态集合,执行步骤206,更新方法为,首先根据该状态指令确定将更新哪些状态信息,然后根据状态指令中这些状态信息的新值替换原有状态信息的值。
步骤204判断当前版面描述信息中的当前指令是否为对象指令,如果是,则执行步骤205,否则执行步骤206。
步骤205使用当前状态集合以及对象指令自身的属性,调用绘制引擎对对象指令进行绘制,输出绘制结果。其中,调用绘制引擎对对象指令进行绘制的方法在现有技术中已得到广泛应用,这里不予以赘述。
步骤206判断当前版面描述信息中的当前指令是否为最后一个指令,如果是,则执行步骤208,否则执行步骤207。
判断当前指令是否为最后一个指令的方法有多种,例如,可以预先在序列中存储指令的数量,当判断次数等于这个数量时,则认为当前指令为最后一个指令;也可以在最后一个指令中作标记,当判断到这个指令时,根据标记确定 该指令为最后一个指令。在当前版面描述信息根据指令存储位置体现指令的顺序的情况下,也可以不执行本步骤,在对每个指令执行完相应的操作之后,继续对所述指令的下一个存储位置的内容进行判断。如果判断结果为存储位置的内容不是当前版面描述信息中指令的类型,则认为已经对序列中的最后一个指令执行完相应的操作。
步骤207将所述当前指令的后一位的内容作为当前指令,执行步骤202。
步骤208版面绘制结束,完成了根据有状态版面描述信息实现的版面绘制。
以上所述步骤中,步骤202~步骤207为遍历的过程,按照状态指令和对象指令在序列中的顺序,依次对每个对象指令进行绘制并输出绘制结果。
图3以举例的方式说明了现有技术中根据有状态版面描述信息进行版面绘制的实施过程,如图3所示,假设有状态版面描述信息包括:初始状态集合、对象指令a1、a2和a3、状态指令1、2和3。
版面绘制的实施过程为:
首先以当前版面描述信息的初始状态集合初始化当前版面描述信息的当前状态集合,如果没有初始状态集合,则将当前状态集合置为缺省值。
然后从序列的第一个指令——状态指令1开始进行遍历:
判断第一个指令为状态指令1,根据状态指令1的内容更新初始状态集合中的一个或几个状态信息,将更新后的状态集合设为当前状态集合,即状态1为当前状态集合。
判断第二个指令为对象指令a1,使用状态1及a1自身的属性,调用绘制系统进行绘制,输出对象指令1的绘制结果。
判断第三个指令为状态指令2,根据状态指令2的内容更新状态1中的一个或几个状态信息,将更新后的状态集合设为当前状态集合,即状态2为当前状态集合。
判断第四个指令为状态指令3,根据状态指令3的内容更新状态2中的一个或几个状态信息,将更新后的状态集合设为当前状态集合,即状态3为当前状态集合。
判断第五个指令为对象指令a2,使用状态3及a2自身的属性,调用绘制系统进行绘制,输出对象指令a2的绘制结果。
判断第六个指令为对象指令a3,使用状态3及a3自身的属性,调用绘制系统进行绘制,输出对象指令a3的绘制结果。
全部对象指令绘制完毕,版面绘制完成。
在遍历过程中,如果当前遍历对象为非状态指令也非对象指令的情况,则跳过,继续判断下一个指令。
由以上内容可以看出,有状态版面描述信息具有以下缺点:
在有状态版面描述信息中,任何一个对象指令自身都没有包含绘制所需的完备版面信息。完备版面信息包括:对象指令的属性和对象指令的状态信息。所述状态信息包含在对象指令对应的当前状态集合中,如果要获得某个对象指令的完备版面信息,必须获得这个对象指令对应的当前状态集合,而要获得所述当前状态集合,就必须从初始状态开始,遍历这个对象指令之前的所有状态指令。遍历会导致系统性能低下,比如在版面中包含数万个对象和状态指令的情况下,如果要获得某个对象指令的完备版面信息,需要做大量的循环工作,大大降低了工作速度,也浪费了大量资源。
发明内容
有鉴于此,本发明的第一个目的在于,提供一种版面描述信息的转换方法,将有状态版面描述信息转换为一种包括对象指令的版面描述信息,所述对象指令包括完备版面信息,称转换后生成的版面描述信息为无状态版面描述信息,利用无状态版面描述信息,不需要遍历状态指令即可以获取任意一个或多个对象指令的完备版面信息。
本发明的第二个目的在于,提供一种版面描述信息的转换方法,能够将无状态版面描述信息转换为有状态版面描述信息,节省存储空间。
为了实现第一个发明目的,本发明提供的技术方案为:
一种版面描述信息的转换方法,该方法包括:在当前版面描述信息中,遍历状态指令和对象指令;
如果当前遍历对象为状态指令,则用所述状态指令更新当前状态集合;
如果当前遍历对象为对象指令,则根据当前状态集合和当前对象指令生成新的对象指令;
以上所述方法中,所述根据当前状态集合和当前对象指令生成新的对象指令的方法包括:
A、从当前状态集合中提取与所述当前对象指令相关的状态信息;
B、将步骤A提取的状态信息与所述当前对象指令合并生成新的对象指令;
以上所述方法中,步骤B所述合并生成新的对象指令的方法包括:在所述当前对象指令的属性中添加步骤A提取的状态信息。
较佳地,该方法进一步包括:在所述遍历状态指令和对象指令之前新建一个版面描述信息;在所述生成新的对象指令之后,如果所述新的对象指令是第一个生成的新的对象指令,则将生成的新的对象指令存为新建版面描述信息中序列的首位,否则,在新建版面描述信息的序列中,将生成的新的对象指令存为上一次添加到新建版面描述信息中的对象指令的下一位。
较佳地,该方法进一步包括:在所述遍历状态指令和对象指令之前,如果新建版面描述信息存在初始状态集合,则用所述初始状态集合初始化新建版面描述信息的当前状态集合,否则将所述新建版面描述信息的当前状态集合设置为缺省值。
为了实现第二个发明目的,本发明提供的技术方案为:
一种版面描述信息的转换方法,该方法包括:在当前版面描述信息中,遍历对象指令;
如果当前遍历对象为对象指令,则判断在当前版面描述信息中的当前对象 指令与当前状态集合是否存在区别状态信息;
如果是,则根据区别状态信息生成状态指令,将所述当前对象指令中的状态信息删除作为新的对象指令;
否则将所述当前对象指令中的状态信息删除作为新的对象指令。
以上所述方法中,所述根据区别状态信息生成状态指令的方法包括:
a、提取对象指令的区别状态信息;
b、将步骤a提取的区别状态信息转换为状态指令。
较佳地,在当前版面描述信息中的当前对象指令与当前状态集合存在区别状态信息的情况下,该方法进一步包括:
提取对象指令的一个或多个状态信息,将提取的状态信息转换为状态指令。
较佳地,在所述步骤a之后且下一次判断在当前版面描述信息中的当前对象指令与当前状态集合是否存在区别状态信息之前,用步骤a中提取的区别状态信息的值替换当前状态集合中相应状态信息的值。
较佳地,该方法进一步包括:在遍历对象指令之前新建一个版面描述信息,将所述新建版面描述信息的初始状态集合和当前状态集合设置为缺省值;
在生成每个新的对象指令或状态指令之后,将所述对象指令或状态指令添加到新建的版面描述信息中。
从以上发明内容可以看出,本发明具有以下优点:
本发明提供的版面描述信息转换方法将有状态版面描述信息转换为一种包括对象指令的版面描述信息,所述对象指令包括完备版面信息,称转换后生成的版面描述信息为无状态版面描述信息。利用无状态版面描述信息,不需要遍历状态指令即可以获取任意一个或多个对象指令的完备版面信息,解决了由于遍历造成的性能低下、资源浪费等问题。
本发明还提供了一种版面描述信息的转换方法,可以将无状态版面描述信 息转换成目前广泛使用的有状态版面描述信息,节省了存储空间。
附图说明
图1为现有技术中版面描述信息的示意图;
图2为根据有状态版面描述信息进行版面绘制的方法流程图;
图3为根据有状态版面描述信息进行版面绘制的实施过程示意图;
图4为本发明实施例一提供的版面描述信息转换的方法流程图;
图5为本发明实施例一提供的版面描述信息转换的实施过程示意图;
图6为本发明实施例二提供的版面描述信息转换的方法流程图;
图7为本发明实施例二提供的版面描述信息转换的实施过程示意图;
图8为本发明实施例三提供的应用版面描述的装置的结构示意图。
具体实施方式
下面结合具体实施例对本发明提供的方法及装置进行详细说明。
目前广泛使用的版面描述是有状态版面描述信息,而有状态版面描述信息中,如果要获取任意一个对象指令的完备版面信息,需要遍历所述对象指令之前所有的状态指令。因此考虑将目前广泛使用的有状态版面描述信息转换为一种不包括状态指令和状态集合的版面描述信息,称转换后生成的版面描述信息为无状态版面描述信息,利用无状态版面描述信息,不需要遍历状态指令即可以获取任意一个或多个对象指令的完备版面信息。
为此本发明提供了一种版面描述信息的转换方法,该方法包括:
在当前版面描述信息中,遍历状态指令和对象指令;
如果当前遍历对象为状态指令,则用所述状态指令更新当前状态集合;
如果当前遍历对象为对象指令,则根据当前状态集合和当前对象指令生成新的对象指令。
所述遍历的方法有很多种,例如,可以按照以下步骤进行从有状态版面描述信息到无状态版面信息的转换:
在当前版面描述信息中,从第一个指令开始,按照指令在序列中的顺序,依次判断每个指令的类型并根据指令的类型执行相应的操作,直到确定对最后一个指令执行完相应的操作,结束转换。其中,根据指令的类型执行相应的操作的方法包括:
如果判断指令为状态指令,则用状态指令更新当前状态集合;
如果判断指令为对象指令,则从当前状态集合种提取与对象指令相对应的状态信息,将所述状态信息添加到对象指令中,进而生成新的对象指令。
本发明提供的版面描述信息转换的方法可以通过循环来实现,从第一个指令开始,执行以下步骤:
A、判断当前版面描述信息中的当前指令是否为状态指令,如果是,则用状态指令更新当前状态集合,执行步骤C,否则执行步骤B;
B、判断当前版面描述信息中的当前指令是否为对象指令,如果是,则根据当前状态集合和所述对象指令生成新的对象指令,执行步骤C,否则执行步骤C;
C、判断当前版面描述信息中的当前指令是否为最后一个指令,如果是,结束转换,否则将所述当前指令的后一位内容作为当前指令,执行步骤A。
实施例一
图4是本实施例中版面描述信息转换的方法流程图,在本实施例中,实现了从有状态版面描述信息向无状态版面描述信息的转换。如图4所示:
步骤401新建一个版面描述信息。
步骤402以新建版面描述信息的初始状态集合初始化新建版面描述信息的当前状态集合,如果没有初始状态集合,则将当前状态集合置为缺省值。其中,缺省值的设置方法与现有技术相同。
在当前版面描述信息中,按照指令在序列中的顺序,从第一个指令开始,执行步骤403,即开始遍历:
步骤403判断当前版面描述信息中当的前指令是否为状态指令,如果是,则执行步骤404,否则执行步骤405。
步骤404根据状态指令的内容更新当前状态集合,执行步骤409,更新方法与现有技术相同。
步骤405判断在当前版面描述信息中的当前指令是否为对象指令,如果是,则执行步骤406,否则执行步骤409。
步骤406从当前状态集合中提取当前对象指令的状态信息。提取的方法包括:从当前状态集合中,找出与对象指令的类型相对应的状态信息,将所述状态信息作为对象指令的状态信息。例如,从当前状态集合中提取一个文本类的对象指令的状态信息,假设当前状态集合中,与文本相对应的状态信息包括字体和文本风格,字体为宋体,文本风格为斜体,那么就从当前状态集合中,找出字体和文本风格这两个状态信息作为这个对象指令的状态信息,则对象指令的状态信息就包括:字体为宋体,文本风格为斜体。
步骤407将步骤406中提取出来的状态信息与当前对象指令合并形成新的对象指令。合并的方法有很多种,本实施例中,在当前对象指令的属性中,添加步骤406提取的状态信息,将添加了状态信息的当前对象指令作为新的对象指令,则新的对象指令的属性就包含了完备版面信息。
步骤408将步骤407生成的新的对象指令根据指令添加方法添加到步骤401新建的版面描述信息中。
所述指令添加方法包括:
如果新建版面描述信息根据指令在内存或文件中的存储位置来体现指令在序列中的顺序,则可以将第一个生成的新的指令放在新建版面描述信息中指令存储位置的首位,在第一个新的对象指令以后生成的新的对象指令放在上一次添加到新建版面描述信息中的指令存储位置的后面。
如果新建版面描述信息采用为指令进行编号的方式来体现指令在序列中的 顺序,则可以将第一个生成的新的指令编号为新建版面描述信息的序列首位,存储在新建版面描述信息中,否则将上一次添加在新建版面描述信息中的指令的编号的下一位作为当前新的指令编号,存储在新建版面描述信息中。
本实施例中,新建版面描述信息根据指令在内存或文件中的存储位置来体现指令在序列中的顺序。如果步骤407生成的新的对象指令是第一个新的对象指令,则将步骤407生成的新的对象指令放在新建版面描述信息中序列的首位,否则在新建版面描述信息的序列中,将步骤407生成的新的对象指令放在上一次添加到新建版面描述信息中的对象指令的下一位。
步骤409判断当前版面描述信息中的当前指令是否为最后一个指令,如果是,则执行步骤411,否则执行步骤410。其中,判断当前指令是否为最后一个指令的方法与现有技术相同。
步骤410将所述当前指令的后一位内容作为当前指令,执行步骤403。
步骤411转换结束。从有状态版面描述信息向无状态版面描述信息转换完成,新建的版面描述信息即包含了无状态版面描述信息。
以上所述步骤中,步骤403步骤409为遍历的过程:按照当前版面描述信息中状态指令和对象指令在序列中的先后关系,依次将当前版面描述信息的所有对象指令转换为具有完备信息的对象指令存入新的输出版面。
在遍历过程中,如果当前遍历对象为非状态指令也非对象指令的情况,即当前遍历对象为其它指令的情况下,则可以跳过所述其它指令,继续判断下一个指令,也可以按照指令添加方法将所述其它指令添加到新建的版面描述信息中。
图5以举例的方式说明了本发明从有状态版面描述信息转换为无状态版面描述信息的实施过程,如图5所示,假设有状态版面描述信息包括:初始状态集合、对象指令a1、对象指令a2、a3、状态指令1、状态指令2和状态指令3。将有状态版面描述信息转换为无状态版面描述信息的过程为:
首先,新建一个版面描述信息,用于包含无状态版面描述信息。
其次,以当前版面描述信息的初始状态集合初始化当前版面描述信息的当 前状态集合,如果没有初始状态集合,则将当前状态集合置为缺省值。
然后从序列的第一个指令——状态指令1开始进行遍历:
判断第一个指令为状态指令1,根据状态指令1的内容更新初始状态集合中的一个或几个状态信息,将更新后的状态集合设为当前状态集合,即状态1为当前状态集合。
判断第二个指令为对象指令a1,从状态1中提取与a1相关的状态信息,将提取出来的状态信息与a1合并,形成新的对象指令b1,将b1添加到新建的版面描述信息中。
判断第三个指令为状态指令2,根据状态指令2的内容更新状态1中的一个或几个状态信息,将更新后的状态集合设为当前状态集合,即状态2为当前状态集合。
判断第四个指令为状态指令3,根据状态指令3的内容更新状态3中的一个或几个状态信息,将更新后的状态集合设为当前状态集合,即状态3为当前状态集合。
判断第五个指令为对象指令a2,从状态3中提取与a2相关的状态信息,将提取出来的状态信息与a2合并,形成新的对象指令b2,将b2添加到新建的版面描述信息中,放在b1后面。
判断第六个指令为对象指令a3,从状态3中提取与a3相关的状态信息,将提取出来的状态信息与a3合并,形成新的对象指令b3,将b3添加到新建的版面描述信息中,放在b2后面。
有状态版面描述信息向无状态版面描述信息转换完成,新建的版面描述信息即包含了无状态版面描述信息描述的版面信息,其中,有状态版面描述信息中的初始状态、对象指令a1、a2和a3、状态指令1、2和3共同描述的版面信息与无状态版面描述信息中的b1、b2和b3描述的版面信息是相同的。
如图5所示,无状态版面描述信息包括对象指令b1、b2和b3,其中,每个对象指令均包括完备版面信息,所述完备版面信息包括对象指令自身的属性和对象指令的状态信息。例如,b1为一个文本类的对象指令,那么b1中不仅 包括文本大小和位置等属性,还包括字体、文本风格、文本颜色、字体矩阵以及变换矩阵等状态信息;b2为一个图像类型的对象指令,那么b2中不仅包括图像大小、位置等属性,还包括变换矩阵等状态信息。
无状态版面描述信息中的对象指令也按照顺序构成一个序列,称为无状态版面描述信息的指令。无状态版面描述信息中,指令体现顺序的方式与有状态版面描述信息相同:可以通过指令的存储位置体现指令在序列中的顺序,也可以通过对指令的编号来体现指令在序列中的顺序。另外,无状态版面信息中还可以包括除了对象指令以外的其它指令,也称为无状态版面描述信息的指令。
无状态版面描述信息的使用过程中,例如绘制或编辑开发程序等,可以不用遍历就能够获取任意一个或多个对象指令的完备版面信息。而获取有状态版面描述信息中某个对象指令的完备版面信息是很困难的,这需要遍历该对象之前所有的状态指令。由此可见,本发明提供的版面描述信息转换方法将有状态版面描述信息转换为无状态版面描述信息,利用无状态版面描述信息,不需要遍历状态指令即可以获取任意一个或多个对象指令的完备版面信息,解决了由于遍历造成的性能低下、资源浪费等问题。
由于有状态版面描述信息中,不需要存储每个对象指令所对应的状态信息,而是通过状态指令体现对象指令相对于当前状态集合的区别状态信息。这样,利用状态集合和状态指令将所有对象指令的很多公共的状态信息提取出来,在存储时具有数据量小的优点,因此可以考虑在存储时,将无状态版面描述信息转换为有状态版面描述信息。为此本发明进一步提供了一种版面描述信息的转换方法,该方法包括:在当前版面描述信息中,遍历对象指令;
如果当前遍历对象为对象指令,则判断在当前版面描述信息中的当前对象指令与当前状态集合是否存在区别状态信息;
如果是,则根据区别状态信息生成状态指令,将所述当前对象指令中的状态信息删除作为新的对象指令;
否则将所述当前对象指令中的状态信息删除作为新的对象指令。
所述遍历的方法有很多种,例如,可以按照以下步骤进行从无状态版面描 述信息到有状态版面信息的转换:
在当前版面描述信息中,从第一个指令开始,则按照指令在序列中的顺序,依次判断该指令是否为对象指令:如果是,则判断对象指令与当前状态集合是否存在区别状态信息,并根据判断结果执行相应的操作,否则结束转换。直到确定对最后一个对象指令执行完相应的操作,结束转换。
其中,根据判断结果执行相应的操作的方法包括:
如果存在区别状态信息,则根据区别状态信息生成状态指令,将对象指令中的状态信息删除作为新的对象指令,否则将对象指令中的状态信息删除作为新的对象指令。
所述对象指令与当前状态集合的区别状态信息是指,当前状态集合中与对象指令不同值的相同类型状态信息。例如,对象指令包括的所有状态信息a、b、c、d和e中,状态信息a、b和c的值与初始状态集合中相应的状态信息a、b和c的值存在不同:对象指令中状态信息a=1、b=2、c=3,而当前状态集合中a=4、b=5、c=6,则认为对象指令的状态信息与当前状态集合中对应的状态信息存在不同,状态信息a、b和c即为区别状态信息。则对象指令的区别状态信息为:a=1、b=2、c=3;当前状态集合的区别状态信息为:a=4、b=5、c=6。
如果对象指令包括的全部状态信息的值与初始状态集合中对应的状态信息的值都完全相同,则认为对象指令的状态信息与初始状态集合之间不存在区别状态信息。
该方法可以通过循环来实现,例如从第一个指令开始,执行以下步骤:
A、判断在当前版面描述信息中的当前指令是否为对象指令,如果是,则执行步骤B,否则执行步骤C;
B、判断在当前版面描述信息中的当前对象指令与当前状态集合是否存在区别状态信息,如果是,则根据区别状态信息生成状态指令,将对象指令中的状态信息删除作为新的对象指令,执行步骤C,否则将对象指令中的状态信息删除作为新的对象指令,执行步骤C;
C、判断当前版面描述信息中的当前对象指令是否为最后对象指令,如果 是,结束转换,否则将所述当前对象指令的后一位内容作为当前指令,执行步骤A。
实施例二
图6是本实施例中本发明提供的版面描述信息转换的方法流程图,在本实施例中,实现了从无状态版面描述信息到有状态版面描述信息的转换,如图6所示:
步骤601新建一个版面描述信息,用于包含有状态版面描述信息。
步骤602初始化新建版面描述信息的初始状态集合和当前状态集合。初始化的方法包括:将初始状态集合和当前状态集合均设置为缺省值。缺省值的设置方法与现有技术相同。
在由状态指令和对象指令的构成的序列中,从序列的第一个指令开始,执行步骤603,即开始遍历:
步骤603判断在当前版面描述信息中的当前指令是否为对象指令,如果是,则执行步骤604,否则执行步骤611。
步骤604判断所述对象指令与当前状态集合是否存在区别状态信息,如果是,则执行步骤605,否则执行步骤609。
步骤605提取对象指令的区别状态信息。
步骤606将步骤605中提取的区别状态信息转换为状态指令。状态信息和状态指令进行相互转换的方法包括:可以将状态指令的第一部分转换为状态信息的类型,将状态指令的第二部分转换为状态信息的值,进而将状态指令转换为状态信息;也可以将状态信息的类型转换为状态指令的第一部分,将状态信息的值转换为状态指令的第二部分,进而实现由状态信息到状态指令的转换。
步骤607根据指令添加方法将步骤606转换出的状态指令添加到新建的版面描述信息中。
所述指令添加方法与实施例二中的步骤408相同。
本实施例中,新建版面描述信息根据指令在内存或文件中的存储位置来体现指令在序列中的顺序。如果步骤605转换出的状态指令是第一个生成的新的 指令,则将所述状态指令放在新建版面描述信息中序列的首位,否则在新建版面描述信息的序列中,将步骤605转换出的状态指令放在上一次添加到新建版面描述信息中的指令的下一位。
步骤608用步骤605中提取的区别状态信息更新当前状态集合,更新方法为,用对象指令的区别状态信息的值替换当前状态集合的区别状态信息的值。例如区别状态信息为状态信息a、b和c,对象指令中a=1,b=2,c=3,当前状态集合中a=4,b=5,c=6,则将当前状态集合中的状态信息a、b和c的值替换为a=1,b=2,c=3,即实现了更新。
步骤609从对象指令的所有属性中去删除状态信息部分,生成新的对象指令。所述新的对象指令则不包括状态信息,成为有状态版面描述信息的对象指令。
步骤610根据指令添加方法将步骤609生成的新的对象指令添加到新建的输出版面中。
所述指令添加方法包括与实施例二中步骤408所述的指令添加方法相同。
本步骤中,如果步骤609生成的新的对象指令是第一个生成的新的指令,则将步骤609生成的新的对象指令放在新建版面描述信息中序列的首位,否则在新建版面描述信息的序列中,将步骤609生成的新的对象指令放在上一次添加到新建版面描述信息中的指令的下一位。
步骤611判断当前版面描述信息中的当前指令是否为最后一个指令,如果是,则执行步骤612,否则执行步骤613。其中,判断当前指令是否为最后一个指令的方法与现有技术相同。
步骤612将所述当前指令的后一位内容作为当前指令,执行步骤603。
步骤613转换结束。完成从无状态版面描述信息向有状态版面描述信息的转换,新建的版面描述信息包含了无状态版面描述信息。图中的无状态版面描述信息与图中的有状态版面描述信息所描述的是同样的版面信息,例如,根据图中无状态版面描述信息进行绘制的结果与根据图中有状态版面描述信息进行绘制的结果是一致的。
本实施例的方法流程中,步骤603~步骤610为遍历的过程:按照当前版面描述信息中对象指令在序列中的先后关系,依次将当前版面描述信息的所有对象指令转换为状态指令和新的对象指令存入新的输出版面。
在遍历过程中,如果当前遍历对象为非对象指令的情况,即当前遍历对象为其它指令的情况下,则可以跳过所述其它指令,继续判断下一个指令,也可以按照指令添加方法将所述其它指令添加到新建的版面描述信息中。
其中,步骤608可以在步骤605之后和下一次执行步骤604之前的任意阶段执行。也就是说,用当前版面描述信息中对象指令的区别状态信息更新当前状态信息这个动作,可以在获取区别状态信息和下一次判断是否存在区别信息之间的任意阶段执行。
图7以举例的方式说明了本发明从无状态版面描述信息转换为有状态版面描述信息的实施过程,如图7所示,假设无状态版面描述信息包括:对象指令b1、对象指令b2和对象指令b3,其中b1、b2和b3均包括各自的完备版面信息。将有状态版面描述信息转换为无状态版面描述信息的过程为:
首先,新建一个版面描述信息,用于包含有状态版面描述信息。
其次,初始化新建版面描述信息的初始状态集合和当前状态集合。初始化的方法包括:将初始状态集合和当前状态集合均设置为缺省值。缺省值的设置方法与现有技术相同。
然后从序列的第一个指令——对象指令b1开始进行遍历:
判断第一个指令为对象指令b1,比较b1与初始状态集合中是否存在区别状态信息,本例中对比结果为存在区别状态信息,则提取b1的区别状态信息,将b1的区别状态信息转换为状态指令,即状态指令1,将状态指令1添加到新建的版面描述信息中,放在新建版面描述信息中序列的首位。
然后用b1的区别状态信息更新当前状态集合,这时当前状态集合为初始状态,更新后的当前状态集合为状态1,从b1中删除状态信息部分,生成新的对象指令a1,将a1添加到新建的版面描述信息中,放在状态指令1的后面。
判断第二个指令为对象指令b2,比较b2与初始状态集合中是否存在区别 状态信息,本例中对比结果为不存在区别状态信息,则保持当前状态集合不变,即保持状态1不变,从b2中去删除状态信息部分,生成新的对象指令a2,将a2添加到新建的版面描述信息中,放在a1的后面。
判断第三个指令为对象指令b3,比较b3与状态1中是否存在区别状态信息,本例中对比结果为存在区别状态信息,则提取b3的区别状态信息,将b3的区别状态信息转换为状态指令,即状态指令2,将状态指令2添加到新建的版面描述信息中;然后用b3的区别状态信息更新当前状态集合,即状态1,更新后的当前状态集合为状态2,从b3中去删除状态信息部分,生成新的对象指令a3,将a3添加到新建的版面描述信息中,放在状态指令2的后面。
无状态版面描述信息向有状态版面描述信息转换完成,新建的版面描述信息即包含了有状态版面描述信息描述的版面信息,其中,无状态版面描述信息中的b1、b2和b3描述的版面信息与有状态版面描述信息中的初始状态、对象指令a1、a2和a3、状态指令1、2和3共同描述的版面信息是相同的。
本实施例的实施过程中,在提取区别状态信息后,更新状态集合可以在下一次判断是否存在区别状态信息之前的任意阶段执行,这使得本方法在实际应用中具有很大的灵活性,可以将更新状态集合这个步骤灵活的插入允许的范围之内。
为了提供无状态版面描述信息,也就是为了提供具有完备版面信息的对象指令,本发明提供了一种应用版面描述的装置,该装置包括存储模块、绘制控制模块和绘制引擎;
所述存储模块用于存储对象指令,所述对象指令具有完备版面信息;
所述绘制控制模块用于读取存储模块中的任意一个或多个对象指令,调用绘制引擎对读取到的对象指令进行绘制。
实施例三
图8是本实施例中本发明提供的应用版面描述的装置的结构示意图,本实施例中的应用版面描述的装置提供了对无状态版面描述信息,如图8所示:
本实施例提供的应用版面描述的装置包括存储模块801、绘制控制模块802 和绘制引擎803。
存储模块801用于将版面信息存储为对象指令的集合,所述对象指令具有完备版面信息。
所述绘制控制模块802块用于读取存储模块801中的任意一个或多个对象指令,在读取对象指令之后,调用绘制引擎803对读取到的对象指令进行绘制。
绘制引擎803用于绘制控制模块提取的对象指令进行绘制,可以为win32gdi、xwindows、qt、gtk、cairo、libart、agg等,本实施例中,绘制引擎采用win32gdi来实现。
本发明提供的应用版面描述的装置中,存储模块可以将版面信息存储为无状态版面描述信息,绘制控制模块可以读取存储模块中的无状态版面描述信息,进而使本装置能够提供无状态版面描述信息。
本发明提供的应用版面描述的装置中,绘制控制模块不需要遍历就能够读取存储装置中的任意一个或多个具有完备信息的对象指令,还可以进一步调用绘制引擎对所述对象指令进行绘制。解决了现有技术中遍历之前所有状态指令才能获得一个具有完备版面信息的对象指令的缺点。
由以上三个实施例可以看出,本发明提供的版面描述信息转换的方法及应用版面描述的装置具有以下优点:
本发明提供的版面描述信息转换方法将有状态版面描述信息转换为一种包括对象指令的版面描述信息,所述对象指令包括完备版面信息,称转换后生成的版面描述信息为无状态版面描述信息。利用无状态版面描述信息,不需要遍历状态指令即可以获取任意一个或多个对象指令的完备版面信息,解决了由于遍历造成的性能低下、资源浪费等问题。
本发明还提供了一种版面描述信息的转换方法,可以将无状态版面描述信息转换成目前广泛使用的有状态版面描述信息,可以充分发挥无状态版面描述信息的快速高效的优点和有状态版面描述信息的数据量少的优点。例如在同时需要快速高效和节省存储空间的情况下,可以先通过无状态版面描述信息实现快速高效的工作,然后通过本发明提供的版面描述信息转换方法,将无状态版面 描述信息转换为有状态版面描述信息进行存储,进而节省了存储空间。
本发明提供了一种应用版面描述的装置,不需要遍历就能够获取对象指令的完备版面信息,解决了由于遍历造成的性能低下、资源浪费等问题。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种版面描述信息的转换方法,该方法包括:在当前版面描述信息中,遍历状态指令和对象指令,其特征在于,
如果当前遍历对象为状态指令,则用所述状态指令更新当前状态集合;
如果当前遍历对象为对象指令,则根据当前状态集合和当前对象指令生成新的对象指令;
所述根据当前状态集合和当前对象指令生成新的对象指令的方法包括:
A、从当前状态集合中提取与所述当前对象指令相关的状态信息;
B、将步骤A提取的状态信息与所述当前对象指令合并生成新的对象指令。
步骤B所述合并生成新的对象指令的方法包括:在所述当前对象指令的属性中添加步骤A提取的状态信息。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
在所述遍历状态指令和对象指令之前新建一个版面描述信息;
在所述生成新的对象指令之后,如果所述新的对象指令是第一个生成的新的对象指令,则将生成的新的对象指令存为新建版面描述信息中序列的首位,否则,在新建版面描述信息的序列中,将生成的新的对象指令存为上一次添加到新建版面描述信息中的对象指令的下一位。
3.根据权利要求2所述的方法,其特征在于,该方法进一步包括:在所述遍历状态指令和对象指令之前,如果新建版面描述信息存在初始状态集合,则用所述初始状态集合初始化新建版面描述信息的当前状态集合,否则将所述新建版面描述信息的当前状态集合设置为缺省值。
4.一种版面描述信息的转换方法,该方法包括:在当前版面描述信息中,遍历对象指令,其特征在于,
如果当前遍历对象为对象指令,则判断在当前版面描述信息中的当前对象指令与当前状态集合是否存在区别状态信息;
如果当前对象指令与当前状态集合存在区别状态信息,则根据区别状态信息生成状态指令,将所述当前对象指令中的状态信息删除作为新的对象指令;
如果当前对象指令与当前状态集合不存在区别状态信息,则将所述当前对象指令中的状态信息删除作为新的对象指令。
5.根据权利要求4所述的方法,其特征在于,所述根据区别状态信息生成状态指令的方法包括:
a、提取对象指令的区别状态信息;
b、将步骤a提取的区别状态信息转换为状态指令。
6.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
在每次生成新的对象指令之前,提取当前对象指令的一个或多个状态信息,将提取的状态信息转换为状态指令。
7.根据权利要求5或6所述的方法,其特征在于,在所述步骤a之后且下一次判断在当前版面描述信息中的当前对象指令与当前状态集合是否存在区别状态信息之前,用步骤a中提取的区别状态信息的值替换当前状态集合中相应状态信息的值。
8.根据权利要求7所述的方法,其特征在于,该方法进一步包括:
在遍历对象指令之前新建一个版面描述信息,将所述新建版面描述信息的初始状态集合和当前状态集合设置为缺省值;
在生成每个新的对象指令或状态指令之后,将所述对象指令或状态指令添加到新建的版面描述信息中。
CN2007101796969A 2007-12-17 2007-12-17 版面描述信息的转换方法及应用版面描述的装置 Expired - Fee Related CN101464782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101796969A CN101464782B (zh) 2007-12-17 2007-12-17 版面描述信息的转换方法及应用版面描述的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101796969A CN101464782B (zh) 2007-12-17 2007-12-17 版面描述信息的转换方法及应用版面描述的装置

Publications (2)

Publication Number Publication Date
CN101464782A CN101464782A (zh) 2009-06-24
CN101464782B true CN101464782B (zh) 2011-08-24

Family

ID=40805380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101796969A Expired - Fee Related CN101464782B (zh) 2007-12-17 2007-12-17 版面描述信息的转换方法及应用版面描述的装置

Country Status (1)

Country Link
CN (1) CN101464782B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10235612B2 (en) * 2016-07-29 2019-03-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, storage medium, and image forming apparatus for converting drawing data of a transparent object that does not overlap another drawing object into drawing data of a drawing object that does not have an alpha channel as color information
CN106888073A (zh) * 2017-01-06 2017-06-23 国网新疆电力公司电力科学研究院 输电线路无线网络指令传输方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US 6,252,677 B1,2001.06.26,参见说明书第4栏第25行至第62行,第4栏第62行至第7栏第35行,附图1-5.

Also Published As

Publication number Publication date
CN101464782A (zh) 2009-06-24

Similar Documents

Publication Publication Date Title
US8081346B1 (en) System to create image transparency in a file generated utilising a print stream
US8433997B1 (en) Efficient portable document
CN101441713B (zh) 一种pdf文件的光学字符识别方法及装置
KR100661173B1 (ko) 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법
CN107302645B (zh) 一种图像处理装置及其图像处理方法
US20070171459A1 (en) Method and system to allow printing compression of documents
CN108710601A (zh) 一种文本显示方法及其设备、存储介质、电子设备
JP3209102B2 (ja) プリントシステム、プリンタドライバ及びプリンタ
WO2006119616A1 (en) Converting a printer to an xml printer
Bagley et al. Creating reusable well-structured PDF as a sequence of component object graphic (COG) elements
CN101464782B (zh) 版面描述信息的转换方法及应用版面描述的装置
JPH04128970A (ja) 文書処理システム
US5732197A (en) Printing control apparatus
US20050200913A1 (en) Systems and methods for identifying complex text in a presentation data stream
WO2018139700A1 (ko) 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법
US9619438B2 (en) Embedding bitmap fonts in PDF files
JPS60222270A (ja) 表デ−タ差込み印刷装置
JP2010214746A (ja) 印刷処理システム、印刷処理方法およびプログラム
JP4143245B2 (ja) 画像処理方法および装置並びに記憶媒体
CN112686319A (zh) 一种电力信号模型训练文件的合并方法
JP4464313B2 (ja) 印刷制御装置、印刷制御方法及び印刷制御用プログラム
CN113159086B (zh) 一种高效的电力信号描述模型训练方法
JP3496384B2 (ja) 画像出力装置
US20110060982A1 (en) Pdl data processing device
US20010033285A1 (en) Character attribute setting device and method in document preparing apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD. BEI

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100089 5/F, NORTHERN REAL ESTATE BUILDING, NO.81, ZIZHUYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 100191 ROOM 408, TAIXING BUILDING, NO.11, HUAYUAN EAST ROAD, HAIDIAN DISTRICT, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20101027

Address after: 100191, Room 408, Taixing building, 11 Garden East Road, Beijing, Haidian District

Applicant after: Beijing Suresense International Information Technology Co., Ltd.

Co-applicant after: Beijing Sursen Electronic Technology Co., Ltd.

Co-applicant after: Beijing Sursen Network Technology Co., Ltd.

Co-applicant after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Address before: North real estate building 81 No. 100089 Beijing Haidian District Zizhuyuan Road 5 layer

Applicant before: Beijing Suresense International Information Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TIANJIN SHUSHENG INVESTMENT CO., LTD.

Free format text: FORMER OWNER: BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20120302

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20120302

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 300308 HEBEI, TIANJIN

TR01 Transfer of patent right

Effective date of registration: 20120302

Address after: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building 2

Co-patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Co-patentee after: Beijing Sursen Network Technology Co., Ltd.

Co-patentee after: Beijing Suresense International Information Technology Co., Ltd.

Address before: 100191, Room 408, Taixing building, 11 Garden East Road, Beijing, Haidian District

Co-patentee before: Beijing Sursen Electronic Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

Co-patentee before: Beijing Sursen Network Technology Co., Ltd.

Co-patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20140319

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140319

Address after: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Beijing Sursen Network Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Patentee after: Beijing Sursen Electronic Technology Co., Ltd.

Address before: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building 2

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Beijing Sursen Network Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD. BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD.

Effective date: 20140827

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140827

Address after: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Beijing Sursen Network Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Address before: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Beijing Sursen Network Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

Patentee before: Beijing Sursen Electronic Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170823

Address after: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building two

Co-patentee after: Beijing Suresense International Information Technology Co., Ltd.

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Address before: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Co-patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Co-patentee before: Beijing Sursen Network Technology Co., Ltd.

Co-patentee before: Beijing Suresense International Information Technology Co., Ltd.

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

Granted publication date: 20110824

Termination date: 20181217

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