如何从docx文件中逐字逐句(带样式)阅读。我想逐个比较两个docx文件,并根据我必须写入另一个docx文件(使用c#和OOXML)的差异。 我尝试使用 DocumentFormat.OpenXml.Extensions.dll , OpenXMLdiff.dll 和 ICSharpCode.SharpZipLib.dll 来实现这一目标,但没有任何东西给我逐字阅读的选项(ICSharpCode.SharpZipLib确实逐字逐句,但它不会给出与该词相关联的样式)。
对此的任何帮助都非常有用。
答案 0 :(得分:3)
此MSDN文章介绍了如何逐段可靠地检索文档的确切文本。
http://msdn.microsoft.com/en-us/library/ff686712.aspx
同时,您可以确定每个段落的样式。这很容易。以下博客文章介绍了如何检索每个段落的样式和文本:
比较两者?这取决于您确切的所需语义。一种方法是创建包含段落和样式的XML文档,然后比较XML文档。 XML文档可能如下所示:
<Root>
<Para>
<Style>Normal</Style>
<Text>This is the text of the paragraph.</Text>
</Para>
<Para>
<Style>Heading1</Style>
<Text>Overview of the Process</Text>
</Para>
</Root>
答案 1 :(得分:0)
最简单的方法是使用您喜欢的ZIP库解压缩DOCX文件,然后将文本文件与文件IO库进行比较。