zoukankan      html  css  js  c++  java
  • 给Office文档添加水印效果【测试有效】

    private void button1_Click(object sender, EventArgs e)
            {
                string test1 = "C:\test.docx";//源文件
                string test2 = "D:\test.docx";//添加后的文件
                AddWaterMark("test", test1, test2);//添加水印
            }
    
            public void AddWaterMark(string docName, string FilePath, string SavePath)
            {
                System.Windows.Forms.Application.DoEvents();
                object Nothing = System.Reflection.Missing.Value;
                object filename = FilePath;
                object docname = SavePath;
                //图片存放位置
                String logoPath = "D:\1.jpg";
                Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Open(ref filename, ref Nothing, ref Nothing,
                ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
                ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
                try
                {
                    WordDoc.Application.ActiveWindow.Selection.Range.Select();
                    WordDoc.Application.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageHeader;
                    //增加水印图片
                    WordDoc.Application.Selection.HeaderFooter.Shapes.AddPicture(logoPath, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing).Select(ref Nothing);
                    //增加水印文字
                    WordDoc.Application.Selection.HeaderFooter.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect1, "Dog", "Arial", (float)100, MsoTriState.msoTrue, MsoTriState.msoFalse, 0, 0, ref Nothing).Select(ref Nothing);
                    WordDoc.Application.Selection.ShapeRange.Name = "WordPictureWatermark1";
                    WordDoc.Application.Selection.ShapeRange.LockAspectRatio = MsoTriState.msoTrue;
                    WordDoc.Application.Selection.ShapeRange.Height = 845f;
                    WordDoc.Application.Selection.ShapeRange.Width = 595f;
                    WordDoc.Application.Selection.ShapeRange.Left = -999998f; //WdShapePosition.wdShapeCenter;居中
                    WordDoc.Application.Selection.ShapeRange.Top = -999999f;// WdShapePosition.wdShapeCenter;居中
                    WordDoc.Application.Selection.ShapeRange.WrapFormat.AllowOverlap = 0;
                    WordDoc.Application.Selection.ShapeRange.LayoutInCell = 0;
                    WordDoc.Application.Selection.ShapeRange.WrapFormat.Side = WdWrapSideType.wdWrapBoth;
                    WordDoc.Application.Selection.ShapeRange.WrapFormat.Type = WdWrapType.wdWrapNone; //  
                    WordDoc.Application.Selection.ShapeRange.ZOrder(MsoZOrderCmd.msoSendBehindText);//文本底下
                    WordDoc.Application.Selection.ShapeRange.RelativeHorizontalPosition = WdRelativeHorizontalPosition.wdRelativeHorizontalPositionPage;
                    WordDoc.Application.Selection.ShapeRange.RelativeVerticalPosition = WdRelativeVerticalPosition.wdRelativeVerticalPositionPage;
                    WordDoc.Application.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument;
                    WordDoc.SaveAs(ref docname, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
                    WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
                    WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
                }
                catch (Exception ee)
                {
                }
                finally
                {
                }
            }
        }

    作者:Joe.Fan
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Linux新用户创建与删除细节详解
    通过windows远程访问linux桌面的方法(简单)
    物理机网络地址配置原理
    Hive安装中metadata初始化问题
    彻底理解Promise对象——用es5语法实现一个自己的Promise(上篇)
    基于react+react-router+redux+socket.io+koa开发一个聊天室
    深入探析koa之异步回调处理篇
    深入探析koa之中间件流程控制篇
    【踩坑记录】一个新手几乎都踩过的坑...
    NodeJS优缺点及适用场景讨论
  • 原文地址:https://www.cnblogs.com/fanxingthink/p/4176155.html
Copyright © 2011-2022 走看看