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.
Click the picture you want to resize. Go to the Picture Format tab, and then click "Position" > "More Layout Options." Click the "Size" tab, and then in the "Scale" section, make sure the "Lock Aspect Ratio" checkbox is clear.
Click the "Edit" tab to open the image editing. You can right-click the image and then you can cut, copy, paste and rotate. The size can also be adjusted as per needs and demand.
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;
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With