• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
༺҉戰҉༻
博客园    首页    新随笔    联系   管理    订阅  订阅

导出的Word中添加水印

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Core;

namespace sciencePraiseSystem.BLL
{
    public class ExportHelper
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="text">水印文字</param>
        /// <param name="left">左间距</param>
        /// <param name="top">上间距</param>
        /// <param name="rotation"></param>
        /// <param name="height"></param>
        /// <param name="width"></param>
        /// <param name="size">文字大小</param>
        /// <param name="transparency">透明度</param>
        public static void AddWatermark(Microsoft.Office.Interop.Word.Document doc, string text, Microsoft.Office.Interop.Word.WdShapePosition left,
            Microsoft.Office.Interop.Word.WdShapePosition top, float rotation, float height, float width, float size, float transparency,
            Microsoft.Office.Interop.Word.WdColor color= Microsoft.Office.Interop.Word.WdColor.wdColorGray375)
        {
            doc.Application.ActiveWindow.Selection.Range.Select();
            doc.Application.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageHeader;

            doc.Application.Selection.HeaderFooter.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect1, text, "楷体", size,
                MsoTriState.msoFalse, MsoTriState.msoFalse, 0, 0).Select();
            Microsoft.Office.Interop.Word.ShapeRange oShapeRange = doc.Application.Selection.ShapeRange;
            oShapeRange.Name = DateTime.Now.ToString("yyyyMMddhhmmssff") + RandomHelper.CreateRandomCode(8);//水印名称

            oShapeRange.Rotation = rotation;
            oShapeRange.LockAspectRatio = MsoTriState.msoTrue;
            oShapeRange.Height = doc.Application.CentimetersToPoints(height);
            oShapeRange.Width = doc.Application.CentimetersToPoints(width);
            oShapeRange.WrapFormat.AllowOverlap = -1;
            oShapeRange.WrapFormat.Side = Microsoft.Office.Interop.Word.WdWrapSideType.wdWrapBoth;
            oShapeRange.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapNone;
            oShapeRange.RelativeHorizontalPosition = Microsoft.Office.Interop.Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionMargin;
            oShapeRange.RelativeVerticalPosition = Microsoft.Office.Interop.Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionMargin;
            oShapeRange.Left = (float)left;
            oShapeRange.Top = (float)top;

            oShapeRange.TextEffect.NormalizedHeight = MsoTriState.msoFalse;
            oShapeRange.Line.Visible = MsoTriState.msoFalse;
            oShapeRange.Line.Transparency = 1.0f;
            oShapeRange.Fill.Visible = MsoTriState.msoTrue;
            oShapeRange.Fill.Solid();
            oShapeRange.Fill.ForeColor.RGB = (Int32)color;
            oShapeRange.Fill.Transparency = transparency;
            doc.Application.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;

            //Microsoft.Office.Interop.Word.HeaderFooter hdr = doc.Sections[1].Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary];
            //hdr.Range.Delete();
            //Microsoft.Office.Interop.Word.HeaderFooter ftr = doc.Sections[1].Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary];
            //ftr.Range.Delete();
        }

    }
}
直接引用

 

posted @ 2019-06-19 10:47  孤丷狼  阅读(593)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3