阅读量:69
要在C#中使用Apache POI的XWPFDocument类插入图片和图形,您需要以下步骤:
-
添加Apache POI依赖项到您的项目中。您可以通过NuGet包管理器搜索Apache POI并添加到项目中。
-
创建一个XWPFDocument对象并从中获取图像数据流。
using NPOI.XWPF.UserModel;
using NPOI.OpenXmlFormats.Wordprocessing;
using System.IO;
XWPFDocument doc = new XWPFDocument();
FileStream imgStream = new FileStream("path_to_image.jpg", FileMode.Open);
byte[] imgBytes = new byte[imgStream.Length];
imgStream.Read(imgBytes, 0, imgBytes.Length);
imgStream.Close();
- 将图像数据流插入到文档中作为Inline图片。
XWPFParagraph paragraph = doc.CreateParagraph();
XWPFRun run = paragraph.CreateRun();
run.AddPicture(new MemoryStream(imgBytes), (int)PictureType.JPEG, "path_to_image.jpg", Units.ToEMU(300), Units.ToEMU(200));
- 如果要插入一个带有锚点的图片,可以使用下面的代码。
XWPFParagraph paragraph = doc.CreateParagraph();
XWPFRun run = paragraph.CreateRun();
int id = doc.AddPictureData(new MemoryStream(imgBytes), (int)PictureType.JPEG);
doc.CreatePicture(id, Units.ToEMU(300), Units.ToEMU(200), paragraph);
- 最后,将XWPFDocument对象保存为Word文档文件。
using (FileStream fs = new FileStream("output.docx", FileMode.Create))
{
doc.Write(fs);
}
这样就可以在C#中使用XWPFDocument类插入图片和图形到Word文档中。