使用NET Core NOPI导出Word文档并将图片作为参数添加进去应该怎么做
- 安装NOPI库
首先需要在项目中安装NOPI库,可以通过NuGet包管理器安装,也可以手动下载并添加到项目中。
- 创建Word文档
使用NOPI库可以创建一个空的Word文档,代码如下:
using NPOI.XWPF.UserModel;
// 创建一个新的文档
XWPFDocument doc = new XWPFDocument();
- 添加文本
可以使用XWPFParagraph和XWPFRun类来添加文本,代码如下:
// 创建一个段落
XWPFParagraph para = doc.CreateParagraph();
// 添加文本
XWPFRun run = para.CreateRun();
run.SetText("This is some text.");
- 添加图片
可以使用XWPFRun类的AddPicture方法来添加图片,需要提供图片的文件路径和图片类型,代码如下:
// 添加图片
XWPFRun run = para.CreateRun();
string imagePath = "C:\\images\\image.png";
FileStream stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
int imageType = (int)PictureType.PNG;
run.AddPicture(stream, imageType, "image.png", Units.ToEMU(300), Units.ToEMU(200));
其中,Units.ToEMU方法是将像素转换为EMUs(English Metric Units),这是Word文档中图片大小的单位。
完整代码如下:
using NPOI.XWPF.UserModel;
using NPOI.SS.Util;
using System.IO;
// 创建一个新的文档
XWPFDocument doc = new XWPFDocument();
// 创建一个段落
XWPFParagraph para = doc.CreateParagraph();
// 添加文本
XWPFRun run = para.CreateRun();
run.SetText("This is some text.");
// 添加图片
run = para.CreateRun();
string imagePath = "C:\\images\\image.png";
FileStream stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
int imageType = (int)PictureType.PNG;
run.AddPicture(stream, imageType, "image.png", Units.ToEMU(300), Units.ToEMU(200));
// 保存文档
string filePath = "C:\\documents\\document.docx";
FileStream outStream = new FileStream(filePath, FileMode.Create, FileAccess.Write);
doc.Write(outStream);
outStream.Close();
原文地址: https://www.cveoy.top/t/topic/0GO 著作权归作者所有。请勿转载和采集!