Reflection and 3D when converting image

Hello team,

Thank you for your support.

PQ2395.zip (252.5 KB)
1.jpg (15.0 KB)

I have converted PQ2395.ppt to image however I got 2 errors.

  1. reflection
  2. 3D

I have also attached PQ2395SaveAsPdfByPowerPoint.pdf which is a pdf MS PowerPoint outputs correctly as a reference.
PQ2395SaveAsPdfByPowerPoint.pdf (68.6 KB)

This is my code.

  public static List<string> ConvertPowerPointToImage(string docName, MemoryStream docStream, Dictionary<string, string> config)
    {
        try
        {
            var pageInfoList = new List<string>();

            // Get config setting
            string docRootDir = config["DocumentsFilePath"];
            int dpi = int.Parse(config["ImageDPI"]);
            int thumbMaxH = int.Parse(config["ThumbnailMaxHeight"]);
            int thumbMaxW = int.Parse(config["ThumbnailMaxWidth"]);
            int maxPageNum = int.Parse(config["DocumentMaxPageNum"]);
            float readScale = float.Parse(config["ImageReadScale"]);

            // Create images directory
            string pageImgDir = docRootDir;
            if (!Directory.Exists(pageImgDir))
                Directory.CreateDirectory(pageImgDir);

            // Get the encoder of JPEG
            ImageCodecInfo jpgEncoder = GetCodecInfo();
            //EncoderParameters encParams = GetEncoderParams();

            EncoderParameters encParams = GetEncoderParams(int.Parse(config["ImageJpegQuality"]));

            // Instantiate the License class
            Aspose.Slides.License license = new Aspose.Slides.License();
            license.SetLicense("Aspose.Total.lic");

            // Convert .doc and .docx file to PDF.
            Presentation presen = new Presentation(docStream);

            for (int i = 0; (i < presen.Slides.Count) && (i < maxPageNum); i++)
            {
                ISlide slide = presen.Slides[i];

                // Export image file
                string imgFile = string.Format("{0}_{1:D8}.jpg",
                        Path.GetFileNameWithoutExtension(docName), i+1);
                string imgPath = Path.Combine(pageImgDir, imgFile);
                string thumbFilename = string.Format(@"{0}_thumb.jpg", Path.GetFileNameWithoutExtension(imgPath));
                string thumbPath = Path.Combine(Path.GetDirectoryName(imgPath), thumbFilename);
                using (Bitmap bitmap = slide.GetThumbnail(readScale, readScale))
                {
                    bitmap.SetResolution(dpi, dpi);
                    bitmap.Save(imgPath, jpgEncoder, encParams);
                }

                // Add  PageInfo List
                pageInfoList.Add(imgPath);
            }

            // return results with flag of max page limit over
            return pageInfoList;
        }
        finally
        {
        }
    }

They are parameters.

            // Get config setting
               Create Appseting key value for async function
               Dictionary<string, string> config = new Dictionary<string, string>();

               config.Add("DocumentsFilePath", outDir);
               config.Add("ImageDPI", "96");
               config.Add("ImageReadScale", "1.25");
               config.Add("ThumbnailMaxHeight", "252");
               config.Add("ThumbnailMaxWidth", "210");
               config.Add("ImageJpegQuality", "80");
               config.Add("DocumentMaxPageNum", "1000");

Thank you,
PFU DSOL2

@PFU.DSOL2,

I have observed your requirements and like to share that at present we have missing support for 3D and reflection effects in images rendering. An issue with ID SLIDESNET-37587 has been created to provide 3D rendering support. A separate issue with ID SLIDESNET-39280 has been added to provide reflection effects support in exported images. This thread has been linked with the issues so that you may be automatically notified once the issues will be fixed.

The issues you have found earlier (filed as SLIDESNET-39280,SLIDESNET-37587) have been fixed in this update.