问题描述
我都是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 (将#修改为@)