OfficeIMO 是一个用于创建和操作 Microsoft Word (.docx) 和 Excel (.xlsx) 文档的 .NET 库。它基于 OpenXML SDK,提供了更简单直观的 API 接口。
参考:
OfficeIMO - 为 .NET 开发者打造的轻量级 Word 文档操作库
在我的项目中,文件输入输出都是byte[],可以有其他输入输出
也可以调整为图片水印,具体可以参考其他文档。
cs
using OfficeIMO.Word;
public static class WaterMarkHelper
{
public static byte[] AddWatermark4Word(byte[] fileBytes, string watermarkText)
{
using (var inputStream = new MemoryStream())
{
inputStream.Write(fileBytes, 0, (int)fileBytes.Length);
using (var doc = WordDocument.Load(inputStream))
{
doc.AddHeadersAndFooters();
var watermark = doc.Sections[0].Header.Default.AddWatermark(WordWatermarkStyle.Text, watermarkText);
watermark.Rotation = -45; //添加一定的旋转角度
// 保存到新流
using (MemoryStream outputStream = new MemoryStream())
{
doc.Save(outputStream);
return outputStream.ToArray();
}
}
}
}
}