@HylandRendering,
Regarding WORDSNET-20432, please check if the following code example is acceptable for you?
Document doc = new Document("E:\\Temp\\Example\\aspose.docx");
//get the picture shape
Shape shape = doc.GetChild(NodeType.Shape, 0, true) as Shape;
//get the picture location
doc.UpdatePageLayout();
LayoutCollector collector = new LayoutCollector(doc);
LayoutEnumerator enumerator = new LayoutEnumerator(doc);
Object renderObject = collector.GetEntity(shape);
enumerator.Current = renderObject;
//i take column's size and position from doc to simplify the example,
//but all this info is accessible from the document model.
float firstColumnLeft = 72;
double firstColumnWidth = 216;
double secondColumnWidth = 144;
if (enumerator.Rectangle.Left == firstColumnLeft)
shape.Width = firstColumnWidth;
else
shape.Width = secondColumnWidth;
doc.Save("E:\\Temp\\Example\\20.6.docx");
You just need to determine the position of Image (Shape) in Word document. Then you can use the above code and the PageSetup class that contains info about page size, margins, columns space, size and other useful properties. Hope, this helps.