This project has moved. For the latest updates, please go here.

Cannot insert images without Word error

Jan 29, 2014 at 3:37 PM
I'm getting the following error when trying to insert a logo. My code looks for the paragraph containing <logo> and then attempts to replace it with a dynamically loaded image.
        private static void InsertLogo(DocX doc, string rootPath)
        {
            var placeholder = doc.Paragraphs.First(p => p.Text.Contains("<logo>"));

            var logo = doc.AddImage(Path.Combine(rootPath, "logo.jpg"));

            placeholder.InsertPicture(logo.CreatePicture());
        }
Upon opening the saved doc, Word 2013 gives me this:

Image

and then this:

Image

If I click Yes it appears to have inserted it correctly, but I do not want my users thinking that their generated documents are corrupt.
Coordinator
Jan 29, 2014 at 4:28 PM
Hi rmbrown,

Are you using the latest version of DocX?
If yes and you are still having this problem then please email me the original document and the piece of code that generates the broken document.
If not then please try your code with the newest version of DocX.

Thanks and happy coding,
Cathal
Jan 29, 2014 at 6:04 PM
Thanks. I think I've found the problem.

My code uses InsertDocument to build up the main document to save. One of the documents that are inserted contains an arrow shape:

Image

If I remove the arrow shape from the document it works.
Coordinator
Jan 29, 2014 at 9:12 PM
rmbrown,

is the arrow shape smart art or something very fancy?

Can you send me the document with the arrow? I would still like to try and fix the merge issue.

By the way which version of DocX are you using?

Kind regards,
Cathal
Jan 30, 2014 at 10:54 AM
Hi,

The arrow shape is just a Word shape.

Here's a link to an Example Word doc.

This is with version 1.0.1.13
Developer
Jan 30, 2014 at 10:57 AM
Have you tried using the source code version rather then provided binary?

Przemek
Nov 22, 2016 at 10:27 AM
Hi,

I am getting exactly the same error, but only after I insert a second image in the document.

I am using the same code to insert both images.

the code:
                    using (MemoryStream ms = new MemoryStream())
                    {
                        System.Drawing.Image myImg = System.Drawing.Image.FromFile(imagePath);
                        myImg.Save(ms, myImg.RawFormat);
                        ms.Seek(0, SeekOrigin.Begin);

                        Novacode.Image img = doc.AddImage(ms);
                        Picture auxImage= img.CreatePicture();
                        p.InsertPicture(auxImage, 0);
                        ms.Close();
                    }
Is this a known problem or is something wrong with the code?

Best regards
Renato