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にしたいのですが。上記のコードを使用して、EMFの代わりに「PNG」形式を取得する方法を教えてください。

4

1 に答える 1

0

これは、Aspose ImageData の ImageType プロパティがイメージの元の形式であり、保存中に変更されないためです。代わりに、ImageData から (ToImage を使用して) Image オブジェクトを取得し、目的の形式で保存する必要があります。すなわち:

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