I need a application to copy text and images form PowerPoint to Word. I use this libraries: Microsoft.Office.Interop.PowerPoint and Microsoft.Office.Interop.Word.
The text s easy to transfer, but when I find in PowerPoint a shape containing only a image, it show this error: “A generic error occured GDI+“, at this part of code:
foreach (PowerPoint.Shape shape in slide.Shapes)
{
if (shape.HasTextFrame != MsoTriState.msoTrue){
shape.Copy();
Image img = (Image)Clipboard.GetData(DataFormats.Bitmap);
string filepath = Environment.SpecialFolder.Desktop + "\\img.jpg";
if (File.Exists(filepath))
{
File.Delete(filepath);
}
img.Save(filepath);
doc.Shapes.AddPicture(filepath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
}
}
How can I copy a shape containing a image from PowerPoint to Word in this cirumstances?
Any help is welcome. I prefer some code sample.
Thanks.
If you rewrite your code like this, will it work? GetImage will do an automatic conversion to make sure it’s an image. If you know it’s a bitmap you could include the check I have in the code to ensure the clipboard actually contains an image.