CN114722781B - 一种将流式文档转换为ofd文档的方法和装置 - Google Patents
一种将流式文档转换为ofd文档的方法和装置 Download PDFInfo
- Publication number
- CN114722781B CN114722781B CN202210311500.1A CN202210311500A CN114722781B CN 114722781 B CN114722781 B CN 114722781B CN 202210311500 A CN202210311500 A CN 202210311500A CN 114722781 B CN114722781 B CN 114722781B
- Authority
- CN
- China
- Prior art keywords
- document
- ofd
- streaming
- standard
- data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种将流式文档转换为OFD文档的方法和装置,涉及文档转换技术领域。该方法预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;读取待转换文档格式的流式文档,对待转换文档格式的流式文档进行解析,得到文档内容数据;将文档内容数据转换为虚拟容器中对应的元素,进而按照OFD文档层次结构对虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档。本实施例生成的OFD文档结构清晰、符合标准,转换效率更高。
Description
技术领域
本申请涉及文档转换技术领域,尤其涉及一种将流式文档转换为OFD文档的方法和装置。
背景技术
流式文档,能够支持编辑,其内容是流动的,中间键入新内容将导致后面的内容“流”到下一行或下一页去。因为格式不固定,流式文档是一种非结构化的数据。流式文档在不同的软硬件环境中,显示效果会发生变化。例如,Word文档是典型的流式文档,在不同版本的Office软件中或者不同分辨率的电脑上,显示效果都是有所不同的。
由于流式文档可以自动排版、内容易更改、转移过程存在安全隐患,无法满足电子文件长期保存的需求。OFD(Open Fixed Layout Document,开放版式文档)是一种版式格式规范,其文件较小,具有便携性,且呈现效果与设备无关,在各种设备上阅读、打印或印刷时,版面固定、不跑板。另外,OFD文档永久可读可用,不依赖任何特定软件,真正实现文件的长久保存。未来电子公文、电子证照、电子***等都将以OFD版式格式存在。
可以看到,流式文档转换为OFD格式的版式文档的需求将逐步扩大。然而目前缺少相应的转换工具,亟需解决这一技术问题。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的将流式文档转换为OFD文档的方法和装置。所述技术方案如下:
第一方面,提供了一种将流式文档转换为OFD文档的方法,该方法可以包括:
预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;
读取待转换文档格式的流式文档,对所述待转换文档格式的流式文档进行解析,得到文档内容数据;
将所述文档内容数据转换为所述虚拟容器中对应的元素,进而按照OFD文档层次结构对所述虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;
对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档。
在一种可能的实现方式中,所述待转换文档格式的流式文档采用XML(ExtensibleMarkup Language,可扩展标记语言)来描述数据格式,对所述待转换文档格式的流式文档进行解析,包括:
使用XML解析技术对所述待转换文档格式的流式文档中的XML文件进行解析。
在一种可能的实现方式中,将所述文档内容数据转换为所述虚拟容器中对应的元素,进而按照OFD文档层次结构对所述虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件,包括:
将所述文档内容数据转换为所述虚拟容器中对应的元素,并基于所述待转换文档格式的流式文档的排版方式,将转换得到的所述虚拟容器中对应的元素按照指定顺序加入到所述虚拟容器的流队列中;
解析所述虚拟容器中的流队列,计算流队列中元素的位置和大小信息,将流队列中元素按页存放在虚拟页面中;
解析所述虚拟页面,将所述虚拟页面中的元素转换为OFD标准中对应的图元对象;
按照OFD文档层次结构进行序列化操作,将所述图元对象表示为相应的描述文件。
在一种可能的实现方式中,所述描述文件包括XML文件,按照OFD文档层次结构进行序列化操作,将所述图元对象表示为相应的描述文件,包括:
根据OFD文档层次结构创建一个或多个XML文件;
将所述图元对象表示为相应的XML文件。
在一种可能的实现方式中,对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档,包括:
将符合OFD文档标准的描述文件组织到电子文件包中,并进行压缩打包,得到OFD文档。
在一种可能的实现方式中,所述对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档的具体步骤包括:
步骤A1:利用公式(1)根据符合OFD文档标准的描述文件的十六进制形式进行数据压缩
其中P16(a)表示对符合OFD文档标准的描述文件的十六进制形式进行数据压缩后的压缩数据的十六进制形式中第a位上的数;D16(a)表示符合OFD文档标准的描述文件的十六进制形式中第a位上的数;D16(i)表示符合OFD文档标准的描述文件的十六进制形式中第i位上的数;n表示符合OFD文档标准的描述文件的十六进制形式的数据位数;[]10表示将括号内的数据转换为十进制数;{}16表示将括号内的数据转换为十六进制数;表示求取符合OFD文档标准的描述文件的十六进制形式中所有位中的最小数;
然后将求得的P16(a)值按照位数进行组合形成压缩数据P16;
步骤A2:利用公式(2)将数据压缩后的压缩数据以及解压缩数据进行数据打包得到OFD文档
其中Pb16表示将压缩数据以及解压缩数据进行数据打包得到OFD文档(十六进制形式);<<1表示左移一位十六进制的位数;
步骤A3:若需要再次得到所述OFD文档的原始描述文件,则需要利用公式(3)根据所述OFD文档进行解压缩处理
其中P16′表示对所述OFD文档进行解压缩处理得到原始描述文件数据的十六进制形式;Pb16(k)表示OFD文档的十六进制形式中第k位上的十六进制数;Pb16(m)表示OFD文档的十六进制形式中最后一位的十六进制数;m表示OFD文档的十六进制形式中的位数值;<<(m-k-1)表示左移(m-k-1)位十六进制的位数。
第二方面,提供了一种将流式文档转换为OFD文档的装置,该装置可以包括:
抽象模块,用于预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;
解析模块,用于读取待转换文档格式的流式文档,对所述待转换文档格式的流式文档进行解析,得到文档内容数据;
转换模块,用于将所述文档内容数据转换为所述虚拟容器中对应的元素,进而按照OFD文档层次结构对所述虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;
生成模块,用于对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档。
在一种可能的实现方式中,所述待转换文档格式的流式文档采用XML来描述数据格式,所述解析模块还用于:
使用XML解析技术对所述待转换文档格式的流式文档中的XML文件进行解析。
在一种可能的实现方式中,所述转换模块还用于:
将所述文档内容数据转换为所述虚拟容器中对应的元素,并基于所述待转换文档格式的流式文档的排版方式,将转换得到的所述虚拟容器中对应的元素按照指定顺序加入到所述虚拟容器的流队列中;
解析所述虚拟容器中的流队列,计算流队列中元素的位置和大小信息,将流队列中元素按页存放在虚拟页面中;
解析所述虚拟页面,将所述虚拟页面中的元素转换为OFD标准中对应的图元对象;
按照OFD文档层次结构进行序列化操作,将所述图元对象表示为相应的描述文件。
在一种可能的实现方式中,所述描述文件包括XML文件,所述转换模块还用于:
根据OFD文档层次结构创建一个或多个XML文件;
将所述图元对象表示为相应的XML文件。
在一种可能的实现方式中,所述生成模块还用于:
将符合OFD文档标准的描述文件组织到电子文件包中,并进行压缩打包,得到OFD文档。
借由上述技术方案,本申请实施例提供的将流式文档转换为OFD文档的方法,使用文档对象模型对流式文档进行抽象表示,不仅可以避免在文档转换过程中频繁操作文件,而且可以简化并统一对流式文档中各类对象版面信息的计算过程;同时也达到了将流式文档的解析过程与OFD文档的生成过程隔离开的效果,转换后的OFD文档结构清晰、符合标准,转换效率更高。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1示出了根据本申请实施例的将流式文档转换为OFD文档的方法的流程图;
图2示出了根据本申请实施例的将流式文档转换为OFD文档的装置的结构图;以及
图3示出了根据本申请一实施例的电子设备的结构图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。
本申请实施例提供了一种将流式文档转换为OFD文档的方法,可以应用在服务器、个人电脑、智能手机、平板电脑等电子设备上,如图1所示,该将流式文档转换为OFD文档的方法可以包括以下步骤S101至S104:
步骤S101,预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;
步骤S102,读取待转换文档格式的流式文档,对待转换文档格式的流式文档进行解析,得到文档内容数据;
步骤S103,将文档内容数据转换为虚拟容器中对应的元素,进而按照OFD文档层次结构对虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;
步骤S104,对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档。
本申请实施例提供的将流式文档转换为OFD文档的方法,使用文档对象模型对流式文档进行抽象表示,不仅可以避免在文档转换过程中频繁操作文件,而且可以简化并统一对流式文档中各类对象版面信息的计算过程;同时也达到了将流式文档的解析过程与OFD文档的生成过程隔离开的效果,转换后的OFD文档结构清晰、符合标准,转换效率更高。
流式文档与OFD文档都可以采用XML语言来描述数据格式,并采用打包压缩方法形成可交换的单一文件格式。
上文步骤S101中预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,可以将对文档内容的操作从文件***中隔离开来,并且向外提供对文档内容操作的一系列接口,例如文字、图形和图片等,各个接口统一由文档对象管理和维护。
本申请实施例中提供了一种可能的实现方式,上文步骤S102中对待转换文档格式的流式文档进行解析,具体可以使用XML解析技术对待转换文档格式的流式文档中的XML文件进行解析。这里的XML解析技术可以是SAX(Simple Access for XML)技术,它是基于事件驱动的XML处理模型,是一种推模式解析XML文档的API(Application Program Interface,应用程序接口)。解析程序按读入XML文档事件的顺序解析数据,同时基于所选择的结构调用回调处理函数,处理效率高,并且准确性高。
本申请实施例中提供了一种可能的实现方式,上文步骤S103中将文档内容数据转换为虚拟容器中对应的元素,进而按照OFD文档层次结构对虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件,具体可以包括以下步骤a1至a4:
步骤a1,将文档内容数据转换为虚拟容器中对应的元素,并基于待转换文档格式的流式文档的排版方式,将转换得到的虚拟容器中对应的元素按照指定顺序加入到虚拟容器的流队列中。
在该步骤中,虚拟容器中的元素可以是各个接口,具体可以用对象来表示,如文本对象、图形对象等,指定顺序可以是从上到下的顺序,本发明实施例对此不作限制。
步骤a2,解析虚拟容器中的流队列,计算流队列中元素的位置和大小信息,将流队列中元素按页存放在虚拟页面中。
该步骤中,以页为单位结构直观、易懂,并且操作简单、性能高。
步骤a3,解析虚拟页面,将虚拟页面中的元素转换为OFD标准中对应的图元对象。
步骤a4,按照OFD文档层次结构进行序列化操作,将图元对象表示为相应的描述文件。
本实施例采用树结构,一方面树结构直观、易懂;另一方面树结构具有天然的递归特性,操作简单、性能高。本实施例中文档树结构以文档对象为根节点,文档对象的下一层包括页面集、大纲集、公共资源。进一步页面集由多个页面组成,每个页面又分为内容和页面资源两大块,内容包括文本、图形等节点;页面资源由图片、音视频、其他多媒体类型组成。大纲集主要由书签和导航对象组成。
本申请实施例中提供了一种可能的实现方式,上文步骤a4中提及的描述文件可以是XML文件,那么步骤a4按照OFD文档层次结构进行序列化操作,将图元对象表示为相应的描述文件,具体可以是根据OFD文档层次结构创建一个或多个XML文件,进而将图元对象表示为相应的XML文件,这样处理效率高,并且准确性高。
本申请实施例中提供了一种可能的实现方式,上文步骤S104中对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档,具体可以是将符合OFD文档标准的描述文件组织到电子文件包中,并进行压缩打包,得到OFD文档,使得OFD文档结构清晰、符合标准,且能够保证排版的一致性。
本申请实施例中提供了一种可能的实现方式,上文步骤S104中对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档,具体步骤可以包括:
步骤A1:利用公式(1)根据符合OFD文档标准的描述文件的十六进制形式进行数据压缩
其中P16(a)表示对符合OFD文档标准的描述文件的十六进制形式进行数据压缩后的压缩数据的十六进制形式中第a位上的数;D16(a)表示符合OFD文档标准的描述文件的十六进制形式中第a位上的数;D16(i)表示符合OFD文档标准的描述文件的十六进制形式中第i位上的数;n表示符合OFD文档标准的描述文件的十六进制形式的数据位数;[]10表示将括号内的数据转换为十进制数;{}16表示将括号内的数据转换为十六进制数;表示求取符合OFD文档标准的描述文件的十六进制形式中所有位中的最小数;
然后将求得的P16(a)值按照位数进行组合形成压缩数据P16;
步骤A2:利用公式(2)将数据压缩后的压缩数据以及解压缩数据进行数据打包得到OFD文档
其中Pb16表示将压缩数据以及解压缩数据进行数据打包得到OFD文档(十六进制形式);<<1表示左移一位十六进制的位数;
步骤A3:若需要再次得到所述OFD文档的原始描述文件,则需要利用公式(3)根据所述OFD文档进行解压缩处理
其中P16′表示对所述OFD文档进行解压缩处理得到原始描述文件数据的十六进制形式;Pb16(k)表示OFD文档的十六进制形式中第k位上的十六进制数;Pb16(m)表示OFD文档的十六进制形式中最后一位的十六进制数;m表示OFD文档的十六进制形式中的位数值;<<(m-k-1)表示左移(m-k-1)位十六进制的位数。
上述技术方案的有益效果为:首先利用步骤A1中的公式(1)根据符合OFD文档标准的描述文件的十六进制形式进行数据压缩,并且利用十进制的形式进行计算然后转换成十六进制可以有效的减少运算量,提高***的计算效率;然后利用步骤A2中的公式(2)将数据压缩后的压缩数据以及解压缩数据进行数据打包得到OFD文档,便于后续的解压缩处理;最后利用步骤A3中的公式(3)根据所述OFD文档进行解压缩处理,从而还原原始描述文件,确保文件压缩解压缩的可靠性。
需要说明的是,实际应用中,上述所有可能的实施方式可以采用结合的方式任意组合,形成本申请的可能的实施例,在此不再一一赘述。
基于上文各个实施例提供的将流式文档转换为OFD文档的方法,基于同一发明构思,本申请实施例还提供了一种将流式文档转换为OFD文档的装置。
图2示出了根据本申请实施例的将流式文档转换为OFD文档的装置的结构图。如图2所示,该将流式文档转换为OFD文档的装置可以包括抽象模块210、解析模块220、转换模块230以及生成模块240。
抽象模块210,用于预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;
解析模块220,用于读取待转换文档格式的流式文档,对待转换文档格式的流式文档进行解析,得到文档内容数据;
转换模块230,用于将文档内容数据转换为虚拟容器中对应的元素,进而按照OFD文档层次结构对虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;
生成模块240,用于对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档。
本申请实施例中提供了一种可能的实现方式,待转换文档格式的流式文档采用XML来描述数据格式,上文的解析模块220还用于:
使用XML解析技术对待转换文档格式的流式文档中的XML文件进行解析。
本申请实施例中提供了一种可能的实现方式,上文的转换模块230还用于:
将文档内容数据转换为虚拟容器中对应的元素,并基于待转换文档格式的流式文档的排版方式,将转换得到的虚拟容器中对应的元素按照指定顺序加入到虚拟容器的流队列中;
解析虚拟容器中的流队列,计算流队列中元素的位置和大小信息,将流队列中元素按页存放在虚拟页面中;
解析虚拟页面,将虚拟页面中的元素转换为OFD标准中对应的图元对象;
按照OFD文档层次结构进行序列化操作,将图元对象表示为相应的描述文件。
本申请实施例中提供了一种可能的实现方式,描述文件包括XML文件,上文的转换模块230还用于:
根据OFD文档层次结构创建一个或多个XML文件;
将图元对象表示为相应的XML文件。
本申请实施例中提供了一种可能的实现方式,上文的生成模块240还用于:
将符合OFD文档标准的描述文件组织到电子文件包中,并进行压缩打包,得到OFD文档。
本申请实施例中提供了一种可能的实现方式,利用生成模块240对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档的具体步骤包括:
步骤A1:利用公式(1)根据符合OFD文档标准的描述文件的十六进制形式进行数据压缩
其中P16(a)表示对符合OFD文档标准的描述文件的十六进制形式进行数据压缩后的压缩数据的十六进制形式中第a位上的数;D16(a)表示符合OFD文档标准的描述文件的十六进制形式中第a位上的数;D16(i)表示符合OFD文档标准的描述文件的十六进制形式中第i位上的数;n表示符合OFD文档标准的描述文件的十六进制形式的数据位数;[]10表示将括号内的数据转换为十进制数;{}16表示将括号内的数据转换为十六进制数;表示求取符合OFD文档标准的描述文件的十六进制形式中所有位中的最小数;
然后将求得的P16(a)值按照位数进行组合形成压缩数据P16;
步骤A2:利用公式(2)将数据压缩后的压缩数据以及解压缩数据进行数据打包得到OFD文档
其中Rb16表示将压缩数据以及解压缩数据进行数据打包得到OFD文档(十六进制形式);<<1表示左移一位十六进制的位数;
步骤A3:若需要再次得到所述OFD文档的原始描述文件,则需要利用公式(3)根据所述OFD文档进行解压缩处理
其中P16′表示对所述OFD文档进行解压缩处理得到原始描述文件数据的十六进制形式;Pb16(k)表示OFD文档的十六进制形式中第k位上的十六进制数;Pb16(m)表示OFD文档的十六进制形式中最后一位的十六进制数;m表示OFD文档的十六进制形式中的位数值;<<(m-k-1)表示左移(m-k-1)位十六进制的位数。
基于同一发明构思,本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任意一个实施例的将流式文档转换为OFD文档的方法。
在示例性的实施例中,提供了一种电子设备,如图3所示,图3所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任意一个实施例的设备隔离的用户访问控制方法。
所属领域的技术人员可以清楚地了解到,上述描述的***、装置、模块的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
本领域普通技术人员可以理解:本申请的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干程序指令,用以使得一电子设备(例如个人计算机,服务器,或者网络设备等)在运行所述程序指令时执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的电子设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被电子设备的处理器执行时,所述电子设备执行本申请各实施例所述方法的全部或部分步骤。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:在本申请的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本申请的保护范围。
Claims (8)
1.一种将流式文档转换为OFD文档的方法,其特征在于,包括:
预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;
读取待转换文档格式的流式文档,对所述待转换文档格式的流式文档进行解析,得到文档内容数据;
将所述文档内容数据转换为所述虚拟容器中对应的元素,进而按照OFD文档层次结构对所述虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;
对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档;
其中,将所述文档内容数据转换为所述虚拟容器中对应的元素,进而按照OFD文档层次结构对所述虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件,包括:
将所述文档内容数据转换为所述虚拟容器中对应的元素,并基于所述待转换文档格式的流式文档的排版方式,将转换得到的所述虚拟容器中对应的元素按照指定顺序加入到所述虚拟容器的流队列中;
解析所述虚拟容器中的流队列,计算流队列中元素的位置和大小信息,将流队列中元素按页存放在虚拟页面中;
解析所述虚拟页面,将所述虚拟页面中的元素转换为OFD标准中对应的图元对象;
按照OFD文档层次结构进行序列化操作,将所述图元对象表示为相应的描述文件。
2.根据权利要求1所述的将流式文档转换为OFD文档的方法,其特征在于,所述待转换文档格式的流式文档采用XML来描述数据格式,对所述待转换文档格式的流式文档进行解析,包括:
使用XML解析技术对所述待转换文档格式的流式文档中的XML文件进行解析。
3.根据权利要求1所述的将流式文档转换为OFD文档的方法,其特征在于,按照OFD文档层次结构进行序列化操作,将所述图元对象表示为相应的描述文件,包括:
根据OFD文档层次结构创建一个或多个XML文件;
将所述图元对象表示为相应的XML文件。
4.根据权利要求1所述的将流式文档转换为OFD文档的方法,其特征在于,对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档,包括:
将符合OFD文档标准的描述文件组织到电子文件包中,并进行压缩打包,得到OFD文档。
5.根据权利要求1所述的将流式文档转换为OFD文档的方法,其特征在于,所述对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档的具体步骤包括:
步骤A1:利用公式(1)根据符合OFD文档标准的描述文件的十六进制形式进行数据压缩
其中表示对符合OFD文档标准的描述文件的十六进制形式进行数据压缩后的压
缩数据的十六进制形式中第位上的数;表示符合OFD文档标准的描述文件的十六进
制形式中第位上的数;表示符合OFD文档标准的描述文件的十六进制形式中第位上
的数;表示符合OFD文档标准的描述文件的十六进制形式的数据位数;表示将括号内的
数据转换为十进制数;表示将括号内的数据转换为十六进制数;表示
求取符合OFD文档标准的描述文件的十六进制形式中所有位中的最小数;
步骤A2:利用公式(2)将数据压缩后的压缩数据以及解压缩数据进行数据打包得到OFD文档
步骤A3:若需要再次得到所述OFD文档的原始描述文件,则需要利用公式(3)根据所述OFD文档进行解压缩处理
6.一种将流式文档转换为OFD文档的装置,其特征在于,包括:
抽象模块,用于预先根据流式文档的层次结构以及流式文档标准中对文档内容的描述规定,使用文档对象模型对流式文档中的文档内容进行抽象化表示,生成用于表示流式文档的虚拟容器;
解析模块,用于读取待转换文档格式的流式文档,对所述待转换文档格式的流式文档进行解析,得到文档内容数据;
转换模块,用于将所述文档内容数据转换为所述虚拟容器中对应的元素,进而按照OFD文档层次结构对所述虚拟容器中对应的元素进行序列化操作,得到符合OFD文档标准的描述文件;
生成模块,用于对符合OFD文档标准的描述文件进行压缩打包,生成OFD文档;
其中,所述转换模块还用于:
将所述文档内容数据转换为所述虚拟容器中对应的元素,并基于所述待转换文档格式的流式文档的排版方式,将转换得到的所述虚拟容器中对应的元素按照指定顺序加入到所述虚拟容器的流队列中;
解析所述虚拟容器中的流队列,计算流队列中元素的位置和大小信息,将流队列中元素按页存放在虚拟页面中;
解析所述虚拟页面,将所述虚拟页面中的元素转换为OFD标准中对应的图元对象;
按照OFD文档层次结构进行序列化操作,将所述图元对象表示为相应的描述文件。
7.根据权利要求6所述的将流式文档转换为OFD文档的装置,其特征在于,所述待转换文档格式的流式文档采用XML来描述数据格式,所述解析模块还用于:
使用XML解析技术对所述待转换文档格式的流式文档中的XML文件进行解析。
8.根据权利要求7所述的将流式文档转换为OFD文档的装置,其特征在于,所述转换模块还用于:
根据OFD文档层次结构创建一个或多个XML文件;
将所述图元对象表示为相应的XML文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210311500.1A CN114722781B (zh) | 2022-03-28 | 2022-03-28 | 一种将流式文档转换为ofd文档的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210311500.1A CN114722781B (zh) | 2022-03-28 | 2022-03-28 | 一种将流式文档转换为ofd文档的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114722781A CN114722781A (zh) | 2022-07-08 |
CN114722781B true CN114722781B (zh) | 2022-10-28 |
Family
ID=82238795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210311500.1A Active CN114722781B (zh) | 2022-03-28 | 2022-03-28 | 一种将流式文档转换为ofd文档的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722781B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117055880B (zh) * | 2023-08-22 | 2024-05-03 | 广东保伦电子股份有限公司 | 一种基于容器化部署的文档转码方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739223A (zh) * | 2008-11-10 | 2010-06-16 | 北大方正集团有限公司 | 一种通过虚拟打印实现文档格式转换的方法及*** |
CN101963956A (zh) * | 2010-09-19 | 2011-02-02 | 深圳市万兴软件有限公司 | 一种xml文档转换为pptx文档的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829139B (zh) * | 2019-01-30 | 2023-04-18 | 中国软件与技术服务股份有限公司 | 一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 |
CN111881651A (zh) * | 2020-08-06 | 2020-11-03 | 泰山信息科技有限公司 | 一种uot流式文档转换成ofd版式文档的方法 |
CN112527291A (zh) * | 2020-12-01 | 2021-03-19 | 瀚云科技有限公司 | 网页生成方法、装置、电子设备及存储介质 |
CN112486431A (zh) * | 2020-12-03 | 2021-03-12 | 江苏中威科技软件***有限公司 | 一种对ofd版式文件内容选择打印的方法 |
-
2022
- 2022-03-28 CN CN202210311500.1A patent/CN114722781B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739223A (zh) * | 2008-11-10 | 2010-06-16 | 北大方正集团有限公司 | 一种通过虚拟打印实现文档格式转换的方法及*** |
CN101963956A (zh) * | 2010-09-19 | 2011-02-02 | 深圳市万兴软件有限公司 | 一种xml文档转换为pptx文档的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114722781A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100898476B1 (ko) | 스키마 기반의 계층적 데이터 구조를 단층적 데이터구조로 변환하기 위한 방법 및 시스템 | |
US20070234199A1 (en) | Apparatus and method for compact representation of XML documents | |
US20030034989A1 (en) | Application editing apparatus and data processing method and program | |
CN108717437B (zh) | 搜索结果展示方法、装置及存储介质 | |
US7509574B2 (en) | Method and system for reducing delimiters | |
CN1845099A (zh) | 智能移动终端多媒体电子文档转换存储方法及转换存储结构 | |
CN1794223A (zh) | 用于产生多栏版式的方法和计算机可读介质 | |
TW200422881A (en) | Method and computer-readable medium for importing and exporting hierarchically structured data | |
CN111639473A (zh) | 基于java的excel文件解析方法、装置、计算机设备及存储介质 | |
WO2009000141A1 (fr) | Procédé, système et dispositif de représentation d'informations de structure logique de fichier de mise en page | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
CN113126990B (zh) | 一种页面开发方法、装置、设备及存储介质 | |
CN114118007B (zh) | 一种版式数据流文件转ofd文件的方法 | |
CN112527752B (zh) | 数据压缩方法、装置、计算机可读存储介质及电子设备 | |
CN114722781B (zh) | 一种将流式文档转换为ofd文档的方法和装置 | |
JP2011159302A (ja) | Ediスキーマをモデル化するためのxmlペイロード仕様 | |
CN111797595A (zh) | 一种基于xml模板生成ofd版式页面的方法和装置 | |
CN113934955A (zh) | 浏览器生成显示ppt文件的方法、浏览器及存储介质 | |
CN111881651A (zh) | 一种uot流式文档转换成ofd版式文档的方法 | |
CN115034176A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
CN111078228A (zh) | 网页到小程序的转换方法、装置、服务器及存储介质 | |
US20150007021A1 (en) | Vector Graphic Conversion into Fonts | |
CN103577604B (zh) | 一种用于Hadoop分布式环境的图像索引结构 | |
CN112101511A (zh) | 稀疏卷积神经网络 | |
CN115495421A (zh) | 一种数据格式化的方法、装置、电子设备及介质 |
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 |