精华内容
下载资源
问答
  • 一年前我安装了Word 2007,一直想知道能不能通过一些很小的改变加快某些任务的处理速度。...菜单中有些预设好的水印,但是“副本”字样并不包括在内,所以我还得选择“自定义水印”|“文字水印”,

        一年前我安装了Word 2007,一直想知道能不能通过一些很小的改变加快某些任务的处理速度。具体说来,我在用Word写信件时常常要用到水印功能,比如在给联系人发送信件的拷贝时用沿对角线方向排列的“副本”字样的水印作为提示。

        要实现这个效果我得在“页面布局”标签中单击“水印”打开下拉菜单;菜单中有些预设好的水印,但是“副本”字样并不包括在内,所以我还得选择“自定义水印”|“文字水印”,然后输入文字内容,再设置为斜式版式。

        在整个过程中我不能选中刚插入的水印,而且“水印”菜单中的“将选中内容保存到水印库”项也一直是灰色的,没法点击。有没有什么操作能将“副本”保存为预设水印,这样一打开水印的下拉菜单我就能直接选择它,省去后面的麻烦。

      当然可以。首先,创建自定义水印,然后切换到“插入”栏打开“页眉”下拉菜单,选择“编辑页眉”;这时你会发现已经能单击选中刚刚编辑的水印了,之后只要切换回“页面布局”栏,打开“水印”下拉菜单,然后单击“将所选内容保存到水印库”就能将自定义的水印安置到“水印”菜单里了。

     

        原作品网址:http://www.oldcp.com/Information/ArticleShow.asp?ArticleID=10314

     

    展开全文
  • Java实现在线word文档添加铺满效果文字水印,文字可换行使用插件Aspose.words for java生成水印的工具类调用生成水印方法 需求:为在线预览的word文档添加自定义水印,还要铺满效果,文字太多还要能换行 使用插件...

    Java实现在线word文档添加铺满效果文字水印,文字可换行


    需求:为在线预览的word文档添加自定义水印,还要铺满效果,文字太多还要能换行

    使用插件Aspose.words for java

    一个jar包,官网下载或者复制相应的dependency语句即可,专门处理开发过程中的word文档的工具,功能挺强大,但是需要先破解,破解的关键就是把注册license的源码给删了,网上破解教程不多,且都大同小异,反正我是破解成功了,你们也可以的!
    最后把破解完的jar包通过适合你自己的方式导入到依赖里即可
    (为什么说适合你的方式呢?因为我无法直接在pom文件里导入官网的dependency,公司有限制,只能导入公司仓库里已有的版本…)

    生成水印的工具类

    想实现文字水印换行需要在调用工具类方法时在水印文本中加"\n"换行符,然后修改下面这个生成文字形状的方法,调整水印的宽高,换行后宽度变小,高度变大。
    watermark.setHeight(WATERMARK_FONT_HEIGHT*3); //WATERMARK_FONT_HEIGHT是一行文字的高度,我水印分了三行,所以最终水印高度 * 3,如果还不满意,也可以改WATERMARK_FONT_HEIGHT

    /**
         * 构建文字shape类
         *
         * @param doc           文档对象
         * @param watermarkText 水印文字
         * @param left          左边距
         * @param top           上边距
         * @throws Exception 
         */
        private static Shape buildTextShape(Document doc, String watermarkText, double left, double top) throws Exception {
            Shape watermark = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);
            watermark.getTextPath().setText(watermarkText);
            watermark.getTextPath().setFontFamily("宋体");
            watermark.setWidth(watermarkText.length() * (double)WATERMARK_FONT_WIDTH);
            watermark.setHeight(WATERMARK_FONT_HEIGHT*3); //WATERMARK_FONT_HEIGHT是一行文字的高度,我水印分了三行,所以最终水印高度*3
            watermark.setRotation(WATERMARK_FONT_ROTATION);
            //绘制水印颜色
            watermark.getFill().setColor(watermark_color);
            watermark.setStrokeColor(watermark_color);
            //将水印放置在页面中心
            watermark.setLeft(left);
            watermark.setTop(top);
            watermark.setWrapType(WrapType.NONE);
            return watermark;
        }
    

    完整工具类,包括文字和图片水印的生成

    import com.aspose.words.*;
    import com.aspose.words.Shape;
    import org.apache.commons.lang3.StringUtils;
    
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.util.Random;
    
    /**
     * 水印工具类
     */
    public class WatermarkUtils {
    
        /**
         * 水印每个字体的宽度为10
         */
        private final static int WATERMARK_FONT_WIDTH = 5;
        /**
         * 水印每个字体的高度为16
         */
        private final static int WATERMARK_FONT_HEIGHT = 14;
        /**
         * 水印图片的默认高度为20
         */
        private final static double WATERMARK_IMG_HEIGHT = 20d;
        /**
         * 水印倾斜角度 默认是50 为保证文字连续性尽量不要修改
         */
        private final static int WATERMARK_FONT_ROTATION = 50;
        /**
         * 水印字体颜色
         */
        private static Color watermark_color = new Color(217, 226, 243);
    
        /**
         * word文档插入图片水印
         *
         * @param doc     文档对象
         * @param imgPath 图片路径
         * @throws Exception 
         */
        public static void insertWatermarkImg(Document doc, String imgPath) throws Exception {
            if (StringUtils.isBlank(imgPath)) {
                System.out.println("没有配置水印图片, 无法为文档加入水印");
                return;
            }
            Paragraph watermarkPara = new Paragraph(doc);
            // TODO 这里的数据 计算水印个数(900 150 700 150) 首个水印位置(-200至-100)都是实验得到 没有理论依据
            for (int top = 0; top < 900; top += 150) {
                int beginLeft = new Random().ints(-100, -50).limit(1).findFirst().getAsInt();
                for (int left = beginLeft; left < 700; left += 150) {
                    Shape waterShape = buildImgShape(doc, imgPath, left, top);
                    watermarkPara.appendChild(waterShape);
                }
            }
            // 在每个部分中,最多可以有三个不同的标题,因为我们想要出现在所有页面上的水印,插入到所有标题中。
            for (Section sect : doc.getSections()) {
                // 每个区段可能有多达三个不同的标题,因为我们希望所有页面上都有水印,将所有的头插入。
                insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_PRIMARY);
                insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_FIRST);
                insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_EVEN);
            }
        }
    
        /**
         * 构建图片shape类
         *
         * @param doc     文档对象
         * @param imgPath 图片文件路径
         * @param left    左边距
         * @param top     上边距
         */
        private static Shape buildImgShape(Document doc, String imgPath, int left, int top) {
            Shape shape = new Shape(doc, ShapeType.IMAGE);
            try {
    //            File imgFile = new File(imgPath);
    //            BufferedImage sourceImg = ImageIO.read(new FileInputStream(imgFile));
                BufferedImage sourceImg = ImageIO.read(new WatermarkUtils().getClass().getResourceAsStream(imgPath));
                double multiple = sourceImg.getHeight() / WATERMARK_IMG_HEIGHT;
    //            shape.setWidth(sourceImg.getWidth() / multiple);
    //            System.out.println(sourceImg.getWidth() / multiple);
    //            shape.setHeight(WATERMARK_IMG_HEIGHT);
                shape.getImageData().setImage(sourceImg);
                shape.setWidth(50);
                shape.setHeight(20);
                shape.setRotation(WATERMARK_FONT_ROTATION);
                shape.setLeft(left);
                shape.setTop(top);
                shape.setWrapType(WrapType.NONE);
            } catch (Exception e) {
                throw new RuntimeException("图片附件丢失, 无法生成水印!", e);
            }
            return shape;
        }
    
        /**
         * 为word文档插入文本水印
         *
         * @param doc           文档对象
         * @param watermarkText 文本内容
         * @throws Exception 
         */
         public static void insertWatermarkText(Document doc, String watermarkText) throws Exception {
            if (StringUtils.isBlank(watermarkText)) {
                System.out.println("没有配置水印内容, 无法为文档加入水印");
                return;
            }
            Paragraph watermarkPara = new Paragraph(doc);
            // TODO 这里的数据 计算水印个数(900 150 700 150) 首个水印位置(-200至-100)都是实验得到 没有理论依据
            for (int top = 0; top < 900; top += 300) {
                int beginLeft = new Random().ints(-400, -200).limit(1).findFirst().getAsInt();
                for (int left = beginLeft; left < 700; left += 300) {
                    // 如果是左起第一个水印则通过字符串截取达到随机显示水印的目的
                    // 这样做的原因为了保证倾斜的行保证对齐 又能表现随机的特性 不是好办法
                    if (left == beginLeft) {
                        int splitNo = new Random().ints(0, watermarkText.length()).limit(1).findFirst().getAsInt();
                        String firstWater = watermarkText.substring(splitNo) + "                                            ".substring(0, splitNo);
                        Shape waterShape = buildTextShape(doc, firstWater, left, top);
                        watermarkPara.appendChild(waterShape);
                    } else {
                        Shape waterShape = buildTextShape(doc, watermarkText, left, top);
                        watermarkPara.appendChild(waterShape);
                    }
                }
            }
    
            // 在每个部分中,最多可以有三个不同的标题,因为我们想要出现在所有页面上的水印,插入到所有标题中。
            for (Section sect : doc.getSections()) {
                // 每个区段可能有多达三个不同的标题,因为我们希望所有页面上都有水印,将所有的头插入。
                insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_PRIMARY);
                insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_FIRST);
                insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_EVEN);
            }
    
        }
    
        /**
         * 构建文字shape类
         *
         * @param doc           文档对象
         * @param watermarkText 水印文字
         * @param left          左边距
         * @param top           上边距
         * @throws Exception 
         */
        private static Shape buildTextShape(Document doc, String watermarkText, double left, double top) throws Exception {
            Shape watermark = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);
            watermark.getTextPath().setText(watermarkText);
            watermark.getTextPath().setFontFamily("宋体");
            watermark.setWidth(watermarkText.length() * (double)WATERMARK_FONT_WIDTH);
            watermark.setHeight(WATERMARK_FONT_HEIGHT*3);
            watermark.setRotation(WATERMARK_FONT_ROTATION);
            //绘制水印颜色
            watermark.getFill().setColor(watermark_color);
            watermark.setStrokeColor(watermark_color);
            //将水印放置在页面中心
            watermark.setLeft(left);
            watermark.setTop(top);
            watermark.setWrapType(WrapType.NONE);
            return watermark;
        }
    
        /**
         * 插入水印
         *
         * @param watermarkPara 水印段落
         * @param sect          部件
         * @param headerType    头标类型字段
         * @throws Exception 
         */
        private static void insertWatermarkIntoHeader(Paragraph watermarkPara, Section sect, int headerType) throws Exception {
            HeaderFooter header = sect.getHeadersFooters().getByHeaderFooterType(headerType);
            if (header == null) {
                header = new HeaderFooter(sect.getDocument(), headerType);
                sect.getHeadersFooters().add(header);
            }
            header.appendChild(watermarkPara.deepClone(true));
        }
    }
    

    调用生成水印方法

    在生成在线文档的方法中调用生成水印的方法

    //aspose.words加水印,破解后想用,需要先获取license
    if(!getLicense()) {
    	throw new Exception("com.aspose.words lic ERROR!");
    }
    Document document = new Document(路径"temp.docx");
    WatermarkUtils.insertWatermarkText(document, txt); //调用工具类方法,txt是水印文字
    document.protect(ProtectionType.READ_ONLY);  //设置只读,其实我用着没效果
    document.save(路径"temp.docx"); //最后必须保存
    
    
    /**
    * 获取license
     * 
     * @return
     */
     public static boolean getLicense() {
        boolean result = false;
        try {
        	InputStream license = Rmbdyyl.class.getClassLoader().getResourceAsStream("license.xml");// license路径
            License aposeLic = new License();
            aposeLic.setLicense(license);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    

    涉及公司机密,效果图就不放了

    展开全文
  • 基本简介 本款word文档水印设置工具的操作非常简单,用户只需要选择需要处理的文件,然后根据需求选择水印处理操作就ok了~用户可以自定义文字水印或图片水印,而且可以设置水印的字体、颜色、尺寸等信息。 Word...
  • 1、点【设计】下的【水印】,2016版本的word在右侧,各位,向右看齐2、点水印下的倒三角按钮后,可以看到有“机密”、"紧急"等预设好的水印文字,我们不要这个,点下看,点下面的【自定义水印】...

    ​加水印不止是为了好看,更重要的有防伪或者声明的作用,比如在合同或公司文件上加上公司标志水印等,也有很多不愿意去这么做,我们公司的产品型式检验报告的材料上,都有相关的水印,这也是为了防止做假的材料而设置的吧。

    1、点【设计】下的【水印】,2016版本的word在右侧,各位,向右看齐

    aabfd56642c9a07afd670ea90436521b.png

    2、点水印下的倒三角按钮后,可以看到有“机密”、"紧急"等预设好的水印文字,我们不要这个,点下看,点下面的【自定义水印】

    01c3c66b72ac38ac7a56334a389e5ef2.png

    3、在弹出的【自定义水印】窗口中,有图片水印和文字水印,根据需要选择使用水印即可,我们以文字水印来设置一下。

    8a1cb54a544722cf1a23af93161e460b.png

    4、我简单的设置了几个水印文字“李兆香爱你们”,字体改为习字体,颜色改成黄色并设置成了透明,版式一般情况下选择“斜式”的较多,因为水印用斜着的方式显示好看,另外水印的面积会比水平方式的大些。

    afdb6839f4fb0b98b7f43f3161d0ca3a.png

    5、最后还是放上一张我设置完毕的效果图吧

    ea494ac50e6f8c147c48b2919a6c8a5d.png
    展开全文
  • word】添加水印

    2020-01-24 18:43:31
    1、设计->...2、文字水印自定义 #include<iostream> using namespace std; int s1,s2,s3; bool flag = 1; int main() { freopen("1.txt","r",stdin); freopen("2.txt","w",stdout); i...

    1、设计->页面背景->水印->自定义水印

    2、文字水印自定义
    在这里插入图片描述

    #include<iostream>
    using namespace std;
    int s1,s2,s3;
    bool flag = 1;
    int main()
    {
        freopen("1.txt","r",stdin);
        freopen("2.txt","w",stdout);
        int k;cin >> k;
        for(int i = 10000;i <= 30000;i++)
        {
            s1 = i / 100;
            s3 = i % 1000;
            s2 = (i/10)%1000;
            if(s1%k==0&&s2%k==0&&s3%k==0)
                {
                    cout << i <<endl;
                    flag = 0;
                }
        }
        if(flag)
            cout << "NO" ;//实在没想到是因为No打成了NO,太粗心了
    }
    
    展开全文
  • 02、快速自定义水印Word菜单区域中点击“设计” 选项,在功能区右侧点击“水印” ,下拉选项中预置了很多水印格式,大家可根据需要自定义水印并设置。03、快速设置跨页表格标题行鼠标点击文档表格第一个标题行任意...
  • 动态文字水印怎么做

    2019-12-29 22:59:26
    水印是把一些标识信息嵌入到信息载体中,在不影响原载体内容使用的同时,为原作者提供识别的手段,进而...像 Word 中增加水印很简单:菜单栏“设计”-“水印”(选择“自定义水印”),可以设置图片或文字水印。 ...
  • 水印是把一些标识信息嵌入到信息载体中,在不影响原载体内容使用的同时,为原作者提供识别的...像 Word 中增加水印很简单:菜单栏“设计”-“水印”(选择“自定义水印”),可以设置图片或文字水印。但同一个 ...
  • Word水印

    2019-12-15 22:27:50
    自定义水印 2.文字栏 输入想要标识的水印 3.附上文档内容-数学竞赛题 已知整数x,y,满足x+y+2xy=83,求解x+y的值? 解: x+y+2xy=83 2x+2y+4xy=166 2x+2y+4xy+1= (2x+1) (2y+1) = 167 且由于x,y均为整数,且...
  • 添加文字水印 <br /> 制作好文档后,在“格式”菜单下“背景”中选择“水印”选项,选择“文字水印”,在“文字”菜单中选择水印的文字内容,也可自定义水印文字内容。设置好水印文字的字体、尺寸、颜色、透明...
  • 在日常工作中有时为了防止文档被盗用,我们经常会给Word文档添加各种不同...2、自定义文字水印用极速写作打开Word文档后,点击工具栏“设计”选择“水印”,下拉菜单中选择“自定义水印”,在“水印”弹窗中勾选“文...
  • 水印是把一些标识信息嵌入到信息载体中,在不影响原载体内容使用的同时,为原作者提供识别的...像 Word 中增加水印很简单:菜单栏“设计”-“水印”(选择“自定义水印”),可以设置图片或文字水印。但同一个 ...
  • 水印是把一些标识信息嵌入到信息载体中,在不影响原载体内容使用的同时,为原作者提供识别的...像 Word 中增加水印很简单:菜单栏“设计”-“水印”(选择“自定义水印”),可以设置图片或文字水印。但同一个 ...
  • WORD文档水印批量设置工具可以批量给WORD文档批量添加图片水印与文字水印,水印效果可以自定义设置,文字水印可设置文字内容、文字所使用的字体、尺寸及颜色。无水印模式清除原有填充效果,也可清除文档所有艺术字...
  • Word中添加打印水印

    2012-09-05 07:58:45
    在打印一些重要文件时给文档加上水印,例如“绝密”、“保密”的...制作好文档后,在“格式”菜单下“背景”中选择“水印”选项,选择“文字水印”,在“文字”菜单中选择水印的文字内容,也可自定义水印文字内容。设计
  • 水印是指打印时显示在已存在的文档文字中的任何背景文字或图形,可以让...添加文字水印(例如“绝密”、“保密”的字样) 在“格式”菜单下→“背景”→“水印”→“文字水印”,选择水印的文字内容或自定义水印文字内
  • 在打开的水印对话框中点击文字水印(X),填写相应的设置即可 在Word中,当前页面文本较少,添加的水印虽然相对于页面居中,但是相对于当前页面的文本确是偏下的,怎么才能够更改水印的位置呢? 方法: 双击页眉上方...
  • 用到了ImageWaterMark.dll 虽然不添加这个也能实现水印,但是本人到目前为止还没有解决自定义水印文字的方法,所以引用了ImageWaterMark.dll 部分参考代码如下: 1.生成水印图片 public void CreateWaterMarkImg...
  • 关于水印

    2019-10-18 12:03:39
    Word里面 设计---水印 有各种水印模板,也可以自定义水印自定义水印可以设置文字,颜色,字体。 如果水印文字遮盖,看不见那一定是边框和底纹的设计出了问题,我们可以在设计---页面边框设置,注意边框...
  • 前言本文针对 仅有 PDF 文件,而无相关 PDF 编辑器的情况下,给 PDF 添加水印。...实现步骤: 新建 watermark.word ,【设计】 → \to → 【水印】【自定义水印】 → \to → 【文字水印】输入【...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

word自定义文字水印