OpenXml中使用ImagePart类保存Word文档内所有图片的二进制数据,为文档中的图片元素提供引用目标。采用解压缩软件打开Word文档,其内的word\media文件夹中保存图片文件,然后在word文件夹的document.xml文件内引用图片信息,如下图所示。

MainDocumentPart类的ImageParts属性保存图片集合,其类型为IEnumerable<ImagePart>,ImagePart类存储单个图片对象,命名空间为DocumentFormat.OpenXml.Packaging。
ImagePart类的ContentType属性保存图片格式(MIME type),如image/jpeg等,通过调用ImagePart.GetStream函数获取图片二进制流,同时通过调用MainDocumentPart.GetIdOfPart函数可以获取当前ImagePart实例对象在文档中的ID信息,以便查询或设置正文中的图片引用。
下面的代码及截图用于获取word文档的图片列表并在线浏览图片内容:
csharp
using (WordprocessingDocument document = WordprocessingDocument.Open(txtFilePath.Text, false))
{
IEnumerable<ImagePart> iParts = document.MainDocumentPart.ImageParts;
if (iParts != null && iParts.Count() > 0)
{
foreach (ImagePart part in iParts)
{
ListViewItem item = new ListViewItem(Convert.ToString(lstImages.Items.Count + 1));
item.SubItems.Add(part.RelationshipType);
item.SubItems.Add(part.ContentType);
item.SubItems.Add(document.MainDocumentPart.GetIdOfPart(part));
using (MemoryStream ms = new MemoryStream())
{
part.GetStream().CopyTo(ms);
item.Tag = Image.FromStream(ms);
}
lstImages.Items.Add(item);
}
}
}

参考文献
1\]https://github.com/dotnet/Open-XML-SDK \[2\]https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk \[3\]https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1 \[4\]https://blog.csdn.net/i042416/article/details/126228816