最近是使用C#操作word,碰到问题如下:
需求给word中写入文本和插入一个N张图片。 要求所有的图片都旋转270度(图片默认1440*810,为了方便阅读)。
由于C#操作word,头一次用。找了一段参考代码:// 插入图片
wordDoc.InlineShapes.AddPicture(filename, ref linkToFile, ref saveWithDocument, ref range);wordDoc.InlineShapes[1].ConvertToShape().Rotation = 270; // 旋转270图片可以旋转,但旋转后图片位置发生了变化。后续插入的图片位置都变化,不在我原本插入的位置上了,图片的位置很难定位。
感觉是原本插入图片是嵌入型版式的,为什么位置总是发生变化呢。
恳请各位指教或提供更好的方法来处理图片的旋转。
需求给word中写入文本和插入一个N张图片。 要求所有的图片都旋转270度(图片默认1440*810,为了方便阅读)。
由于C#操作word,头一次用。找了一段参考代码:// 插入图片
wordDoc.InlineShapes.AddPicture(filename, ref linkToFile, ref saveWithDocument, ref range);wordDoc.InlineShapes[1].ConvertToShape().Rotation = 270; // 旋转270图片可以旋转,但旋转后图片位置发生了变化。后续插入的图片位置都变化,不在我原本插入的位置上了,图片的位置很难定位。
感觉是原本插入图片是嵌入型版式的,为什么位置总是发生变化呢。
恳请各位指教或提供更好的方法来处理图片的旋转。
wordDoc.InlineShapes[1].Select();
MSWord.Shape shape=wordDoc.InlineShapes[1].ConvertToShape(); // 转换为shape后位置就发生变化了
shape.Rotation = 270; //旋转270
object range = wordDoc.Paragraphs.Last.Range;
wordDoc.InlineShapes.AddPicture(filename, ref linkToFile, ref saveWithDocument, ref range);
var picShape = wordDoc.Application.ActiveWindow.Selection.InlineShapes.AddPicture(filename, ref linkToFile, ref saveWithDocument, ref range);
picShape.Select();
MSWord.Shape shape = picShape.ConvertToShape();
shape.Rotation = 270;
shape.WrapFormat.Type = WdWrapType.wdWrapInline;多谢楼上2位的捧场。