我需要根据ms word中提供的统计数据获取docx文件的字数(查看-〉字数)x1c 0d1x
到目前为止,我试着在. Net中使用Aspose.Words和OpenXml,这两个工具都使用BuiltInProperties或ExtendedProperties提供字数统计。
开放XML
var appPart = wordprocessingDocument.ExtendedFilePropertiesPart;
假设
var wordCountValue = document.BuiltInDocumentProperties.FirstOrDefault(x => x.Name == "Words")?.Value;
然而,如果上面提供的复选框是“未选中”,那么脚注/尾注单词不被这两个框架计算在内。
我需要确保脚注/尾注始终被计算在内。我无法根据提取的文本自己计算字数,因为与ms字数统计相比,它不容易获得闭合匹配。有什么方法可以获得此计数?或者有什么方法可以确认统计中提供的复选框是否“选中”?
1条答案
按热度按时间hjzp0vay1#
BuiltInDocumentProperties.Words实际返回从文档读取的值。请参见DOCX文档中的
app.xml
:如果文档是由某个外部工具生成的,则可能不会计算文档中的字数。除非显式调用Document.UpdateWordCount方法,否则Assoce.Words不会更新字数。
上述复选框值作为
<w:doNotIncludeSubdocsInStats/>
标记存储在settings.xml
中(如果未选中)。Assoce.Words在调用Document.UpdateWordCount
方法时会考虑此标记。但遗憾的是,没有公共API来获取或设置此标记。您可以在Aspose.Words support forum中发布功能请求,以添加
DoNotIncludeSubdocsInStats
标志的API。