问题描述:
如何在VSTO word 中,给单独的某一页设置水印文字?
问题简析:
水印文字可以看作是一个艺术字,所以给单独的某一页设置水印的话,可以通过设置艺术字的方式来达成此效果。
当然,水印和艺术字还是有不同的,如果给全文设置水印的话,水印是和页眉页脚同级的,但是给单个页面设置水印的话,根据观察,和艺术字的效果是同样的。可能有些地方我没理解到,有大佬知道的话可以帮忙指正。
代码
1 using Microsoft.Office.Core; 2 using Microsoft.Office.Interop.Word; 3 using Microsoft.Office.Tools.Ribbon; 4 5 private void button1_Click(object sender, RibbonControlEventArgs e) 6 { 7 object Nothing = System.Reflection.Missing.Value; 8 9 // 找到当前应用程序,即word 10 var WordApp = Globals.ThisAddIn.Application; 11 12 // 找到当前的活动文档 13 Document WordDoc = WordApp.ActiveDocument; 14 15 // 移动到要添加水印的那一页,此处设置为第六页 16 WordApp.Selection.GoTo(WdGoToItem.wdGoToPage, WdGoToDirection.wdGoToAbsolute, 6); 17 18 // 添加水印 19 Microsoft.Office.Interop.Word.Shape shape = WordDoc.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect1, "这是水印", "宋体", 16f, MsoTriState.msoCTrue, MsoTriState.msoCTrue, 300, 300, ref Nothing); 20 21 shape.Name = "Ksbb" + shape.Name; 22 23 // 设置角度 24 shape.IncrementRotation(0f); 25 26 // 设置颜色 27 shape.Fill.ForeColor.RGB = 111111; 28 29 // 透明度 30 shape.Fill.Transparency = 0.5f; 31 }
效果:
备注:
关于设置水印的方法,可以在微软官方文档中查阅到:Shapes.AddTextEffect 方法 (Microsoft.Office.Interop.Word) | Microsoft Learn
VSTO才开始学习,好多东西都不知道,而且要学习的内容也非常多,内容真的很多。。。
标签:Office,水印,shape,设置,一页,Microsoft,VSTO From: https://www.cnblogs.com/suicheng/p/18211531