最终用了两个控件:NPOI 2.4.1和FreeSpire.Doc 7.11.0,
本来NPOI一个组件就可以搞定的,但NPOI最新的版本2.5.1添加水印后,word打开错误,目前用NPOI降级到2.4.1版本用生成word文档,使用FreeSpire.Doc生成水印。
using System;
using System.IO;
using NPOI.XWPF.Model;
using NPOI.XWPF.UserModel;
using Spire.Doc;
using Spire.Doc.Documents;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p1 = doc.CreateParagraph();
XWPFRun r1 = p1.CreateRun();
r1.SetText("The quick brown fox");
FileStream out1 = new FileStream("simple.docx", FileMode.Create);
doc.Write(out1);
out1.Close();
Spire.Doc.Document doc1 = new Spire.Doc.Document();
doc1.LoadFromFile("simple.docx");
//设置文本水印
TextWatermark txtWatermark = new TextWatermark();
txtWatermark.Text = "Microsoft";
txtWatermark.FontSize = 90;
txtWatermark.Layout = WatermarkLayout.Diagonal;
doc1.Watermark = txtWatermark;
doc1.SaveToFile("水印.docx");
}
}
}