一种用于HTML转换为Word文档的方法及装置的制造方法

文档序号:9667429阅读:348来源:国知局
一种用于HTML转换为Word文档的方法及装置的制造方法
【技术领域】
[0001]本发明涉及办公自动化技术领域,特别是涉及一种用于HTML转换为Word文档的方法及装置。
【背景技术】
[0002]HTML格式文件是在Web浏览器上浏览的文件,作为一种标记语言,HTML具有简易性、可扩展性、平台无关性、通用性等特点,因此,HTML格式文件在WEB浏览器上广泛应用,但是,HTML文档在格式上不如D0CX文档功能丰富,特别是在撰写各类报告的时候,很多用户都习惯制作成企业内部所惯用的报告或报表格式。而且MS-Word的图形化界面以及其便捷高效的文本编辑方式也是Web编辑器无法企及的。
[0003]现有的Word格式转换技术中,通常是通过JACOB (JAVA COM Bridge)将要转换的内容写入Word格式的文档中。本发明人发现:使用JACOB的Java的应用程序,其目标系统必须是Windows操作系统,也就是说,采用JACOB的方式进行格式转换的平台只能是Windows操作系统,对于Linux操作系统不适用。显然,在Linux操作系统日益广泛使用的今天,该方法限制了许多用户使用。

【发明内容】

[0004]本发明提供了一种用于HTML转换为Word文档的方法及装置,能够跨平台的将HTML文本转换为Word文本。其中,一种用于HTML转换为Word文档的方法,包括:
[0005]解析HTML文本,从解析结果中获取文本内容和文本样式;
[0006]用具有Word文档排版风格的Java实体类将所述文本内容和所述文本样式组成XML文件;
[0007]将所述XML文件以及对应的资源文件、配置文件进行压缩,得到压缩后的文件;
[0008]读取所述压缩后的文件的扩展名,将所述压缩后的文件的扩展名转换为Word文档的扩展名。
[0009]所述用具有Word文档排版风格的Java实体类将所述文本内容和所述文本样式组成XML文件,具体包括:
[0010]从所述文本内容中获取页眉、页脚和正文,从所述文本样式中获取页眉的样式、页脚的样式以及正文的样式;
[0011 ] 按照具有Word文档排版风格的Java实体类,将所述页眉及其样式,所述页脚及其样式,以及所述正文及其样式组成XML文件。
[0012]所述用具有Word文档排版风格的Java实体类将所述文本内容和所述文本样式组成XML文件,具体包括:
[0013]从所述文本内容中获取正文中的每个段落,对每个段落分别获取所述段落中的所有的字符串;
[0014]从所述文本样式中获取所述正文的样式中的各字符串对应的引用信息、排版样式;
[0015]用具有Word文档排版风格的Java实体类将所有的字符串和所述字符串对应的引用信息、排版样式组成XML文件。
[0016]所述将所述XML文件以及对应的资源文件、配置文件进行压缩,具体包括:
[0017]获取所述XML文件中的每个组成部分,对每个组成部分获取对应的资源文件和配置文件,将所述XML文件中的每个组成部分及其对应的资源文件和配置文件放置在同一地址中组成数据包,对所述数据包压缩,得到压缩后的文件。
[0018]所述解析HTML文本,从解析结果中获取文本内容和文本样式,具体包括:用HTMLParser解析HTML文本,从解析结果中获取文本内容和文本样式。
[0019]—种用于HTML转换为Word文档的装置,包括:
[0020]解析模块,用于解析HTML文本,从解析结果中获取文本内容和文本样式;
[0021]重组模块,用于用具有Word文档排版风格的Java实体类将所述文本内容和所述文本样式组成XML文件;
[0022]压缩模块,用于将所述XML文件以及对应的资源文件、配置文件进行压缩,得到压缩后的文件;
[0023]发布模块,用于读取所述压缩后的文件的扩展名,将所述压缩后的文件的扩展名转换为Word文档的扩展名。
[0024]所述重组模块,具体包括:
[0025]第一获取子模块,用于从所述文本内容中获取页眉、页脚和正文;
[0026]第二获取子模块,用于从所述文本样式中获取页眉的样式、页脚的样式以及正文的样式;
[0027]第一重组子模块,用于按照具有Word文档排版风格的Java实体类,将所述页眉及其样式,所述页脚及其样式,以及所述正文及其样式组成XML文件。
[0028]所述重组模块,具体包括:
[0029]第三获取子模块,用于从所述文本内容中正文中的每个段落,对每个段落分别获取所述段落中的所有的字符串;
[0030]第四获取子模块,用于从所述文本样式中获取所述正文的样式中的各字符串对应的引用信息、排版样式;
[0031]第二重组子模块,用于用具有Word文档排版风格的Java实体类将所有的字符串和所述字符串对应的引用信息、排版样式组成XML文件。
[0032]所述压缩模块,具体包括:
[0033]获取所述XML文件中的每个组成部分,对每个组成部分获取对应的资源文件和配置文件,将所述XML文件中的每个组成部分及其对应的资源文件和配置文件放置在同一地址中组成数据包,对所述数据包压缩,得到压缩后的文件。
[0034]所述解析模块,具体包括:用HTMLParser解析HTML文本,从解析结果中获取文本内容和文本样式。
[0035]根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0036]通过本发明,可以解析HTML文本,从解析结果中获取文本内容和文本样式,用具有Word文档排版风格的Java实体类将文本内容和文本样式组成XML文件,由于Java语言本身具有可以跨平台使用的特点,因此,本方法对系统平台没有限制,可移植性比较好。再将XML文件以及对应的资源文件、配置文件进行压缩,得到压缩后的文件,将压缩后的文件的扩展名转换为Word文档的扩展名进行发布,得到Word格式的文档。采用本发明提供的方法,能够跨平台实现HTML转换为Word文档。
【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本发明实施例提供的一种用于HTML转换为Word文档的方法流程图;
[0039]图2是本发明实施例提供的主体内容XML文件示意图;
[0040]图3是本发明实施例提供的内容类型定义文件示意图;
[0041]图4是本发明实施例提供的映射关系文件不意图;
[0042]图5是本发明实施例提供的一种用于HTML转换为Word文档的装置框图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0044]本发明实施例提供一种用于HTML转换为Word文档的方法,如图1所示,包括:
[0045]步骤101:解析HTML文本,从解析结果中获取文本内容和文本样式;
[0046]在本发明实施例中,可以采用HTMLParser解析HTML文本,从得到的解析结果中获取文本内容和文本样式。其中,HTMLParser是一个纯Java语言编写的HTML解析库。采用HTMLParser能够快速、准确地解析HTML文本。文本内容中可以包括页眉、页脚和正文。文本样式包括文本内容中各部分对应的样式,可以包括页眉的样式、页脚的样式以及正文的样式。
[0047]步骤102:用具有Word文档排版风格的Java实体类将文本内容和文本样式组成XML文件;
[0048]在本发明实施例中,对于从上述步骤101中获取到的文本内容何文本样式,可以从文本内容中获取页眉、页脚和正文,从文本样式中获取页眉的样式、页脚的样式以及正文的样式。在获取到页眉和页眉的样式、页脚和页脚的样式、正文和正文的样式之后,可以按照各部分具体的内容及样式组织相应类型的文件,在本发明实施例中,可以按照具有Word文档排版风格的Java实体类,将页眉及其样式,页脚及其样式,以及正文及其样式组成XML文件。
[0049]组成XML文件时,可以从文本内容中获取正文中的每个段落,对每个段落分别获取段落中的所有的字符串,从文本样式中获取正文的样式中的各字符串对应的引用信息、排版样式。然后,用具有Word文档排版风格的Java实体类将所有的字符串和字符串对应的引用信息、排版样式组成XML文件。
[0050]例如,文本内容和文本样式注入到具有Word文档排版风格的Java实体类中。该Java实体类命名为Document,其中包含三个Header、Body、Footer三个属性。Header和Footer中分别存放的是页眉和页脚,且都包含了内容、样式两个属性;Body中存放的是文本内容,其中Body中包含若干个段落和若干个字符串。对于每个字符串中包含存放的该字符串的引用信息和排版样式。将该Java实体类按具有Word文档排版风格组成XML文件:在本发明实施例中,可以将XML文件存放在“/document, xml”文件里。其中包含一对 <w:body>〈/w:body> 标签,<w:bodyX/w:body> 又包含若干对 <w:p>〈/w:p> 标签。每对<w:p></w:p>都表示一个段落,中间可以包含若干对<w:r>〈/w:r>标签和一个用以描述段落样式的<w:pPr/>标签。每对<w:r>〈/w:r>表示一串连续的字符,里面包含一用以描述字符串样式的<w:rPr/>标签和一对存放字符串的<w:t>〈/w:t>标签。此处不再详述。
[0051]步骤103:将XML文件以及对应的资源文件、配置文件进行压缩,得到压缩后的文件;
[0052]在本发明实施例中,可以对上述步骤102中组成的XML文件,及其对应的资源文件和配置文件组成一个数据包,再进行压缩。具体为获取该XML文件中的每个组成部分,对每个组成部分获取对应的资源文件和配置文件,将XML文件中的每个组成部分及其对应的资源文件和配置文件放置在同一地址中组成数据包,对该数据包压缩,得到压缩后的文件。
[0053]对于Word类型的文档,其是按0PC (Open Packaging Convent1ns)公约进行封装的,而0PC公约可以用ZIP格式对文档实例进行打包压缩。从逻辑上来讲,一个XML文件就是一个0PC包,这个0PC包又
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1