Ok, c'est facile de piloter Powerpoint d'une autre application, mais quand on veut approcher la perfection les ennuis commencent.
Sur ce site beaucoup d'astuces pour améliorer le rendu et les performances : Shyam Pillai
La solution pour la création d'un aperçu des diapositives PowerPoint, l'objet slide à une méthode Export qui permet de l'enregistrer dans un fichier en choisissant un format graphique. le format graphique utilisé doit avoir un filtre d'export défini dans la base de registre de Windows (“BMP”, “PNG”, “JPG”, “GIF”).
private System.Drawing.Image GetPreview(PowerPoint.Slide slide, int width, int height) { string tempFile = System.IO.Directory.GetCurrentDirectory() + "\\PreviewSlide.tmp"; if (System.IO.File.Exists(tempFile)) System.IO.File.Delete(tempFile); // le paramètres filtername est le nom du format graphique souhaité // (le format graphique doit avoir un filtre d'export défini dans la base de registre Windows) // BMP, PNG ... slide.Export(tempFile, "BMP", width, height); System.IO.FileStream fs = new System.IO.FileStream(tempFile, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] imgData = new byte[fs.Length]; fs.Read(imgData, 0, (int)fs.Length); System.Drawing.Image image = System.Drawing.Image.FromStream(fs); fs.Close(); if (System.IO.File.Exists(tempFile)) System.IO.File.Delete(tempFile); return image; }