温馨提示×

c# xwpfdocument 的图片和图形如何插入

c#
小樊
109
2024-08-15 01:22:42
栏目: 编程语言

要在C#中使用Apache POI的XWPFDocument类插入图片和图形,您需要以下步骤:

  1. 添加Apache POI依赖项到您的项目中。您可以通过NuGet包管理器搜索Apache POI并添加到项目中。

  2. 创建一个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();
  1. 将图像数据流插入到文档中作为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));
  1. 如果要插入一个带有锚点的图片,可以使用下面的代码。
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);
  1. 最后,将XWPFDocument对象保存为Word文档文件。
using (FileStream fs = new FileStream("output.docx", FileMode.Create))
{
    doc.Write(fs);
}

这样就可以在C#中使用XWPFDocument类插入图片和图形到Word文档中。

0