I attach a simple powerpoint. It has two images on two slides with text to show which page.
I exported each slide as both SVG and PNG using the following code:
private static string SlideToSvg(ISlide slide)
{
var pres = new Presentation();
pres.Slides.RemoveAt(0);
pres.Slides.AddClone(slide); //optional, cloning to new presentation makes no difference
slide = pres.Slides[0];
var memoryStream = new MemoryStream();
slide.WriteAsSvg(memoryStream);
memoryStream.Seek(0, SeekOrigin.Begin);
return new StreamReader(memoryStream).ReadToEnd();
}
private static string SlideToPng(ISlide slide)
{
var pres = new Presentation();
pres.Slides.RemoveAt(0);
pres.Slides.AddClone(slide);
var memoryStream = new MemoryStream();
pres.Save(memoryStream, SaveFormat.Tiff);
memoryStream.Seek(0, SeekOrigin.Begin);
var bmp = Image.FromStream(memoryStream);
var mspng = new MemoryStream();
bmp.Save(mspng, ImageFormat.Png);
mspng.Seek(0, SeekOrigin.Begin);
var bs = new byte[mspng.Length];
mspng.Read(bs, 0, bs.Length);
return string.Format("data:image/{0};base64,{1}", "png", Convert.ToBase64String(bs));
}
I am formatting to present on a web page.
The result of the webpage is also attached, PNG first. You can see that while the text is fine on the SVG of Page2. The image is not correct.