使用 open xml 从 word 文档中提取 Visio 图表?

Extract Visio diagram from word document using open xml?

我正在尝试解析word文档,它有visio图表和图像。我无法使用 C# Open XML.

提取图表并将其保存为 visio 格式(.vsd、.vdx、.vsdx、.vsdm)

我找到并回答了我自己的问题。下面是代码,如果有的话..

下面的代码将帮助您获取word文档中的所有图像。

foreach (ImagePart imagePart in doc.MainDocumentPart.ImageParts)
{
    var uri = imagePart.Uri;
    var IdR = doc.MainDocumentPart.GetIdOfPart(imagePart);
    string FileExtension = uri.OriginalString.Split('.').Last();
    var filename = uri.ToString().Split('/').Last();
    stream = doc.Package.GetPart(uri).GetStream();
    Bitmap b = new Bitmap(stream);
    string FilePath = @"C:\test"." + FileExtension;
    b.Save(FilePath);
}

下面将帮助您获取word文档中的嵌入对象,如:Visio、MP3视频。

var IdR = doc.MainDocumentPart.GetIdOfPart(embeddedobjectpart);
string FileExtension = embeddedobjectpart.Uri.OriginalString.Split('.').Last();
FileExtension = "vsd";
stream = doc.Package.GetPart(embeddedobjectpart.Uri).GetStream();
long length = stream.Length;
byte[] byteStream = new byte[length];
stream.Read(byteStream, 0, (int)length);
string FilePath =@"C:\test"." + "." + FileExtension;
fstream = new FileStream(FilePath, FileMode.OpenOrCreate)
fstream.Write(byteStream, 0, (int)length);
fstream.Close();