How to change the size of a picture after inserting it into a word document

17,400

Solution 1

When you insert the image, it should return you an InlineShape, which you can modify:

Word.Application app = new Word.Application();
var doc = app.Documents.Open(@"C:\Users\SomeUserName\Desktop\Doc1.docx");

var shape = doc.Bookmarks["PicHere"].Range.InlineShapes.AddPicture(@"C:\Users\SomePicture\Pictures\1234.JPG", false, true);
shape.Width = 150;
shape.Height = 150;
app.Visible = true;

Solution 2

Code, which I used to resize the picture successfully is:

var shape = headerRange.InlineShapes.AddPicture(tempLogoPathName, true, true).ConvertToShape();
shape.HeightRelative = 10f;
shape.WidthRelative = 40f;

Seems that convering to Shape is the solution. Previous set the different height directly in InLineShapes, produced an error. (I just edited a post and simplified the code, so it does not use 2nd dll library: Microsoft.Office.Core anymore)

Share:
17,400
Tired Nerd
Author by

Tired Nerd

Updated on July 28, 2022

Comments

  • Tired Nerd
    Tired Nerd almost 2 years

    I'm adding a picture to a word document at a certain bookmark. However, the picture is too big and is forcing text off the page, so I need to be able to change the size of the picture after it is in the word document.

  • Tired Nerd
    Tired Nerd over 12 years
    Awesome, works like a charm. I could not figure that one out for some reason. I'm gonna go bang my head against a wall now..
  • pirho
    pirho over 6 years
    Is this an answer or a question or both? If you need to ask something related please make a new question instead appending questions to your answer.