C# 在.NET中使用ZipPackage

C# 在.NET中使用ZipPackage,c#,.net,vb.net,C#,.net,Vb.net,所以我学习了.NET中的System.IO.Packaging.ZipPackage。我正试图使用它来提取word文档中的缩略图,如果您“另存为缩略图”,一般建议是使用第三部分库,但有人可能知道如何执行此操作吗?如果您知道您只使用.docx文件,您可以读取缩略图,如果文档有缩略图,使用此代码: ZipPackage zip = ZipPackage.Open(@"C:\Test Documents\thumbnail.docx") as ZipPackage; var part = zip.Ge

所以我学习了.NET中的
System.IO.Packaging.ZipPackage
。我正试图使用它来提取word文档中的缩略图,如果您“另存为缩略图”,一般建议是使用第三部分库,但有人可能知道如何执行此操作吗?

如果您知道您只使用.docx文件,您可以读取缩略图,如果文档有缩略图,使用此代码:

ZipPackage zip = ZipPackage.Open(@"C:\Test Documents\thumbnail.docx") as ZipPackage;
var part = zip.GetPart(new Uri("/docProps/thumbnail.emf", UriKind.Relative));
if (part != null)
{
    Image i = Image.FromStream(part.GetStream());
    pictureBox1.Image = i;
}

呵呵,这是可行的,但有一些奇怪的副作用,背景变成黑色,文本变成红色,你知道为什么吗?在我看来,背景是透明的。将其另存为.emf文件到本地磁盘,然后在windows viewer中打开。如果您将其保存为jpg或类似的格式,它可能会尝试猜测正确的颜色。