使用 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();
我正在尝试解析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();