List<string> list = new List<string>();
//加载word
Document doc = new Document(table);
if (table.Contains(".docx"))
{
NodeCollection dmlShapes = doc.GetChildNodes(NodeType.DrawingML, true);
int imageIndex = 0;
foreach (DrawingML dml in dmlShapes)
{
if (dml.HasImage)
{
string time = DateTime.Now.ToString("HHmmssfff");
//扩展名
string ex = FileFormatUtil.ImageTypeToExtension(dml.ImageData.ImageType);
//文件名
string fileName = string.Format("{0}_{1}{2}", time, imageIndex, ex);
//添加文件到集合
string pathPicture = Path.GetDirectoryName(table);
Filename = pathPicture + "\\" + "图片";
string filename = Filename + "\\" + fileName;
if (File.Exists(filename))//判断是文件
{
File.Delete(filename);
}
if (Directory.Exists(Filename))//该文件已存在
{
dml.ImageData.Save(filename);//图片保存
}
else//该文件不存在,则新建文件夹
{
Directory.CreateDirectory(Filename); //新建文件夹
dml.ImageData.Save(filename);//图片保存
}
list.Add(filename);
imageIndex++;
}
}
}
else if (table.Contains(".doc"))
{
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
int imageIndex = 0;
foreach (Shape shape in shapes)
{
if (shape.HasImage)
{
string time = DateTime.Now.ToString("HHmmssfff");
//扩展名
string ex = FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType);
//文件名
string fileName = string.Format("{0}_{1}{2}", time, imageIndex, ex);
//添加文件到集合
string pathPicture = Path.GetDirectoryName(table);
Filename = pathPicture + "\\" + "图片";
string filename = Filename + "\\" + fileName;
if (File.Exists(filename))//判断是文件
{
File.Delete(filename);
}
if (Directory.Exists(Filename))//该文件已存在
{
shape.ImageData.Save(filename);//图片保存
}
else//该文件不存在,则新建文件夹
{
Directory.CreateDirectory(Filename); //新建文件夹
shape.ImageData.Save(filename);//图片保存
}
list.Add(filename);
imageIndex++;
}
}
}
Aspose.Words提取word文档(docx和doc)中的图片文件
于 2020-07-10 16:07:10 首次发布