CN106294493B - 实现文档格式转换的方法及装置 - Google Patents
实现文档格式转换的方法及装置 Download PDFInfo
- Publication number
- CN106294493B CN106294493B CN201510310288.7A CN201510310288A CN106294493B CN 106294493 B CN106294493 B CN 106294493B CN 201510310288 A CN201510310288 A CN 201510310288A CN 106294493 B CN106294493 B CN 106294493B
- Authority
- CN
- China
- Prior art keywords
- document
- style
- markdown
- tag
- marks
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种实现文档格式转换的方法及装置,其中,实现文档格式转换的方法包括:载入word文档;将载入的所述word文档转换为网页文档;及将所述网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档;其中,所述Markdown文档中保留了所述网页文档中样式属性对应的样式效果。实现文档格式转换的装置包括:word文档加载模块、word文档转换模块及网页文档转换模块。本发明能避免进行Markdown文档转换中样式效果的丢失,实现Markdown文档中样式效果的再次编辑。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种实现文档格式转换的方法及装置。
背景技术
Markdown作为一种轻量级的标记语言,具有很好的可读性。例如,用一个“*”标记包含一段文本就表示该段文本为斜体显示,用两个“*”标记包含一段文本就表示该段文本为粗体显示。
Markdown文档采用纯文本的格式编辑,可以采用普通的文本编辑器打开,兼容性极强;也有一些专为Markdown设计的编辑器,可以直接在该专为Markdown设计的编辑器中预览Markdown文档的样式。
在各种需要用户编辑输入的应用场景中,Markdown文档已经被广泛地使用。例如,应用于github(版本控制系统)上的项目说明文档。Markdown文档可以很方便地转换成html格式文档即网页文档以及pdf文档等各种更直观的格式文档,当然,有时候也会需要按照用户的实际需求将word文档、网页文档等具有更强的展现样式的格式文档转换为Markdown文档。
目前,将word文档转换为Markdown文档的方式主要有如下两种:
(1)把word文档转换成网页文档后,直接嵌入到Markdown文档中,因为Markdown文档支持原样输出内嵌的网页文档。这种方式虽然可以最大程度的保留原word文档的样式效果,但无法对该Markdown文档再次编辑。
(2)把word文档转换成网页文档后,再把转换后的网页文档进一步地转换成Markdown文档,这种方式保留了Markdown文档的优势,即可以很方便地进行再次编辑。但缺点是会丢失原网页文档的部分样式效果,例如大字号的文本会变成标题,字体颜色会丢失等,进而使得原word文档的展现样式在转换过程中的丢失。
因此,无论采用上述何种转换方式,转换后的文档要么不可再次编辑,要么会引起原word文档的展现样式的丢失,使得Markdown文档的应用场景受到限制。
发明内容
基于此,有必要提供一种能避免进行Markdown文档转换中样式效果的丢失,实现Markdown文档中样式效果的再次编辑的实现文档格式转换的方法。
此外,还有必要提供一种能避免进行Markdown文档转换中样式效果的丢失,实现Markdown文档中样式效果的再次编辑的实现文档格式转换的装置。
为了解决上述技术问题,本发明所采用的技术方案为:
一种实现文档格式转换的方法,包括:载入word文档;将载入的所述word文档转换为网页文档;及将所述网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档;其中,所述Markdown文档中保留了所述网页文档中样式属性对应的样式效果。
一种实现文档格式转换的装置,包括:word文档加载模块、word文档转换模块及网页文档转换模块,其中,word文档加载模块用于载入word文档;word文档转换模块用于将载入的所述word文档转换为网页文档;及网页文档转换模块用于将所述网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档;其中,所述Markdown文档中保留了所述网页文档中样式属性对应的样式效果。
与现有技术相比,本发明具有以下有益效果:
文档进行格式转换中,在将word文档转换为网页文档之后,将该网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,由此输出转换完成的Markdown文档,由于word文档至网页文档之间的转换以及网页文档至Markdown文档之间的转换均未丢失其中的样式效果,特征是网页文档的标签中样式属性均转换为对应的扩展标记,以将word文档中的样式效果原原本本地转换至Markdown文档中,使得转换得的Markdown文档既保留了原网页文档的样式效果,又可以很方便地重复编辑,从而扩大了Markdown文档的应用场景。
附图说明
图1为一实施例的实现文档格式转换的方法的流程图;
图2为另一实施例的实现文档格式转换的方法的流程图;
图3为图1中网页文档转换为Markdown文档的方法的流程图;
图4为一个实施例中通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对Markdown文档进行解析,以将Markdown文档还原为网页文档的方法流程图;
图5为一实施例的实现文档格式转换的方法的流程图;
图6为一个实施例中实现文档格式转换的方法的应用示意图;
图7为图6中实现文档格式转换的方法的应用示意图;
图8为一实施例的实现文档格式转换的系统的结构框图;
图9为另一实施例的实现文档格式转换的系统的结构框图;
图10为图9中网页文档转换模块的结构框图;
图11为另一实施例的实现文档格式转换的系统的Markdown文档还原模块的结构框图;
图12为另一实施例的实现文档格式转换的系统的结构框图;
图13为本发明实施例所提供的一种服务器的结构示意图。
具体实施方式
体现本发明特征与优点的典型实施方式将在以下的说明中详细叙述。应理解的是本发明能够在不同的实施方式上具有各种的变化,其皆不脱离本发明的范围,且其中的说明及图示在本质上是当作说明之用,而非用以限制本发明。
如前所述,由于Markdown文档具有可以很方便地进行再次编辑的优势,已经被广泛地应用于各种需要用户编辑输入的应用场景中。
但是,Markdown文档也存在着一个缺点,即在与具有更强的展现样式的word文档的转换过程中往往会引起样式属性的丢失,使Markdown文档的应用场景受到限制。
因此,为了扩大Markdown文档的应用场景,使转换得的Markdown文档不仅可再次编辑,同时可以保留原word文档中的样式效果,特提出了一种实现文档格式转换的方法。该方法可依赖于计算机程序,该计算机程序将运行在服务器之上。
请参阅图1,在一实施例中,一种实现文档格式转换的方法包括以下步骤:
步骤110,载入word文档。
本实施例中,该word文档的载入由一文件服务器执行,以利于被载入的word文档能够在该文件服务器上完成后续的文档格式转换步骤。
其中,欲转换为Markdown文档的该word文档包含有各种文本内容以及该些文本内容所对应的展现样式,该展现样式均有对应的样式属性,也就是说,该word文档在进行内容显示时所对应的文档页面将显示有各种文本内容,并且该些文本内容所对应的展现样式也将显示于文档页面中。
步骤130,将载入的word文档转换为网页文档。
本实施例中,文件服务器中,触发打开载入的word文档,并将该word文档转换为网页文档。其中,word文档的打开与转换均可通过开源工具实现,例如,该开源工具可以是开源的办室软件套件。
进一步的,对于载入文件服务器的word文档而言,可通过其所在的文件服务器调用跨平台的开源的办公室软件套实现打开与转换。
例如,该办公室软件套件可以是OpenOffice开源软件,其可以在Windows、Linux、Mac OS等操作系统上执行。该网页文档指的是可以采用纯文本格式进行编辑的文本形式,通过该网页文档即可实现相应的网页页面显示。
当然,在其他实施例中,也可以通过本地计算机将载入的word文档转换为网页文档。例如,将本地计算机中保存的word文档直接打开,并将word文档另存为html格式的文档类型,即网页文档,以此完成一次办公室软件套件的调用过程,然后再将转换后的该网页文档上传文件服务器,以在文件服务器上完成后续的Markdown文档格式转换步骤。
步骤150,将网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档。
其中,Markdown文档中保留了网页文档中样式属性对应的样式效果。
本实施例中,Markdown形式的原生语法中,预先对原生语法进行扩展,以得到样式属性与扩展标记之间的对应关系,并进行存储,进而得以在网页文档转换为Markdown文档的过程中通过原生Markdown语法所进行的扩展,达到保留网页文档中样式效果的目的。
html语言是用于描述网页文档的一种标记语言,标签是html语言中的基本单位,也就是说,网页文档包含有多个标签。标签分为多种类型,例如,类型可以为属性类型、文本类型、表格类型等。标签中包含有各种不同作用的属性,例如,用于定义网页文档的样式效果的样式属性、用于定义网页文档的段落效果的段落属性、用于定义网页文档的表格样式的表格属性等。
在本实施例中,具有样式属性的标签为属性类型的标签,用于定义网页文档的样式效果。被转换为原生标记的标签则包括具有其他属性的属性类型的标签以及所有其他类型的标签。而Markdown形式的原生语法中仅包含有具有其他属性的属性类型的标签以及所有其他类型的标签与原生标记之间的对应关系,其仅能够将标签转换为原生标记,故而无法识别出原网页文档中的样式效果。由此,对原生语法进行扩展,以形成样式属性与扩展标记之间的对应关系,该对应关系可为多个,并形成一标记转换包,使得在文档格式转换过程中,对网页文档中的所有标签进行遍历时,标签中的样式属性能够被转换为扩展标记。
由于原生语法中的原生标记侧重于文档结构,并不支持具体的一些样式展现,通过对原生的Markdown语法进行扩展,形成与样式属性具有对应关系的扩展标记,将样式属性转换为扩展标记,将标签转换为原生标记,使得样式属性所定义的网页文档的样式效果得以被保留,从而避免了现有技术中原网页文档的样式丢失,进而导致原word文档的样式丢失的问题。
请参阅图2,在一实施例中,步骤150之前,实现文档格式转换的方法还包括以下步骤:
步骤210,为样式属性创建扩展标记。
本实施例中,样式属性用于定义网页文档的样式效果,例如,所定义的样式效果包括字体大小、字体颜色、背景颜色及图片大小等。而被创建的扩展标记则是用于标识网页文档的样式效果。
例如,用于定义字体大小的样式属性为“<span style="font-size:16
px">文本</span>”,为该样式属性创建的扩展标记对应地为“!字体大小 文本!”,由此形成该样式属性与创建的扩展标记之间的对应关系,通过该对应关系使得Markdown文档可以用来标识网页文档的字体大小。
步骤230,建立样式属性与创建的扩展标记之间的对应关系,并保存该对应关系。
本实施例中,保存了多个对应关系,以用于在网页文档与Markdown文档之间的转换,即,对网页文档中标签所包含的样式属性进行相应的转换,通过保存的对应关系,使得由网页文档转换得到的Markdown文档中能够保留与该样式属性所定义的相关内容,即保留了网页文档中的样式效果。其中,保存的多个对应关系将以标记转换包的形式存在。
原生语法中,各种原生标记并无法在Markdown文档中标识出网页文档的样式效果,也就是说,样式属性与原生标记之间并不存在对应关系,而包含有样式属性的标签只有除去样式属性的剩余部分才能够被转换为原生标记,使得样式属性丢失,导致网页文档的样式效果丢失。例如,字号大于16的文本全部转换成标题,或者,设置了字体颜色的文本转换成不带字体颜色的文本。
通过形成的标记转换包使得扩展后的原生语法不仅能够将标签中的其他属性转换为原生标记,还能够将标签中的样式属性转换为扩展标记。
其中,可以用于网页文档到Markdown文档的转换工具可以是pandoc、html2text、remark等,只要将形成的标记转换包扩展至相应的转换工具中,即可形成保留有原网页文档的样式效果的Markdown文档。
当然,在其他实施例中,标记转换包中可以既包含有原生标记与标签的对应关系,也包含有扩展标记与标签中样式属性的对应关系,以节省研发所耗费的成本,本发明并不以此为限。
请参阅图3,在一实施例中,步骤150包括以下步骤:
步骤151,遍历网页文档中的标签,判断标签是否包含样式属性,若为是,则进入步骤153,若为否,则进入步骤155。
本实施例中,由于文本形式的网页文档通常包括一系列的标签,因此网页文档的转换过程实际就是对网页文档中的标签进行遍历,并对每一标签及其中所包含的各种属性进行识别,进而根据扩展的原生语法完成对该标签的相应转换。
步骤153,按照预存的样式属性与扩展标记之间的对应关系,将样式属性转换为扩展标记。
本实施例中,当判断到当前遍历的标签中包含有样式属性,例如,识别到标签的样式属性中包含用于定义字体大小的关键字font-size、用于定义字体颜色的关键字color、用于定义背景颜色的关键字background-color、用于定义图片宽度的关键字width、以及用于定义图片高度的关键字height等,则说明当前遍历的标签中包含有样式属性,进而根据预存的样式属性与扩展标记之间的对应关系,将该样式属性转换为扩展标记。
步骤155,按照标签在原生语法中对应的原生标记将标签转换为原生标记。
本实施例中,当判断到当前遍历的标签中不包含有样式属性,例如,识别到的是标签的其他属性,该其他属性中包含用于定义文档链接颜色的关键字body link、用于定义表格置左位置的关键字left、包含用于定义表格居中位置的关键字center等,或者,识别到的是用于定义斜体字效果的文本类型的标签、用于定义标题的标题类型的标签等,则说明当前遍历的标签中不包含有样式属性,进而根据原生语法,按照标签与原生标记之间的对应关系,将该标签转换为原生标记。
进一步地,标签与原生标记之间的对应关系实际上包含了属性类型的标签的其他属性与原生标记之间的对应关系、以及其他类型的标签与原生标记之间的对应关系,从而根据原生语法,按照属性类型的标签的其他属性与原生标记之间的对应关系,将属性类型的标签的其他属性转换为原生标记,按照其他类型的标签与原生标记之间的对应关系,将其他类型的标签转换为原生标记。
其中,标签与原生标记之间的对应关系,可以被保存在扩展后的标记转换包中,也可以被保存于其他位置,在此不进行限定。
步骤157,输出包含转换得到的原生标记和扩展标记的Markdown文档。
在一实施例中,步骤150之后,实现文档格式转换的方法还包括以下步骤:
通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对Markdown文档进行解析,以将Markdown文档还原为网页文档。
本实施例中,由于Markdown文档虽然可以很方便地对原文档进行再次编辑,但是其并不能够直接显示出原文档的样式效果,因此,Markdown文档通常还需要转换成可以更直观地显示出原文档的样式效果的文档,例如,该文档可以是网页文档或者pdf等格式的其他文档。
用于支持Markdown形式的原生语法的html格式转换工具可以是支持Markdown语法扩展的github flavored markdown、以及基于parboiled PEG词法解析器的pegdown工具库等,只要对该些转换工具进行扩展,使其能够同时识别原生标记与扩展标记,即可相应地还原出所需要的网页文档。
优选地,本实施例中对pegdown工具库进行扩展,以使扩展的Markdown语法更好地兼容原生的Markdown语法,同时更好地支持语法之间的嵌套关系。
例如,欲转换的Markdown文档中保留了原网页文档中加粗显示的文本块中改变部分文字的颜色的样式效果,或者,保留了原网页文档中黄色背景的文本块中加大部分文字的字号的样式效果,而通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对该欲转换的Markdown文档进行解析,还原出的网页文档中将显示出上述被保留的样式效果,从而使得原网页文档中的样式效果得以保留,并且还原度很高,进而扩大了Markdown文档的应用场景。
请参阅图4,在一实施例中,上述通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对Markdown文档进行解析,以将Markdown文档还原为网页文档的步骤包括:
步骤410,触发运行词法解析器。
本实施例中,在文件服务器上运行词法解析器,通过词法解析器接收字符串形式的Markdown文档,以完成后续的文档格式转换的步骤。
步骤430,通过词法解析器扫描Markdown文档中的标记,将标记中的原生标记转换为标签,并根据规则序列中扩展标记与样式属性之间的对应关系,将标记中的扩展标记转换为样式属性,以输出还原的网页文档。
本实施例中,标记包括原生标记与扩展标记。由于接收到的Markdown文档是字符串形式的,因此对Markdown文档的转换过程实际就是对Markdown文档中标记的扫描过程。
通过词法解析器根据Markdown文档的输入次序依次扫描Markdown文档中的标记,在扫描的同时根据扩展后的html语言的词法规则识别出具有独立意义的单词,并产生相应单词的属性字。其中,该单词即为标签,该属性字即为相应标签中包含的各种属性。
其中,扩展后的html语言的词法规则即为规则序列中所体现的扩展标记与样式属性之间的对应关系、以及原生标记与标签之间的对应关系。在扫描的同时根据该规则序列即可将将标记中的扩展标记转换为样式属性。
请参阅图5,在一实施例中,上述通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对Markdown文档进行解析,以将Markdown文档还原为网页文档的步骤之前,实现文档格式转换的方法还包括以下步骤:
步骤510,创建包含了扩展标记与样式属性之间的对应关系的规则序列。
本实施例中,扩展标记用于标识原网页文档的样式效果,例如该样式效果包括字体大小、字体颜色、背景颜色及图片大小等。样式属性则是用于定义网页文档的样式效果的。通过建立扩展标记与样式属性之间的对应关系,使得Markdown文档中保留的原网页文档的样式效果可以被高度地还原出来。
例如,扩展标记为“!字体大小 文本!”,与之有对应关系的用于定义字体大小的样式属性被表示为“<span style="font-size:16px">文本</span>”,将扩展标记与样式属性同时包含于规则序列中,即形成包含了二者之间的对应关系的规则序列,按照该规则序列即可还原出Markdown文档中保留的原网页文档的字体大小。
步骤530,将规则序列传入词法解析器中,以更新词法解析器。
本实施例中,将创建的规则序列传入词法解析器,使得更新后的词法解析器可以将Markdown文档中保留的原网页文档的样式效果高度还原出来。
更新前的词法解析器无法解析Markdown文档中的扩展标记,也就是说,包含了样式属性与扩展标记之间的对应关系的规则序列并未被传入词法解析器中,即使是扩展标记也只能被转换为不具有样式属性的标签,甚至于无法解析,使得Markdown文档中保留的原网页文档的样式效果丢失而无法被还原出来。例如,保留了字号等于16的样式效果的Markdown文本全部被还原成不带字号的网页文档,或者,保留了字体颜色的样式效果的Markdown文本被还原成不带字体颜色的网页文档。
通过更新的词法解析器使得扩展后的Markdown语法能够被解析,以识别出标签中的样式属性,将原生标记转换为标签,并将扩展标记转换为标签中的样式属性,使得Markdown文档中保留的原网页文档的样式效果可以被高度地还原出来,从而彻底解决了Markdown文档的应用场景受限制的问题,既保留了转换之前原word文档中的样式效果,同时可以很方便地重复编辑。
请参阅图6至图7,下面结合一个具体的实施例来详细阐述上述实现文档格式转换的基本流程,具体包括:
步骤610,通过文件服务器调用OpenOffice开源软件将加载的word文档转换为网页文档。
步骤630,通过使用remark转换工具将网页文档转换为Markdown文档。
本实施例中,转换过程具体包括以下步骤:
步骤631,通过遍历网页文档中的所有标签,判断当前标签中是否包含有样式属性。
步骤633,如果未包含样式属性,则按照当前标签与原生标记之间的对应关系,将该当前标签转换为相应的原生标记。
步骤635,如果包含样式属性,则按照当前标签的样式属性与扩展标记之间的对应关系,将该当前标签的样式属性转换为相应的扩展标记。进一步地,首先判断当前标签所包含的样式属性是否有定义字体大小的关键字font-size,若为是,则将当前标签的样式属性转换为标识字体大小的扩展标记“!字体大小 文本!”。若为否,则继续判断当前标签所包含的样式属性是否有定义字体颜色的关键字color,若为是,则将当前标签的样式属性转换为标识字体颜色的扩展标记“!!#十六位RGB颜色值 文本!!”。若为否,则继续判断当前标签所包含的样式属性是否有定义背景颜色的关键字background-color,则将当前标签的样式属性转换为标识背景颜色的扩展标记“!!!#十六位RGB颜色值 文本!!!”。
步骤637,直至完成对所有类型的标签的遍历,即完成相应的转换过程。
步骤650,通过使用pegdown工具库将Markdown文档还原为网页文档。
本实施例中,该Markdown文档还原为网页文档的还原过程实际上是网页文档转换为Markdown文档的转换过程的逆过程。该还原过程具体包括以下步骤:
通过依序扫描Markdown文档中的所有标记,判断当前标记中是否包含有扩展标记。
如果未包含扩展标记,则按照原生标记与标签之间的对应关系,将该当前标记转换为相应的标签。
如果包含扩展标记,则按照扩展标记与样式属性之间的对应关系,将该当前标记转换为相应的样式属性。进一步地,首先判断当前标记所包含的扩展标记是否为标识字体大小的“!字体大小 文本!”,若为是,则将当前标记转换为定义字体大小的样式属性“<spanstyle="font-size:16px">文本</span>”。若为否,则继续判断当前标记所包含的扩展标记是否为标识字体颜色的“!!#十六位RGB颜色值 文本!!”,若为是,则将当前标记转换为定义字体大小的样式属性“<span style="color:#fffff">文本</span>”。若为否,则继续判断当前标记所包含的扩展标记是否为标识背景颜色的“!!!#十六位RGB颜色值 文本!!!”,则将当前标记转换为定义字体大小的样式属性“<span style="background-color:#fffff">文本</span>”。
直至完成对所有标记的扫描,即完成相应的还原过程。
请参阅图8,在一实施例中,一种实现文档格式转换的装置包括:word文档加载模块710、word文档转换模块730及网页文档转换模块750,其中:
本实施例中,word文档加载模块710,用于载入word文档。
word文档转换模块730,用于将载入的word文档转换为网页文档。
网页文档转换模块750,用于将网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档。
其中,该Markdown文档中保留了网页文档中样式属性对应的样式效果。
请参阅图9,在一实施例中,实现文档格式转换的装置还包括:扩展标记创建模块810及转换包形成模块830,其中:
本实施例中,扩展标记创建模块810,用于为样式属性创建扩展标记。
转换包形成模块830,用于建立样式属性与创建的扩展标记之间的对应关系,并保存该对应关系。
请参阅图10,在一实施例中,网页文档转换模块750包括:标签遍历单元751、样式属性转换单元753、标签转换单元755及文档输出单元757,其中:
本实施例中,标签遍历单元751,用于遍历网页文档中的标签判断标签中是否包含样式属性,若为是,则通知样式属性转换单元753,若为否,则通知标签转换单元755。
样式属性转换单元753,用于按照预存的样式属性与扩展标记之间的对应关系,将样式属性转换为扩展标记。
标签转换单元755,用于按照标签在原生语法中对应的原生标记将标签转换为原生标记。
文档输出单元757,用于输出包含转换得到的原生标记和扩展标记的Markdown文档。
在一实施例中,实现文档格式转换的装置还包括:Markdown文档还原模块,其中:
本实施例中,Markdown文档还原模块,用于通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对Markdown文档进行解析,以将所述Markdown文档还原为网页文档。
请参阅图11,在一实施例中,Markdown文档还原模块910包括:词法解析器运行单元911及标记扫描单元913,其中:
本实施例中,词法解析器运行单元911,用于触发运行词法解析器。
标记扫描单元913,用于通过词法解析器扫描Markdown文档中的标记,将标记中的原生标记转换为标签,并根据规则序列中扩展标记与样式属性之间的对应关系将标记中的扩展标记转换为样式属性,以输出还原的网页文档。
请参阅图12,在一实施例中,实现文档格式转换的装置还包括:规则序列创建模块1010及词法解析器更新模块1030,其中:
本实施例中,规则序列创建模块1010,用于创建包含了扩展标记与样式属性之间的对应关系的规则序列。
词法解析器更新模块1030,用于将规则序列传入词法解析器中,以更新词法解析器。
请参阅图13,图13是本发明实施例提供的一种服务器1200的结构示意图。上述实施例中所述的由文件服务器所执行的步骤均可以基于该图中所示的服务器的结构。
该服务器1200可因配置或者性能的不同而产生较大的差异,其包括:电源1210、接口1230、至少一存储介质1250、以及至少一中央处理器(CPU ,Central Processing Units)1270。
具体地,电源1210用于为服务器1200上的各硬件设备提供工作电压。
接口1230包括至少一有线或无线网络接口1231、至少一串并转换接口1233、至少一输入输出接口1235以及至少一USB接口1237等,用于与外部设备通信。
存储介质1250作为资源存储的载体,可以是随机存储介质、磁盘或者光盘等,其上所存储的资源包括操作系统1251、应用程序1253及数据1255等,存储方式可以是短暂存储或者永久存储。其中,操作系统1251用于管理与控制服务器1200上的各硬件设备以及应用程序1253,以实现中央处理器1270对海量数据1255的计算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序1253是基于操作系统1251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图示未示出),每个模块都可以分别包含有对服务器1200的一系列操作指令。数据1255可以是存储于磁盘中的word文档、网页文档、图片等等。
中央处理器1270可以包括一个或多个以上的处理器,并设置为通过总线与存储介质1250通信,用于计算与处理存储介质1250中的海量数据1255。
通过中央处理器1270读取存储介质1250中存储的一系列操作指令,并基于存储介质1250上的操作系统1251在服务器1200上执行,进而使得上述实施例的全部或者部分步骤可以通过在服务器上运行相关的计算机程序来完成。
上述内容,仅为本发明的较佳实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (12)
1.一种实现文档格式转换的方法,其特征在于,包括:
载入word文档;
将载入的所述word文档转换为网页文档;及
将所述网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档;
其中,所述Markdown文档中保留了所述网页文档中样式属性对应的样式效果;
通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对所述Markdown文档进行解析,以将所述Markdown文档还原为网页文档。
2.如权利要求1所述的实现文档格式转换的方法,其特征在于,所述将所述网页文档中的标签转换为原生标记,并根据预先设置的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档的步骤之前,所述方法还包括:
为所述样式属性创建扩展标记;及
建立所述样式属性与创建的所述扩展标记之间的对应关系,并保存所述对应关系。
3.如权利要求1所述的实现文档格式转换的方法,其特征在于,所述将标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档的步骤包括:
遍历所述网页文档中的标签,判断所述标签是否包含所述样式属性;
若为是,则按照所述预存的样式属性与扩展标记之间的对应关系,将所述样式属性转换为所述扩展标记;
若为否,则按照标签在原生语法中对应的原生标记将所述标签转换为所述原生标记;及
输出包含所述转换得到的原生标记和扩展标记的Markdown文档。
4.如权利要求1所述的实现文档格式转换的方法,其特征在于,所述通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对所述Markdown文档进行解析,以将所述Markdown文档还原为网页文档的步骤包括:
触发运行所述词法解析器;及
通过所述词法解析器扫描所述Markdown文档中的标记,将所述标记中的原生标记转换为标签,并根据所述规则序列中扩展标记与样式属性之间的对应关系,将所述标记中的扩展标记转换为样式属性,以输出还原的网页文档。
5.如权利要求1所述的实现文档格式转换的方法,其特征在于,所述通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对所述Markdown文档进行解析,以将所述Markdown文档还原为网页文档的步骤之前,所述方法还包括:
创建包含了扩展标记与样式属性之间的对应关系的规则序列;及
将所述规则序列传入所述词法解析器中,以更新所述词法解析器。
6.一种实现文档格式转换的装置,其特征在于,包括:
word文档加载模块,用于载入word文档;
word文档转换模块,用于将载入的所述word文档转换为网页文档;及
网页文档转换模块,用于将所述网页文档中的标签转换为原生标记,并根据预存的样式属性与扩展标记之间的对应关系,将标签中的样式属性转换为扩展标记,以得到Markdown文档;
其中,所述Markdown文档中保留了所述网页文档中样式属性对应的样式效果;
Markdown文档还原模块,用于通过词法解析器按照规则序列中扩展标记与样式属性之间的对应关系对所述Markdown文档进行解析,以将所述Markdown文档还原为网页文档。
7.如权利要求6所述的实现文档格式转换的装置,其特征在于,所述装置还包括:
扩展标记创建模块,用于为所述样式属性创建扩展标记;及
转换包形成模块,用于建立所述样式属性与创建的所述扩展标记之间的对应关系,并保存所述对应关系。
8.如权利要求6所述的实现文档格式转换的装置,其特征在于,所述网页文档转换模块包括:
标签遍历单元用于遍历所述网页文档中的标签判断所述标签中是否包含所述样式属性,若为是,则通知样式属性转换单元,若为否,则通知标签转换单元;
所述样式属性转换单元用于按照所述预存的样式属性与扩展标记之间的对应关系,将所述样式属性转换为所述扩展标记;
所述标签转换单元用于按照标签在原生语法中对应的原生标记,将所述标签转换为所述原生标记;及
文档输出单元,用于输出包含所述转换得到的原生标记和扩展标记的Markdown文档。
9.如权利要求6所述的实现文档格式转换的装置,其特征在于,所述Markdown文档还原模块包括:
词法解析器运行单元,用于触发运行所述词法解析器;及
标记扫描单元,用于通过所述词法解析器扫描所述Markdown文档中的标记,将所述标记中的原生标记转换为标签,并根据所述规则序列中扩展标记与样式属性之间的对应关系,将所述标记中的扩展标记转换为样式属性,以输出还原的网页文档。
10.如权利要求6所述的实现文档格式转换的装置,其特征在于,所述装置还包括:
规则序列创建模块,用于创建包含了扩展标记与样式属性之间的对应关系的规则序列;及
词法解析器更新模块,用于将所述规则序列传入所述词法解析器中,以更新所述词法解析器。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的实现文档格式转换的方法。
12.一种计算机可读程序介质,其特征在于,其存储有计算机可读指令,当所述计算机可读指令被处理器执行时,使计算机执行权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510310288.7A CN106294493B (zh) | 2015-06-08 | 2015-06-08 | 实现文档格式转换的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510310288.7A CN106294493B (zh) | 2015-06-08 | 2015-06-08 | 实现文档格式转换的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294493A CN106294493A (zh) | 2017-01-04 |
CN106294493B true CN106294493B (zh) | 2020-05-08 |
Family
ID=57659275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510310288.7A Active CN106294493B (zh) | 2015-06-08 | 2015-06-08 | 实现文档格式转换的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294493B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122403B (zh) * | 2017-03-22 | 2020-08-07 | 安徽大学 | 一种网页学术报告信息抽取方法和系统 |
CN109725932B (zh) * | 2017-10-31 | 2022-08-12 | 北京京东尚科信息技术有限公司 | 一种应用组件的说明文档生成方法和装置 |
CN109933752B (zh) * | 2017-12-15 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 一种导出电子文档的方法和装置 |
CN109002483A (zh) * | 2018-06-22 | 2018-12-14 | 平安科技(深圳)有限公司 | 文档管理方法、装置、计算机设备及存储介质 |
CN109522528A (zh) * | 2018-11-13 | 2019-03-26 | 吴昌议 | 一种word文档转换为可自动计算html文档的方法 |
CN110008182A (zh) * | 2019-04-15 | 2019-07-12 | 山东浪潮云信息技术有限公司 | 一种文档中静态资源保存和生成的方法 |
CA3046608A1 (en) | 2019-06-14 | 2020-12-14 | Mathresources Incorporated | Systems and methods for document publishing |
CN111290996A (zh) * | 2020-01-16 | 2020-06-16 | 平安医疗健康管理股份有限公司 | 文档格式转换方法、装置、设备及可读存储介质 |
CN111914509A (zh) * | 2020-06-19 | 2020-11-10 | 文思海辉智科科技有限公司 | 句段显示方法、装置、计算机设备和存储介质 |
CN114218895B (zh) * | 2021-11-22 | 2022-08-19 | 慧之安信息技术股份有限公司 | 对uof文档进行转换的方法 |
CN114817804A (zh) * | 2022-03-31 | 2022-07-29 | 北京达佳互联信息技术有限公司 | 一种网页生成方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801149A (zh) * | 2004-12-16 | 2006-07-12 | 微软公司 | 用于将格式化文档转化为网页的系统和方法 |
CN101706771A (zh) * | 2009-11-06 | 2010-05-12 | 北京理工大学 | 一种基于模板的针对Word文档的智能格式检查方法 |
CN102662928A (zh) * | 2012-03-28 | 2012-09-12 | 福建榕基软件股份有限公司 | 带文档导入的富文本编辑方法及装置 |
CN103136173A (zh) * | 2011-11-29 | 2013-06-05 | 北京建龙重工集团有限公司 | 大批量转换word或excel格式表单文档为网页页面的方法 |
CN103279559A (zh) * | 2013-06-13 | 2013-09-04 | 北京神鹰城讯科技有限公司 | 基于安卓系统的富文本编辑方法及富文本编辑器 |
CN103353878A (zh) * | 2013-06-14 | 2013-10-16 | 陆昀 | 将多种格式的文档显示在网页中的方法 |
CN103530430A (zh) * | 2013-11-06 | 2014-01-22 | 焦点科技股份有限公司 | 一种含格式的html富文本数据的跨标签处理方法及系统 |
-
2015
- 2015-06-08 CN CN201510310288.7A patent/CN106294493B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801149A (zh) * | 2004-12-16 | 2006-07-12 | 微软公司 | 用于将格式化文档转化为网页的系统和方法 |
CN1801149B (zh) * | 2004-12-16 | 2010-06-16 | 微软公司 | 用于将格式化文档转化为网页的系统和方法 |
CN101706771A (zh) * | 2009-11-06 | 2010-05-12 | 北京理工大学 | 一种基于模板的针对Word文档的智能格式检查方法 |
CN103136173A (zh) * | 2011-11-29 | 2013-06-05 | 北京建龙重工集团有限公司 | 大批量转换word或excel格式表单文档为网页页面的方法 |
CN102662928A (zh) * | 2012-03-28 | 2012-09-12 | 福建榕基软件股份有限公司 | 带文档导入的富文本编辑方法及装置 |
CN103279559A (zh) * | 2013-06-13 | 2013-09-04 | 北京神鹰城讯科技有限公司 | 基于安卓系统的富文本编辑方法及富文本编辑器 |
CN103353878A (zh) * | 2013-06-14 | 2013-10-16 | 陆昀 | 将多种格式的文档显示在网页中的方法 |
CN103530430A (zh) * | 2013-11-06 | 2014-01-22 | 焦点科技股份有限公司 | 一种含格式的html富文本数据的跨标签处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106294493A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294493B (zh) | 实现文档格式转换的方法及装置 | |
WO2018082562A1 (zh) | 页面数据编译的方法、页面渲染的方法、装置及存储介质 | |
CN111142988B (zh) | 页面测试方法、装置、存储介质及电子设备 | |
US7941746B2 (en) | Extended cascading style sheets | |
US10019426B2 (en) | Generating data format description language schema | |
CN113126990B (zh) | 一种页面开发方法、装置、设备及存储介质 | |
GB2423387A (en) | Application-Generic Sequence Diagram Generator Driven by a Non-Proprietary Language | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
JP2023541186A (ja) | 可視化ページレンダリング方法、装置、機器及び記憶媒体 | |
US20120278701A1 (en) | Automatically Generating And Porting A Cascading Style Sheets ('CSS') Style Sheet | |
CN112527291A (zh) | 网页生成方法、装置、电子设备及存储介质 | |
EP1821221A1 (en) | Document processing device and document processing method | |
US7461337B2 (en) | Exception markup documents | |
CN113495730A (zh) | 资源包的生成及解析方法和装置 | |
CN111078217A (zh) | 脑图生成方法、装置和计算机可读存储介质 | |
CN112632425B (zh) | 一种离线资源文件的生成方法、装置、设备及存储介质 | |
CN115268904A (zh) | 一种用户界面设计文件生成方法、装置、设备及介质 | |
CN110308907B (zh) | 数据转换方法、装置、存储介质及电子设备 | |
CN110377888B (zh) | 一种基于html的稿件审核编辑器的实时留痕标注方法及装置 | |
US20090287994A1 (en) | Document processing device and document processing method | |
CN115169292A (zh) | 文档处理方法、装置、电子设备及计算机可读存储介质 | |
CN107423271B (zh) | 文档生成方法和装置 | |
CN113377453A (zh) | 图片处理方法、装置与电子设备 | |
CN115248881A (zh) | 网页输入信息的渲染方法、装置、电子设备及存储介质 | |
KR20170129225A (ko) | 스타일에 대한 선언적 캐스캐이드 재정렬 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |