1

我一直在使用此代码从 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。

4

1 回答 1

0

这是因为 Aspose ImageData 的 ImageType 属性是图像的原始格式,在保存过程中不会改变。您应该改为从 ImageData 获取一个 Image 对象(使用 ToImage),然后以所需的格式保存它。IE:

        shape.ImageData.ToImage().Save(MyDir + imageIndex.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png);
于 2012-08-29T08:50:58.323 回答