繁体   English   中英

使用 Openxml 读取 word 文档中的文本和格式

[英]Read text and format in a word document using Openxml

我一直试图自己解决这个问题,但似乎我真的需要帮助。

我正在使用 OpenXml 阅读 Word 文档。

我需要word文档中的文本及其格式。

我有获取文本和属性的代码

WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(stream, true);

            Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
            foreach (var item in body)
            {
                //Console.WriteLine(">>text: " + item.InnerText);
                foreach (var tt in item.GetAttributes())
                {
                    Console.WriteLine(tt.LocalName + " : " + tt.Value);
                }

            }

上面代码的输出与此类似

rsidR : 0067182C
rsidP : 002A2C9A
rsidRDefault : 004052D2
rsidR : 0067182C
rsidRDefault : 004052D2
rsidR : 0067182C
rsidSect : 0067182C

我需要的是word文档中每个文本使用的格式。 但那些是什么意思

这是我的示例 Word 文档的屏幕截图。 我可以像 Bold 属性一样检索它吗? 字体名称。 字体大小?

在此处输入图片说明

问候,鲍勃

是的。 您可以获得每个文本的格式信息。

我假设你有所有的运行。 每次运行都有包含所有格式信息的 runProperties。

所以迭代每次运行并获得如下格式。

bool Border = run.RunProperties.Border != null,
bool Bold = run.RunProperties.Bold != null,

希望这会有所帮助。 !!

您可以使用 Descendants 节点并在其上进行循环,然后您可以获得所需的任何内容。

如果您仍然无法做到,请告诉我。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM