我一直在使用此代码从word文件中提取图像:
Document doc = new Document(MyDir + "Image.SampleImages.doc");
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true, false);
int imageIndex = 0;
foreach (Shape shape in shapes)
{
if (shape.HasImage)
{
string imageFileName = string.Format(
"Image.ExportImages.{0} Out{1}", imageIndex, FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType));
shape.ImageData.Save(MyDir + imageFileName);
imageIndex++;
}
}
图像的输出格式是.emf,而我想要它.png。请告诉我如何使用上面的代码来获取“PNG”格式而不是EMF。
答案 0 :(得分:0)
这是因为Aspose ImageData的ImageType属性是图像的原始格式,在保存期间不会更改。您应该从ImageData(使用ToImage)获取Image对象,然后将其保存为所需的格式。即:
shape.ImageData.ToImage().Save(MyDir + imageIndex.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png);