shape.PictureFormat.SizeMode = PictureSizeMode.Absolute;报错
时间: 2024-04-15 20:31:59 浏览: 200
图片大小格式转换
4星 · 用户满意度95%
非常抱歉给您带来了困扰。我之前的回答中使用的是 Aspose.Words 库的示例代码,与 Microsoft.Office.Interop.Word 库不兼容。
在使用 Microsoft.Office.Interop.Word 库时,可以通过调整图片的比例来设置图片的高度和宽度。以下是一个修正后的示例代码:
```csharp
using Microsoft.Office.Interop.Word;
// 创建 Word 应用程序对象
Application wordApp = new Application();
// 打开文档
Document doc = wordApp.Documents.Open("YourDocumentPath.docx");
// 在文档末尾插入图片
InlineShape shape = doc.InlineShapes.AddPicture("YourImagePath.jpg");
// 获取图片的原始宽度和高度
float originalWidth = shape.Width;
float originalHeight = shape.Height;
// 设置目标高度和宽度
float targetHeight = 200;
float targetWidth = 200;
// 计算图片的宽高比例
float ratio = originalWidth / originalHeight;
// 根据比例调整高度和宽度
if (originalWidth > originalHeight)
{
shape.Width = targetWidth;
shape.Height = targetWidth / ratio;
}
else
{
shape.Height = targetHeight;
shape.Width = targetHeight * ratio;
}
// 保存文档
doc.Save();
// 关闭文档和 Word 应用程序对象
doc.Close();
wordApp.Quit();
```
请将 "YourDocumentPath.docx" 替换为您要操作的 Word 文档路径,将 "YourImagePath.jpg" 替换为您要插入的图片路径。在示例代码中,图片的目标高度和宽度分别设置为 200,然后根据原始图片的宽高比例计算出新的高度和宽度。
请确保已正确添加对 "Microsoft.Office.Interop.Word" 的引用,并正确安装了 Microsoft Office 软件。
阅读全文