以下示例演示如何在 aardio 中使用 NPOI 库创建 Word 文档并插入图片。
import NPOI.XWPF.UserModel;
import System.IO;
// 创建新的 Word 文档对象
var doc = NPOI.XWPF.UserModel.XWPFDocument();
// 创建段落
var p2 = doc.CreateParagraph();
// 在段落中创建文本运行对象
var r2 = p2.CreateRun();
// 计算图片尺寸(单位:EMUs,1英寸=914400 EMUs,1厘米=360000 EMUs)
var widthEmus = math.round(400.0 * 9525); // 约4.2厘米宽
var heightEmus = math.round(300.0 * 9525); // 约3.1厘米高
/*
读取图片文件并插入到文档中
参数说明:
1. 图片数据流
2. 图片类型(JPEG格式)
3. 图片ID(可自定义)
4. 宽度(EMUs单位)
5. 高度(EMUs单位)
*/
var picData = System.IO.FileStream("HumpbackWhale.jpg", "r+");
r2.AddPicture(picData, NPOI.XWPF.UserModel.PictureType.JPEG, "image1", widthEmus, heightEmus);
picData.Close();
// 保存文档到文件
var fs = System.IO.FileStream("sample.docx", "w+");
doc.Write(fs);
fs.Close();
单位转换:
图片类型:
PictureType 枚举指定:
PictureType.JPEGPictureType.PNGPictureType.BMP 等文件操作:
System.IO.FileStream 进行文件读写与 C# 的区别:
using 语句块,需要手动关闭流对象math 库函数这个示例展示了 NPOI 操作 Word 文档的基本能力,你可以进一步添加文本、表格、样式等丰富文档内容。