我正在尝试解析word文档,它有visio图和图像。我无法使用C#Open XML提取图表并以visio格式保存(.vsd,.vdx,.vsdx,.vsdm)。
答案 0 :(得分:0)
我找到并回答了我自己的问题。下面是代码,如果它的任何一个..
下面的代码将帮助您获取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();