Text loses Anti-Aliasing on PowerPoint Slide to Image Conversion
If you are using PowerPoint Automation Services or the Slide.Export method in C# or DotNet to convert your slides to images, then you may be experimenting the following case with text anti-aliasing. For example, if you have a text slide and need to be exported as image, the text may not keep the same anti-aliasing effect that you see when you run the slideshow.
@drew posted a similar issue in PCReview forum (PowerPoint slide to image conversion: text loses anti-aliasing), and as you can read there, John Langhans from Microsoft Corporation responded many years ago about this situation. The fact is that actually it with the newer versions of PowerPoint the issue is still happening. But the workaround posted here can help to troubleshoot it.
The problem is that when you export the slides as PNG or any other image format, the text (TextRange shapes) won’t keep the anti-aliasing feature that you see when you run the slideshow.
PowerPoint doesn’t provide the kind of control that you are looking for when it comes to controlling the resolution at which slides (and selections) are exported as bitmaps
Export using bigger dimensions
A possible solution would be to export the images in a bigger dimension. This can be done for example when you use the Slide.Export method and pass the width and height as arguments.
Make sure you calculate the height or width based on the other variable. You can specify up to 3000px width for the Export and that will be enough to keep a good size and quality. Then, you can reduce the image size using System.Drawing.Image.
This can be great for example if you need to convert your PowerPoint slides to images and create thumbnails. Using this way you can also control the output quality and prepare a codec parameter using EncoderParameters. For example if you want to save your images in JPG with certain compression rate.
An approach that won’t work
On the other side, we have tested different methods to troubleshoot this issue, and something we noticed is that if you try to use the SlideSize property under Presentation.PageSetup it won’t work at all. It is ok to use the SlideSize or SlideWidth or SlideHeight combination but the text won’t resize well. Apparently this is a bug that was not yet fixed (we have tested this in Microsoft PowerPoint 2010 and PowerPoint 2013).
Hi we can fix this problem. You can use like this
pptPresentation.PageSetup.SlideHeight = 1080;
pptPresentation.PageSetup.SlideWidth = 1920;
but when you export slides use default value 0, 0 or empty
pptPresentation.Slides[i].Export(i.ToString() + “.png”, “PNG”);
tadaaa no text problem whit images.