我一直试图解决这个问题,但似乎我真的需要帮助。
我正在使用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一样检索它。字体名称。字体大小?
此致 鲍勃
答案 0 :(得分:0)
您可以使用Descendants节点在其上进行循环,然后可以获取所需的内容。
让我知道您是否仍然无法做到这一点。
谢谢
答案 1 :(得分:0)
是的。您可以获取每个文本的格式信息。
我假设您已完成所有任务。每次运行都有runProperty,其中包含所有格式信息。
因此遍历每次运行并获得如下格式。
bool Border = run.RunProperties.Border != null,
bool Bold = run.RunProperties.Bold != null,
希望这会有所帮助。 !!