给word文档添加水印可以通过C#代码实现,具体步骤如下:
步骤一:引用Microsoft.Office.Interop.Word库
水印的添加需要使用到Word操作库,因此需要先引用Microsoft.Office.Interop.Word库。在Visual Studio中,可以在解决方案资源管理器中右击项目,选择“添加引用”,在COM中找到“Microsoft Word xx Object Library”勾选即可。
步骤二:打开Word文档并添加水印
打开Word文档可以使用Application类,添加水印则需要在文档中插入一个水印形状。
using Microsoft.Office.Interop.Word;
// 打开Word文档
var wordApp = new Application();
var doc = wordApp.Documents.Open("C:\\test.docx");
// 新增一个水印
var shape = doc.Shapes.AddTextEffect(
MsoPresetTextEffect.msoTextEffect1, "Watermark",
"Arial", 36,
MsoTriState.msoTrue, MsoTriState.msoFalse, 0, 0);
shape.Select();
shape.TextEffect.NormalizedHeight = MsoTriState.msoTrue;
shape.Fill.Visible = MsoTriState.msoFalse;
shape.Line.Visible = MsoTriState.msoFalse;
shape.WrapFormat.AllowOverlap = -1;
shape.WrapFormat.Side = WdWrapSideType.wdWrapBoth;
shape.WrapFormat.Type = WdWrapType.wdWrapNone;
shape.RelativeHorizontalPosition = WdRelativeHorizontalPosition.wdRelativeHorizontalPositionMargin;
shape.RelativeVerticalPosition = WdRelativeVerticalPosition.wdRelativeVerticalPositionMargin;
shape.Left = (float)WdShapePosition.wdShapeCenter;
shape.Top = (float)WdShapePosition.wdShapeCenter;
该示例使用msoTextEffect1形状作为水印,设置文字为“Watermark”,字体为“Arial”,字号为36。同时设置水印为纵向,不显示填充和边框,覆盖整个页,固定在页边距中心位置。
步骤三:保存Word文档
完成水印添加后需要将更改保存到文件中。
// 保存Word文档
doc.Save();
doc.Close();
完整代码示例:
using Microsoft.Office.Interop.Word;
namespace AddWatermarkToWord
{
class Program
{
static void Main(string[] args)
{
// 打开Word文档
var wordApp = new Application();
var doc = wordApp.Documents.Open("C:\\test.docx");
// 新增一个水印
var shape = doc.Shapes.AddTextEffect(
MsoPresetTextEffect.msoTextEffect1, "Watermark",
"Arial", 36,
MsoTriState.msoTrue, MsoTriState.msoFalse, 0, 0);
shape.Select();
shape.TextEffect.NormalizedHeight = MsoTriState.msoTrue;
shape.Fill.Visible = MsoTriState.msoFalse;
shape.Line.Visible = MsoTriState.msoFalse;
shape.WrapFormat.AllowOverlap = -1;
shape.WrapFormat.Side = WdWrapSideType.wdWrapBoth;
shape.WrapFormat.Type = WdWrapType.wdWrapNone;
shape.RelativeHorizontalPosition = WdRelativeHorizontalPosition.wdRelativeHorizontalPositionMargin;
shape.RelativeVerticalPosition = WdRelativeVerticalPosition.wdRelativeVerticalPositionMargin;
shape.Left = (float)WdShapePosition.wdShapeCenter;
shape.Top = (float)WdShapePosition.wdShapeCenter;
// 保存Word文档
doc.Save();
doc.Close();
}
}
}
以上示例实现了在Word文档中添加一个文字水印的功能。如果要添加图片水印,可以使用AddPicture方法,具体使用可以参考Word操作库的文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#如何给word文档添加水印 - Python技术站