Я читаю документ Word с помощью Open XML, как показано ниже
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("filePath", false))
{
NameTable nameTable = new NameTable();
XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(nameTable);
xmlNamespaceManager.AddNamespace("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
string wordprocessingDocumentText;
using (StreamReader streamReader = new StreamReader(wordprocessingDocument.MainDocumentPart.GetStream()))
{
wordprocessingDocumentText = streamReader.ReadToEnd();
}
XmlDocument xmlDocument = new XmlDocument(nameTable);
xmlDocument.LoadXml(wordprocessingDocumentText);
XmlNodeList paragraphNodes = xmlDocument.SelectNodes("//w:p", xmlNamespaceManager);
var ImageParts = wordprocessingDocument.MainDocumentPart.ImageParts;
foreach (XmlNode paragraphNode in paragraphNodes)
{
XmlNodeList textNodes = paragraphNode.SelectNodes(".//w:pict | .//w:drawing | .//w:object", xmlNamespaceManager);
foreach (XmlNode textNode in textNodes)
{
if (textNode.InnerXml.StartsWith("<wp:inline"))
{
countDrawing++;
}
switch (textNode.Name)
{
case "w:object":
//Getting the diagram from ImageParts And saving to local folder
break;
case "w:drawing":
//Getting the diagram from ImageParts And saving to local folder
break;
case "w:pict":
if (textNode.InnerXml.Trim().StartsWith("<v:shape"))
{
//Getting the diagram from ImageParts And saving to local folder
}
else if (textNode.InnerXml.Trim().StartsWith("<v:group"))
{
//Not able to save the diagram because it is not in the ImageParts.
}
break;
}
}
}
Я хочу получить все диаграммы, изображения и изображения в документе Word и сохранить его в своей локальной папке.
Если диаграмма Xml начинается с Объект или Рисунок , я получаю эту конкретную диаграмму из wordprocessingDocument.MainDocumentPart.ImageParts и сохраняю в мой локальный диск, но если данные Xml начинаются с V: группа Изображения не находятся в wordprocessingDocument.MainDocumentPart.ImageParts , поэтому я не могу сохранить их в своей локальной папке. Подскажите, пожалуйста, как мне прочитать V: group Изображение и сохранить в локальной системе.
Спасибо.