如何从 .docx 获取图像以使用 Aspose.Words 进行流式传输

How get images from .docx to stream with Aspose.Words

任务是用流代替磁盘操作。当 .docx 保存到磁盘时 - 完美运行。尝试使用流进行更改。

有以下代码:

            var options = new HtmlSaveOptions(SaveFormat.Html)
            {
                ImageSavingCallback = new HandleImageSaving()
            };

            Stream stream = new MemoryStream();
            doc.Save(stream, options);
            stream.Position = 0;

        public class HandleImageSaving : IImageSavingCallback
        {
            void IImageSavingCallback.ImageSaving(ImageSavingArgs e)
            {
                // here e.IsImageAvailable == true 
                // but e.ImageStream == null
            }
        }

在 doc.Save() 上它会在图像的图像流为空时进行回调 - 但图像存在于 word 文档中。

有什么想法吗?

e.ImageStream 允许您指定将保存图像的流。如果此 属性 为空,则意味着图像将保存到磁盘而不是流。您可以将流对象传递给此 属性,图像将保存到该流对象,例如

Stream imageStream = new MemoryStream();
e.ImageStream = imageStream;

这将在调用 ImageSaving 后将图像保存到 imageStream 对象。

我在 Aspose 担任开发人员布道师。