阅读量:0
要在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文档中。