Как получить встроенное изображение в формате PNG из файла Microsoft Word? - PullRequest
1 голос
/ 31 октября 2011

Я использовал этот код для извлечения изображения из файла слова:

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.

1 Ответ

0 голосов
/ 29 августа 2012

Это связано с тем, что свойство ImageType в Aspose ImageData является исходным форматом изображения и не изменяется во время сохранения.Вместо этого вы должны получить объект Image из ImageData (используя ToImage), а затем сохранить его в нужном формате.Т.е.:

        shape.ImageData.ToImage().Save(MyDir + imageIndex.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...