VSTO自动添加的水印变得失真了,C#VSTO

问题描述

我都是VSTO和c#的新手, 我正在尝试通过VSTO自动化在Word文档中添加水印。 我可以添加水印,但是在添加一些文本后,水印变得失真了(高度在减小)

This is a distorted image 有点模糊,对此感到抱歉。

让我知道您是否需要任何信息

预先感谢 下面是我的代码

foreach (Word.Section section in doc.Sections)
            {
                Object oMissing = System.Reflection.Missing.Value;
                Word.Shape shape = 
                    section.Headers[Word.WdheaderfooterIndex.wdheaderfooterPrimary].Shapes
                    .AddTextEffect(MsoPresetTextEffect.msoTextEffect2,"confidential","Calibri",5,MsoTriState.msoTrue,MsoTriState.msoFalse,ref oMissing);
                //shape.Select(ref oMissing);
                shape.Name = "WaterMark";
                shape.Line.Visible = MsoTriState.msoFalse;
                shape.TextEffect.normalizedHeight = MsoTriState.msoFalse;
                shape.TextEffect.FontItalic = MsoTriState.msoFalse;
                shape.TextEffect.FontBold = MsoTriState.msoFalse;
                shape.Fill.Visible = MsoTriState.msoTrue;
                shape.Fill.solid();
                shape.Fill.ForeColor.RGB = 12632256;
                shape.Fill.Transparency = (float)0.5;
                shape.Rotation = 315;
                shape.LockAspectRatio = MsoTriState.msoTrue;
                shape.Left = (float)Word.WdShapePosition.wdShapeCenter;
                shape.LeftRelative = (float)-999999;
                shape.Top = (float)Word.WdShapePosition.wdShapeCenter;
                shape.TopRelative = (float)-999999;
                shape.Height = Globals.ThisAddIn.Application.CentimetersToPoints((float)3.65);
                shape.Width = Globals.ThisAddIn.Application.CentimetersToPoints((float)12.62);
                shape.Wrapformat.Type = Word.WdWrapType.wdWrapBehind;
                shape.Wrapformat.AllowOverlap = -1;
                shape.Wrapformat.distanceBottom = 0;
                shape.Wrapformat.distanceLeft = 9;
                shape.Wrapformat.distanceRight = 9;
                shape.Wrapformat.distancetop = 0;
                shape.Wrapformat.Side = WdWrapSideType.wdWrapBoth;
                shape.RelativeVerticalPosition = Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionMargin;
                shape.RelativeHorizontalPosition = Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionMargin;
                shape.WidthRelative = (float)-999999;
                doc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekMainDocument;
                

            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)