Как получить все уравнения в текстовом документе, используя библиотеку DocX
Я использую библиотеку DocX для пост-обработки моих документов.
Есть ли способ получить список всех уравнений в документе?
Я видел, что вы можете легко вставить уравнение, используя DocX.InsertEquation()
Однако я не могу найти способ получить список всех уравнений.
1 ответ
Да, это возможно с помощью следующего выражения LINQ:
string mathNamespace = "http://schemas.openxmlformats.org/officeDocument/2006/math";
var equations = doc.Paragraphs.Where(
p => p.Xml.Descendants(XName.Get("oMathPara",mathNamespace)).Any());
Все уравнения заключены в элемент абзаца, но они также содержат специальный элемент XML, который называется oMathPara
помогая идентифицировать их.