CN114218895B - 对uof文档进行转换的方法 - Google Patents
对uof文档进行转换的方法 Download PDFInfo
- Publication number
- CN114218895B CN114218895B CN202111388257.5A CN202111388257A CN114218895B CN 114218895 B CN114218895 B CN 114218895B CN 202111388257 A CN202111388257 A CN 202111388257A CN 114218895 B CN114218895 B CN 114218895B
- Authority
- CN
- China
- Prior art keywords
- document
- attribute data
- uof
- attribute
- odf
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000006243 chemical reaction Methods 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000011161 development Methods 0.000 claims abstract description 23
- 230000006837 decompression Effects 0.000 claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 230000018109 developmental process Effects 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
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
-
- 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)
Abstract
本发明提供了对UOF文档进行转换的方法,其包括对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;对文档解析输出进行样式分析,从而得到关于ODF文档的文档属性数据;对文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对文档样式属性数据和文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;并在文档外部接口的层面上,构建关于UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对UOF文档的二次开发和转换处理;最后在用户界面上显示对所述UOF文档进行转换处理的实时信息,从而实现对UOF文档进行批量转换和二次开发。
Description
技术领域
本发明涉及文档转换处理的技术领域,特别涉及对UOF文档进行转换的方法。
背景技术
UOF(Uified office document Format)文档是基于XML的开放式文档格式,其又被称作“标文通”文档。在对UOF文档进行转换的过程中存在文档解析出错以及转换内容无法打开的问题。同时现有的UOF文档转换技术存在转换速度慢且无法进行二次开发的问题,这导致无法对UOF文档进行批量转换和二次开发,从而严重影响UOF文档的转换体验感。
发明内容
针对现有技术存在的缺陷,本发明提供对UOF文档进行转换的方法,其包括对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;对文档解析输出进行样式分析,从而得到关于ODF文档的文档属性数据;对文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对文档样式属性数据和文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;并在文档外部接口的层面上,构建关于UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对UOF文档的二次开发和转换处理;最后在用户界面上显示对所述UOF文档进行转换处理的实时信息,其在基础层、转换层、外部接口层和用户界面层这四个层面上对UOF文档进行转换,从而实现对UOF文档进行批量转换和二次开发。
本发明提供对UOF文档进行转换的方法,其特征在于,其包括如下步骤:
步骤S1,对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;
步骤S2,对所述文档解析输出进行样式分析,从而得到关于所述ODF文档的文档属性数据;对所述文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对所述文档样式属性数据和所述文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;
步骤S3,在文档外部接口的层面上,构建关于所述UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对所述UOF文档的二次开发和转换处理;
步骤S4,在用户界面上显示对所述UOF文档进行转换处理的实时信息;
进一步,在所述步骤S1中,对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出具体包括:
步骤S101,基于开源代码Zip Utils设计形成文档解压缩模块,并利用所述文档解压缩模块对所述ODF文档进行解压处理,从而得到所述ODF文档包含XML文档;
步骤S102,基于开源项目Xerces C++设计形成SAX解析模块,并利用所述SAX解析模块对所述XML文档进行解析处理,从而得到相应的文档解析输出;
进一步,在所述步骤S102中,利用所述SAX解析模块对所述XML文档进行解析处理,从而得到相应的文档解析输出具体包括:
利用所述SAX解析模块对所述XML文档进行解析处理,以此对所述XML文档进行逐行扫描和解析处理,从而得到相应的XML文档解析结果和文档静态表,以此作为所述文档解析输出;
进一步,在所述步骤S2中,对所述文档解析输出进行样式分析,从而得到关于所述ODF文档的文档属性数据具体包括:
对所述文档解析输出进行样式分析,从而得到所述ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;
再定义getID函数对所述段落属性数据、所述文字属性数据、所述大纲属性数据、所述表格属性数据和所述图像属性数据进行处理,从而生成所述段落属性数据、所述文字属性数据、所述表格属性数据和所述图像属性数据各自对应的属性编号值;
进一步,在所述步骤S2中,对所述文档解析输出进行样式分析,从而得到所述ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;再定义getID函数对所述段落属性数据、所述文字属性数据、所述大纲属性数据、所述表格属性数据和所述图像属性数据进行处理,从而生成所述段落属性数据、所述文字属性数据、所述表格属性数据和所述图像属性数据各自对应的属性编号值具体包括:
所述文档中的不同属性的数据在进行连接时会在不同属性的数据中间存在一串连接符,根据所述连接符能够将所述文档解析输出分割成多个属性数据,接着根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据归为一类,然后再定义getID函数以此根据归为一类的属性数据中每个字节的属性定义得到其对应的属性编号值,其具体过程为:
步骤S201,利用下面公式(1),根据所述连接符将所述文档解析输出分割成多个属性数据,
在上述公式(1)中,μi表示所述解析输出的文档中第i个字节处属于分割点的判定值;Di+a表示所述文档解析输出中第i+a个字节的二进制形式数值;P1+a表示所述连接符的第1+a个字节的二进制形式数值;n表示所述连接符的字节总数;m表示所述文档解析输出的字节总数;
将i的值从1取值到m-n+1得到所有满足μi=0的i值,在所述所有满足μi=0的i值处的字节与其上一个字节的中间处作为分割点,对所述文档解析输出进行分割,分割完成后得到多个属性数据;
步骤S202,通过上述步骤S201分割得到的多个属性数据,每个属性数据内部中每个字节的属性定义都是一致的,并且每个属性定义的名称也是由多个字节构成,利用下面公式(2),根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据归为一类,
在上述公式(2)中,H(r1,r2)表示分割完成后的第r1个属性数据与第r2个属性数据能否归为一类的判定值;Tr1,e表示分割完成后的第r1个属性数据的属性定义名称中的第e个字节的二进制形式数值;Tr2,e表示分割完成后的第r2个属性数据的属性定义名称中的第e个字节的二进制形式数值;Br1表示分割完成后的第r1个属性数据的属性定义名称中的字节总数;Br2表示分割完成后的第r2个属性数据文档的属性定义名称中的字节总数;min()表示求取括号内的最小值;
若H(r1,r2)≠0,表示分割完成后的第r1个属性数据与第r2个属性数据中字节的属性定义名称不同,即不能进行合并;
若H(r1,r2)=0,表示分割完成后的第r1个属性数据与第r2个属性数据中字节的属性定义名称相同,即能够进行合并;
通过上述步骤S202对分割得到的多个属性数据两两进行对比,将对比后的具有相同属性定义名称的属性数据全部合并归为一类,而合并为一类的属性数据即为所述段落属性数据、所述文字属性数据、所述大纲属性数据、所述表格属性数据或者所述图像属性数据;
步骤S203,利用下面公式(3)作为getID函数,根据合为一类的属性数据中的字节个数以及合为一类的属性数据的属性定义名称,得到其对应的属性编号值,
getID(C)={Tc<<L[(Sc)2]+(Sc)2}10 (3)
在上述公式(3)中,getID(C)表示合为一类的属性数据文档中的第C类属性数据文档的属性编号值;Tc表示合为一类的属性数据文档中的第C类属性数据文档的属性定义名称所对应的二进制形式数值;Sc表示合为一类的属性数据文档中的第C类属性数据文档的字节个数;()2表示将括号内的数值转换为二进制形式;L[(Sc)2]表示将Sc转换为二进制形式后二进制数的位数;{}10表示将括号内的数值转换为10进制;
进一步,在所述步骤S2中,对所述文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据具体包括:
将所述ODF文档包含的meta.xml文档、styles.xml文档、content.xml文档、uof.xml文档和rules.xml文档中段落属性数据、文字属性数据、大纲属性数据对应的属性编号值进行存储,从而作为所述文档样式属性数据和文档分节属性数据;
进一步,在所述步骤S2中,对所述文档样式属性数据和所述文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档具体包括:
对所述文档样式属性数据和所述文档分节属性数据进行主转换处理和后继转换处理;其中,
所述主转换处理包括定义分别关于MetaTranslator、StylesTranslator、ContentTranslator的三种转换方式;并利用上述三种转换方式对所述文档样式属性数据和所述文档分节属性数据进行转换处理,从而将所述ODF文档包含的meta.xml文档、styles.xml文档和content.xml文档进行转换处理;
所述后继转换处理包括对所述uof.xml文档和所述rules.xml文档进行转换处理;
再将对所述meta.xml文档、所述styles.xml文档和所述content.xml文档进行主转换处理的结果,以及对所述uof.xml文档和所述rules.xml文档进行后继转换处理的结果进行压缩,从而得到与所述ODF文档对应的UOF文档;
进一步,在所述步骤S3中,在文档外部接口的层面上,构建关于所述UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对所述UOF文档的二次开发和转换处理具体包括:
在文档外部接口的层面上,构建关于所述UOF文档的动态链接库,再利用所述动态链接库为用户提供对所述UOF文档的二次开发功能,从将所述UOF文档能够集成到不同办公软件;
在文档外部接口的层面上,构建关于所述UOF文档的可执行文件库和注册表,再在所述可执行文件库形成的界面上,通过修改所述注册表的方式实现UOF文档的批量转换;
在文档外部接口的层面上,构建关于所述UOF文档的日志系统,再利用所述日志系统记录文档转换的时间;
进一步,在所述步骤S3中,在所述可执行文件库形成的界面上,通过修改所述注册表的方式实现UOF文档的批量转换具体包括:
在所述可执行文件形成的界面上,通过直接使用右键菜单或者使用命令行的方式修改所述注册表的方式实现UOF文档的批量转换;
进一步,在所述步骤S4中,在用户界面上显示对所述UOF文档进行转换处理的实时信息具体包括:
在用户界面上形成相应的信息展示窗口,所述信息展示窗口用于显示文档转换所处的阶段以及每个阶段对应的转换时间。
相比于现有技术,该对UOF文档进行转换的方法包括对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;对文档解析输出进行样式分析,从而得到关于ODF文档的文档属性数据;对文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对文档样式属性数据和文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;并在文档外部接口的层面上,构建关于UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对UOF文档的二次开发和转换处理;最后在用户界面上显示对所述UOF文档进行转换处理的实时信息,其在基础层、转换层、外部接口层和用户界面层这四个层面上对UOF文档进行转换,从而实现对UOF文档进行批量转换和二次开发。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的对UOF文档进行转换的方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,为本发明实施例提供的对UOF文档进行转换的方法的流程示意图。该对UOF文档进行转换的方法包括如下步骤:
步骤S1,对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;
步骤S2,对该文档解析输出进行样式分析,从而得到关于该ODF文档的文档属性数据;对该文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对该文档样式属性数据和该文档分节属性数据进行转换处理,从而得到与该ODF文档对应的UOF文档;
步骤S3,在文档外部接口的层面上,构建关于该UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对该UOF文档的二次开发和转换处理;
步骤S4,在用户界面上显示对该UOF文档进行转换处理的实时信息。
上述技术方案的有益效果为:该对UOF文档进行转换的方法包括对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;对文档解析输出进行样式分析,从而得到关于ODF文档的文档属性数据;对文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对文档样式属性数据和文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;并在文档外部接口的层面上,构建关于UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对UOF文档的二次开发和转换处理;最后在用户界面上显示对所述UOF文档进行转换处理的实时信息,其在基础层、转换层、外部接口层和用户界面层这四个层面上对UOF文档进行转换,从而实现对UOF文档进行批量转换和二次开发。
优选地,在该步骤S1中,对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出具体包括:
步骤S101,基于开源代码Zip Utils设计形成文档解压缩模块,并利用该文档解压缩模块对该ODF文档进行解压处理,从而得到该ODF文档包含XML文档;
步骤S102,基于开源项目Xerces C++设计形成SAX解析模块,并利用该SAX解析模块对该XML文档进行解析处理,从而得到相应的文档解析输出。
上述技术方案的有益效果为:基于开源代码Zip Utils设计形成文档解压缩模块,能够使得该文档解压缩模块对所有ODF文档具有解压缩普适性,并且还能够便于根据实际需要来对开源代码Zip Utils进行编辑而提高文档解压缩模块的解压缩保真性。其次,基于开源项目Xerces C++设计形成SAX解析模块,其能够对XML文档进行全面的逐行解析,从而有效避免解析遗漏的情况发生。
优选地,在该步骤S102中,利用该SAX解析模块对该XML文档进行解析处理,从而得到相应的文档解析输出具体包括:
利用该SAX解析模块对该XML文档进行解析处理,以此对该XML文档进行逐行扫描和解析处理,从而得到相应的XML文档解析结果和文档静态表,以此作为该文档解析输出。
上述技术方案的有益效果为:SAX(simple API for XML)是一种功能XML解析的替代方法,其是对文档进行逐行扫描,其能够一边对文档进行扫描一边解析,这能够保证对文档进行全面无遗漏的扫描,同时也能够提高文档解析的速度。
优选地,在该步骤S2中,对该文档解析输出进行样式分析,从而得到关于该ODF文档的文档属性数据具体包括:
对该文档解析输出进行样式分析,从而得到该ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;
再定义getID函数对该段落属性数据、该文字属性数据、该大纲属性数据、该表格属性数据和该图像属性数据进行处理,从而生成该段落属性数据、该文字属性数据、该表格属性数据和该图像属性数据各自对应的属性编号值。
上述技术方案的有益效果为:文档内部通常包括段落、文字、大纲、表格和图像等不同类型的文档样式内容,这些文档样式内容都具有自身的特点,通过对该文档解析输出进行样式分析能够有针对性地将每种文档样式的属性内容分别提取出来。随后通过定义合适的getID函数来定义每种属性数据设定相应的属性编号值,这样能够保证每种属性数据的编号值唯一性和便于后续对每种属性数据进行合适的处理。
优选地,在该步骤S2中,对该文档解析输出进行样式分析,从而得到该ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;再定义getID函数对该段落属性数据、该文字属性数据、该大纲属性数据、该表格属性数据和该图像属性数据进行处理,从而生成该段落属性数据、该文字属性数据、该表格属性数据和该图像属性数据各自对应的属性编号值具体包括:
该文档中的不同属性的数据在进行连接时会在不同属性的数据中间存在一串连接符,根据该连接符能够将该文档解析输出分割成多个属性数据,接着根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据归为一类,然后再定义getID函数以此根据归为一类的属性数据中每个字节的属性定义得到其对应的属性编号值,其具体过程为:
步骤S201,利用下面公式(1),根据该连接符将该文档解析输出分割成多个属性数据,
在上述公式(1)中,μi表示该解析输出的文档中第i个字节处属于分割点的判定值;Di+a表示该文档解析输出中第i+a个字节的二进制形式数值;P1+a表示该连接符的第1+a个字节的二进制形式数值;n表示该连接符的字节总数;m表示该文档解析输出的字节总数;
将i的值从1取值到m-n+1得到所有满足μi=0的i值,在该所有满足μi=0的i值处的字节与其上一个字节的中间处作为分割点,对该文档解析输出进行分割,分割完成后得到多个属性数据;
步骤S202,通过上述步骤S201分割得到的多个属性数据,每个属性数据内部中每个字节的属性定义都是一致的,并且每个属性定义的名称也是由多个字节构成,利用下面公式(2),根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据归为一类,
在上述公式(2)中,H(r1,r2)表示分割完成后的第r1个属性数据与第r2个属性数据能否归为一类的判定值;Tr1,e表示分割完成后的第r1个属性数据的属性定义名称中的第e个字节的二进制形式数值;Tr2,e表示分割完成后的第r2个属性数据的属性定义名称中的第e个字节的二进制形式数值;Br1表示分割完成后的第r1个属性数据的属性定义名称中的字节总数;Br2表示分割完成后的第r2个属性数据文档的属性定义名称中的字节总数;min()表示求取括号内的最小值;
若H(r1,r2)≠0,表示分割完成后的第r1个属性数据与第r2个属性数据中字节的属性定义名称不同,即不能进行合并;
若H(r1,r2)=0,表示分割完成后的第r1个属性数据与第r2个属性数据中字节的属性定义名称相同,即能够进行合并;
通过上述步骤S202对分割得到的多个属性数据两两进行对比,将对比后的具有相同属性定义名称的属性数据全部合并归为一类,而合并为一类的属性数据即为该段落属性数据、该文字属性数据、该大纲属性数据、该表格属性数据或者该图像属性数据;
步骤S203,利用下面公式(3)作为getID函数,根据合为一类的属性数据中的字节个数以及合为一类的属性数据的属性定义名称,得到其对应的属性编号值,
getID(C)={Tc<<L[(Sc)2]+(Sc)2}10 (3)
在上述公式(3)中,getID(C)表示合为一类的属性数据文档中的第C类属性数据文档的属性编号值;Tc表示合为一类的属性数据文档中的第C类属性数据文档的属性定义名称所对应的二进制形式数值;Sc表示合为一类的属性数据文档中的第C类属性数据文档的字节个数;()2表示将括号内的数值转换为二进制形式;L[(Sc)2]表示将Sc转换为二进制形式后二进制数的位数;{}10表示将括号内的数值转换为10进制。
上述技术方案的有益效果为:利用上述公式(1)根据连接符将文档解析输出分割成多个属性数据,进而根据连接符将文档解析输出准确的分割成多个不同属性的数据,方便后续的归类以及确定属性编号值;再利用上述公式(2)根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据合为一类,进而将同属性的数据按照属性定义名称进行合并,进而分析得到ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;最后利用上述公式(3)根据合为一类的属性数据中的字节个数以及合为一类的属性数据的属性定义名称,得到其对应的属性编号值,使得求得的属性编号值可以准确的反应出数据文档的属性特点以及数据内部的字节数,并且与其他属性的数据可以严格的分隔开,进而可以根据属性编号值准确的确定数据的属性以及字节个数,保证编号的唯一性以及针对性。
优选地,在该步骤S2中,对该文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据具体包括:
将该ODF文档包含的meta.xml文档、styles.xml文档、content.xml文档、uof.xml文档和rules.xml文档中段落属性数据、文字属性数据、大纲属性数据对应的属性编号值进行存储,从而作为该文档样式属性数据和文档分节属性数据。
上述技术方案的有益效果为:该ODF文档通常包括meta.xml文档、styles.xml文档、content.xml文档、uof.xml文档和rules.xml文档这几种不同类型的文档,这些文档各自的属性数据并不相同,按照这些属性数据各自的属性编号值进行分类存储,从而便于后续快速和准确地读取相应的属性数据进行转换处理。
优选地,在该步骤S2中,对该文档样式属性数据和该文档分节属性数据进行转换处理,从而得到与该ODF文档对应的UOF文档具体包括:
对该文档样式属性数据和该文档分节属性数据进行主转换处理和后继转换处理;其中,
该主转换处理包括定义分别关于MetaTranslator、StylesTranslator、ContentTranslator的三种转换方式;并利用上述三种转换方式对该文档样式属性数据和该文档分节属性数据进行转换处理,从而将该ODF文档包含的meta.xml文档、styles.xml文档和content.xml文档进行转换处理;
该后继转换处理包括对该uof.xml文档和该rules.xml文档进行转换处理;
再将对该meta.xml文档、该styles.xml文档和该content.xml文档进行主转换处理的结果,以及对该uof.xml文档和该rules.xml文档进行后继转换处理的结果进行压缩,从而得到与该ODF文档对应的UOF文档。
上述技术方案的有益效果为:通过上述主转换处理对应的三种转换方式能够从文字、格式和内容这三方面进行转换,从而便于对文档进行全面的分析。而通过上述后继转换处理,能够对文档的其他类型文档数据进行转换,从而提高对文档的转换有效性。
优选地,在该步骤S3中,在文档外部接口的层面上,构建关于该UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对该UOF文档的二次开发和转换处理具体包括:
在文档外部接口的层面上,构建关于该UOF文档的动态链接库,再利用该动态链接库为用户提供对该UOF文档的二次开发功能,从将该UOF文档能够集成到不同办公软件;
在文档外部接口的层面上,构建关于该UOF文档的可执行文件库和注册表,再在该可执行文件库形成的界面上,通过修改该注册表的方式实现UOF文档的批量转换;
在文档外部接口的层面上,构建关于该UOF文档的日志系统,再利用该日志系统记录文档转换的时间。
上述技术方案的有益效果为:通过在文档外部接口的层面上,利用动态链接库、可执行文件库、注册表和日志系统对该UOF文档进行二次开发、批量转换和转换时间的记录,这样能够提高该UOF文档的功能开发扩展以及便于进行大规模的转换,从而提高转换效率。
优选地,在该步骤S3中,在该可执行文件库形成的界面上,通过修改该注册表的方式实现UOF文档的批量转换具体包括:
在该可执行文件形成的界面上,通过直接使用右键菜单或者使用命令行的方式修改该注册表的方式实现UOF文档的批量转换。
上述技术方案的有益效果为:通过直接使用右键菜单或者使用命令行的方式修改该注册表的方式实现UOF文档的批量转换,能够为用户进行文档的批量转换提供多种不同的选择方式。
优选地,在该步骤S4中,在用户界面上显示对该UOF文档进行转换处理的实时信息具体包括:
在用户界面上形成相应的信息展示窗口,该信息展示窗口用于显示文档转换所处的阶段以及每个阶段对应的转换时间。
上述技术方案的有益效果为:通过在用户界面的信息展示窗口中显示文档转换所处的阶段以及每个阶段对应的转换时间,这样用户能够实时和准确地获得文档的转换进度信息。
从上述实施例的内容可知,该对UOF文档进行转换的方法包括对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;对文档解析输出进行样式分析,从而得到关于ODF文档的文档属性数据;对文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对文档样式属性数据和文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;并在文档外部接口的层面上,构建关于UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对UOF文档的二次开发和转换处理;最后在用户界面上显示对所述UOF文档进行转换处理的实时信息,其在基础层、转换层、外部接口层和用户界面层这四个层面上对UOF文档进行转换,从而实现对UOF文档进行批量转换和二次开发。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.对UOF文档进行转换的方法,其特征在于,其包括如下步骤:
步骤S1,对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出;
步骤S2,对所述文档解析输出进行样式分析,从而得到关于所述ODF文档的文档属性数据;对所述文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据;再对所述文档样式属性数据和所述文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档;
步骤S3,在文档外部接口的层面上,构建关于所述UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对所述UOF文档的二次开发和转换处理;
步骤S4,在用户界面上显示对所述UOF文档进行转换处理的实时信息;其中,在所述步骤S2中,对所述文档解析输出进行样式分析,从而得到关于所述ODF文档的文档属性数据具体包括:
对所述文档解析输出进行样式分析,从而得到所述ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;
再定义getID函数对所述段落属性数据、所述文字属性数据、所述大纲属性数据、所述表格属性数据和所述图像属性数据进行处理,从而生成所述段落属性数据、所述文字属性数据、所述表格属性数据和所述图像属性数据各自对应的属性编号值;
其中,在所述步骤S2中,对所述文档解析输出进行样式分析,从而得到所述ODF文档包含的段落属性数据、文字属性数据、大纲属性数据、表格属性数据和图像属性数据;再定义getID函数对所述段落属性数据、所述文字属性数据、所述大纲属性数据、所述表格属性数据和所述图像属性数据进行处理,从而生成所述段落属性数据、所述文字属性数据、所述表格属性数据和所述图像属性数据各自对应的属性编号值具体包括:
所述文档中的不同属性的数据在进行连接时会在不同属性的数据中间存在一串连接符,根据所述连接符能够将所述文档解析输出分割成多个属性数据,接着根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据归为一类,然后再定义getID函数以此根据归为一类的属性数据中每个字节的属性定义得到其对应的属性编号值,其具体过程为:
步骤S201,利用下面公式(1),根据所述连接符将所述文档解析输出分割成多个属性数据,
在上述公式(1)中,μi表示所述解析输出的文档中第i个字节处属于分割点的判定值;Di+a表示所述文档解析输出中第i+a个字节的二进制形式数值;P1+a表示所述连接符的第1+a个字节的二进制形式数值;n表示所述连接符的字节总数;m表示所述文档解析输出的字节总数;
将i的值从1取值到m-n+1得到所有满足μi=0的i值,在所述所有满足μi=0的i值处的字节与其上一个字节的中间处作为分割点,对所述文档解析输出进行分割,分割完成后得到多个属性数据;
步骤S202,通过上述步骤S201分割得到的多个属性数据,每个属性数据内部中每个字节的属性定义都是一致的,并且每个属性定义的名称也是由多个字节构成,利用下面公式(2),根据每个属性数据中每个字节的属性定义将属性定义相同的属性数据归为一类,
在上述公式(2)中,H(r1,r2)表示分割完成后的第r1个属性数据与第r2个属性数据能否归为一类的判定值;Tr1,e表示分割完成后的第r1个属性数据的属性定义名称中的第e个字节的二进制形式数值;Tr2,e表示分割完成后的第r2个属性数据的属性定义名称中的第e个字节的二进制形式数值;Br1表示分割完成后的第r1个属性数据的属性定义名称中的字节总数;Br2表示分割完成后的第r2个属性数据文档的属性定义名称中的字节总数;min()表示求取括号内的最小值;
若H(r1,r2)≠0,表示分割完成后的第r1个属性数据与第r2个属性数据中字节的属性定义名称不同,即不能进行合并;
若H(r1,r2)=0,表示分割完成后的第r1个属性数据与第r2个属性数据中字节的属性定义名称相同,即能够进行合并;
通过上述步骤S202对分割得到的多个属性数据两两进行对比,将对比后的具有相同属性定义名称的属性数据全部合并归为一类,而合并为一类的属性数据即为所述段落属性数据、所述文字属性数据、所述大纲属性数据、所述表格属性数据或者所述图像属性数据;
步骤S203,利用下面公式(3)作为getID函数,根据合为一类的属性数据中的字节个数以及合为一类的属性数据的属性定义名称,得到其对应的属性编号值,
getID(C)={Tc<<L[(Sc)2]+(Sc)2}10 (3)
在上述公式(3)中,getID(C)表示合为一类的属性数据文档中的第C类属性数据文档的属性编号值;Tc表示合为一类的属性数据文档中的第C类属性数据文档的属性定义名称所对应的二进制形式数值;Sc表示合为一类的属性数据文档中的第C类属性数据文档的字节个数;()2表示将括号内的数值转换为二进制形式;L[(Sc)2]表示将Sc转换为二进制形式后二进制数的位数;{}10表示将括号内的数值转换为10进制。
2.如权利要求1所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S1中,对ODF文档进行解压处理和解析处理,从而得到相应的文档解析输出具体包括:
步骤S101,基于开源代码Zip Utils设计形成文档解压缩模块,并利用所述文档解压缩模块对所述ODF文档进行解压处理,从而得到所述ODF文档包含XML文档;
步骤S102,基于开源项目Xerces C++设计形成SAX解析模块,并利用所述SAX解析模块对所述XML文档进行解析处理,从而得到相应的文档解析输出。
3.如权利要求2所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S102中,利用所述SAX解析模块对所述XML文档进行解析处理,从而得到相应的文档解析输出具体包括:
利用所述SAX解析模块对所述XML文档进行解析处理,以此对所述XML文档进行逐行扫描和解析处理,从而得到相应的XML文档解析结果和文档静态表,以此作为所述文档解析输出。
4.如权利要求1所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S2中,对所述文档属性数据进行预处理,从而得到相应文档样式属性数据和文档分节属性数据具体包括:
将所述ODF文档包含的meta.xml文档、styles.xml文档、content.xml文档、uof.xml文档和rules.xml文档中段落属性数据、文字属性数据、大纲属性数据对应的属性编号值进行存储,从而作为所述文档样式属性数据和文档分节属性数据。
5.如权利要求4所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S2中,对所述文档样式属性数据和所述文档分节属性数据进行转换处理,从而得到与所述ODF文档对应的UOF文档具体包括:
对所述文档样式属性数据和所述文档分节属性数据进行主转换处理和后继转换处理;其中,
所述主转换处理包括定义分别关于MetaTranslator、StylesTranslator、ContentTranslator的三种转换方式;并利用上述三种转换方式对所述文档样式属性数据和所述文档分节属性数据进行转换处理,从而将所述ODF文档包含的meta.xml文档、styles.xml文档和content.xml文档进行转换处理;
所述后继转换处理包括对所述uof.xml文档和所述rules.xml文档进行转换处理;
再将对所述meta.xml文档、所述styles.xml文档和所述content.xml文档进行主转换处理的结果,以及对所述uof.xml文档和所述rules.xml文档进行后继转换处理的结果进行压缩,从而得到与所述ODF文档对应的UOF文档。
6.如权利要求5所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S3中,在文档外部接口的层面上,构建关于所述UOF文档的动态链接库、可执行文件库、注册表和日志系统,从而实现对所述UOF文档的二次开发和转换处理具体包括:
在文档外部接口的层面上,构建关于所述UOF文档的动态链接库,再利用所述动态链接库为用户提供对所述UOF文档的二次开发功能,从将所述UOF文档能够集成到不同办公软件;
在文档外部接口的层面上,构建关于所述UOF文档的可执行文件库和注册表,再在所述可执行文件库形成的界面上,通过修改所述注册表的方式实现UOF文档的批量转换;
在文档外部接口的层面上,构建关于所述UOF文档的日志系统,再利用所述日志系统记录文档转换的时间。
7.如权利要求6所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S3中,在所述可执行文件库形成的界面上,通过修改所述注册表的方式实现UOF文档的批量转换具体包括:
在所述可执行文件形成的界面上,通过直接使用右键菜单或者使用命令行的方式修改所述注册表的方式实现UOF文档的批量转换。
8.如权利要求1所述的对UOF文档进行转换的方法,其特征在于:
在所述步骤S4中,在用户界面上显示对所述UOF文档进行转换处理的实时信息具体包括:
在用户界面上形成相应的信息展示窗口,所述信息展示窗口用于显示文档转换所处的阶段以及每个阶段对应的转换时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111388257.5A CN114218895B (zh) | 2021-11-22 | 2021-11-22 | 对uof文档进行转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111388257.5A CN114218895B (zh) | 2021-11-22 | 2021-11-22 | 对uof文档进行转换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114218895A CN114218895A (zh) | 2022-03-22 |
CN114218895B true CN114218895B (zh) | 2022-08-19 |
Family
ID=80697757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111388257.5A Active CN114218895B (zh) | 2021-11-22 | 2021-11-22 | 对uof文档进行转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218895B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866331A (zh) * | 2009-12-24 | 2010-10-20 | 北京信息科技大学 | 不同语种xml文档的转换方法及装置 |
CN106294493A (zh) * | 2015-06-08 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 实现文档格式转换的方法及装置 |
CN110109838A (zh) * | 2019-05-08 | 2019-08-09 | 北京信息科技大学 | 一种办公文档排版式样的测试方法及装置 |
CN111914305A (zh) * | 2020-09-23 | 2020-11-10 | 江西金格科技股份有限公司 | 一种基于uof文档进行国密电子签章处理系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520728B (zh) * | 2008-02-25 | 2012-07-04 | 天津书生投资有限公司 | 一种第三方软件处理符合文档库标准的文档的方法 |
US20130179774A1 (en) * | 2005-12-05 | 2013-07-11 | Sursen Corp. | Method and apparatus for processing document conforming to docbase standard |
CN101430684A (zh) * | 2007-11-09 | 2009-05-13 | 北大方正集团有限公司 | 中文办公软件文档与其他格式文档相互转换的方法及装置 |
CN101599011B (zh) * | 2008-06-05 | 2016-11-16 | 天津书生投资有限公司 | 文档处理系统和方法 |
CN101937426A (zh) * | 2010-08-31 | 2011-01-05 | 北京红旗贰仟软件技术有限公司 | 一种不兼容数据的处理方法和装置 |
CN102289407B (zh) * | 2011-09-06 | 2013-12-11 | 北京信息科技大学 | 文档格式转换自动测试方法 |
-
2021
- 2021-11-22 CN CN202111388257.5A patent/CN114218895B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866331A (zh) * | 2009-12-24 | 2010-10-20 | 北京信息科技大学 | 不同语种xml文档的转换方法及装置 |
CN106294493A (zh) * | 2015-06-08 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 实现文档格式转换的方法及装置 |
CN110109838A (zh) * | 2019-05-08 | 2019-08-09 | 北京信息科技大学 | 一种办公文档排版式样的测试方法及装置 |
CN111914305A (zh) * | 2020-09-23 | 2020-11-10 | 江西金格科技股份有限公司 | 一种基于uof文档进行国密电子签章处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114218895A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7076486B2 (en) | Method and system for efficiently identifying differences between large files | |
JP5274305B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
US20150149893A1 (en) | Multi-level List Detection Engine | |
US7995842B2 (en) | System and method for binary persistence format for a recognition result lattice | |
US9928225B2 (en) | Formula detection engine | |
US6801673B2 (en) | Section extraction tool for PDF documents | |
CN109492199B (zh) | 一种基于ocr预判断的pdf文件转换方法 | |
US10025979B2 (en) | Paragraph property detection and style reconstruction engine | |
US9069734B2 (en) | Processing method and system for configuring an EXI processor | |
US6850228B1 (en) | Universal file format for digital rich ink data | |
US20130191366A1 (en) | Pattern Matching Engine | |
RU2406142C2 (ru) | Система и способ для сохранения документа в последовательном двоичном формате | |
US20140258852A1 (en) | Detection and Reconstruction of Right-to-Left Text Direction, Ligatures and Diacritics in a Fixed Format Document | |
CN114238689A (zh) | 视频生成方法、装置、电子设备、存储介质和程序产品 | |
JP7309811B2 (ja) | データ注釈方法、装置、電子機器および記憶媒体 | |
CN114218895B (zh) | 对uof文档进行转换的方法 | |
CN117648293A (zh) | Psd文件的处理方法、装置、计算机设备和介质 | |
CN110647573B (zh) | 基于数据库技术的图表可视化编辑方法和系统 | |
CN115712601A (zh) | 一种基于springbatch批量读取定长文件的方法 | |
CN113546409B (zh) | Laya引擎播放GIF格式资源的方法、存储介质 | |
JP5159588B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
CN112199335A (zh) | 一种操作日志的生成方法和生成系统 | |
JP5478936B2 (ja) | 情報処理装置、情報処理方法 | |
JPH0743728B2 (ja) | 要約文生成方式 | |
CN118656533A (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 |