为什么C#图片插入Word大小不能调整
时间: 2024-01-14 22:05:03 浏览: 103
c#向word文件插入图片
3星 · 编辑精心推荐
在 C# 中使用 Aspose.Words 库插入图片时,你可以通过设置 `Shape` 对象的宽和高度来调整图片的大小。但是,要确保在设置大小之前,已经设置了图片的实际内容。
以下是一个示例代码,展示了如何在插入图片到 Word 文档后调整其大小:
```csharp
using Aspose.Words;
class Program
{
static void Main(string[] args)
{
// 加载 Word 文档
Document doc = new Document("input.docx");
// 创建 Shape 对象并设置图片路径
Shape shape = new Shape(doc, ShapeType.Image);
shape.ImageData.SetImage("image.jpg");
// 获取 Shape 的图片对象
ImageData image = shape.ImageData;
// 确保图片已加载
if (image.IsImage && !image.HasImage)
{
image.SetImage(image.ImageBytes);
}
// 设置 Shape 的大小
shape.Width = 200;
shape.Height = 200;
// 获取要插入图片的段落(假设为第一段)
Paragraph para = doc.FirstSection.Body.FirstParagraph;
// 在段落中插入 Shape 对象
para.AppendChild(shape);
// 保存文档
doc.Save("output.docx");
}
}
```
在上述代码中,我们首先加载了要编辑的 Word 文档(假设为 "input.docx")。然后,创建一个 `Shape` 对象,并设置其类型为图像类型(`ShapeType.Image`)。接着,通过 `ImageData.SetImage()` 方法设置图像的路径。获取 `Shape` 对象的图片对象 `ImageData`,并确保图片已加载。然后,设置 `Shape` 对象的宽度和高度。获取要插入图片的段落(这里假设你的文档的第一段是合适的位置),并将 `Shape` 对象添加到该段落的末尾。最后,保存文档(保存为 "output.docx")。
请注意,上述代码中的图片路径、Shape 对象的位置和大小等都是示例中的值,你需要根据你的实际情况调整这些值。确保在调整图片大小之前,已经加载了图片的内容。这样,设置 `Shape` 对象的宽度和高度才会生效。
阅读全文