utils类 可以直接调用 传入参数就可以

/**
     *
     * @param count 默认从1开始 在添加权限页面时设置
     * @param srcFilePath 要加水印的pdf文档
     * @param descFilePath 然后生成一个新的pdf文档
     * @param textWatermark 加水印的档案馆信息
     * @param textWaterpath 用户的信息 和修改的时间
     * @return
     * @throws IOException
     * @throws DocumentException
     */
    public static boolean pdfInsertWatermark(Integer count,String srcFilePath,String descFilePath,
                                             String textWatermark,String textWaterpath,
                                             Integer state)throws Exception {
        PdfReader reader = new PdfReader(srcFilePath);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(descFilePath));
        PdfGState gs = new PdfGState();
        //统一的系统文字格式
        BaseFont font =  BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        gs.setFillOpacity(0.2f);// 设置透明度

//  设置覆盖全页的文字格式
        Font f=new Font(font,10);

Phrase p = new Phrase(textWaterpath,f);
        int total = reader.getNumberOfPages() + 1;
        PdfContentByte content;
        //为每一页加上档案馆的水印
        for (int i = count; i < total; i++) {
            content = stamper.getOverContent(i);
            content.beginText();
            content.setGState(gs);
            if(state==0){
                content.setColorFill(BaseColor.RED); //水印颜色
            }
            if(state==1){
                content.setColorFill(BaseColor.GRAY);
            }
            content.setFontAndSize(font, 40); //水印字体样式和大小
            content.showTextAligned(Element.ALIGN_CENTER,textWatermark, 300, 300, 45); //水印内容和水印位置
            //为每一页加上用户资料和修改的时间 以防档案泄露
            for (int y = 0; y < 10; y++) {
                for (int x = 0; x < 8; x++) {
                    // 水印文字成0度角倾斜
                    ColumnText.showTextAligned(content, Element.ALIGN_CENTER, p, 158 * y,80 + 140 * x , 45);

}
            }
            content.endText();
        }

stamper.close();//关闭流 防止删除删除不了

reader.close();
        reader=null;
        return true;
    }


maven

spire.office.freen包 可以上网找一下 也可以找我拿
<dependency><groupId>e-iceblue</groupId><artifactId>spire.office.free</artifactId><version>3.9.1</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/spire.office.free-3.9.0.jar</systemPath></dependency>

java 给pdf文档加水印相关推荐

  1. java怎么给文档加水印_Java 如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...

  2. Java 处理PDF文档(一):页眉页脚、水印、背景、附件

    前言 本文将介绍通过Java编程来处理PDF文档的一些方法,因为一篇文档的处理可能包括很多内容,比如文档安全性设置(水印.加密/解密).文本/图片/图形操作.注释.附件.域.文档转换(其他文件格式转为 ...

  3. OA系统中源文档加水印功能

    一.需求背景 在使用OA的时候,对于文档权限的把控是十分严格的,文档下载到本地打开,需要文档中显示是谁下载的,以便于如果此文档被下载分发,能够找到是谁下载分发的,做到文档的追踪溯源. 对于下载的文档, ...

  4. Java在PDF文档中添加或删除页面

    前言 当你编辑一个PDF文档时,有时需要删除文档中多余的页面或向文档中添加新的页面.本文将向您演示如何使用Spire.PDF for Java在PDF文档中添加或删除页面. 程序环境 安装Spire. ...

  5. java生成pdf方法_详解Java生成PDF文档方法|chu

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持iText,生成PDF文档,还支持将XML ...

  6. java jar 打印_三种Java打印PDF文档的实例代码

    以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 1 静默打印 2 显示打印对话框打印 3 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar文件获取及导 ...

  7. 为Word文档加水印使其更加美观(转)

    为Word文档加水印使其更加美观(转) 许多朋友在制作Word文档时,为使文档更加美观,喜欢在其中加上水印.而通常制作水印的方法是通过图形的层叠来实现的,但如果需要为文档中的每一页都加有相同水印的话, ...

  8. 如何给word文档加水印

    转自:微点阅读  https://www.weidianyuedu.com/content/3519276155101.html 怎么给word文档添加水印?这是很多人心里面都有的疑问,给word文档 ...

  9. 如何批量去除PDF文档的水印 .

    现在的互联网时代是一个共享的时代,我们会经常从网络上面下载一些文件资料等等,那么是不是经常会遇到一些网站上的PDF文件会含有该网站的水印或者网址链接等等,接下来我们就是要讲怎样去水印. 单个PDF页的 ...

  10. 【教程】如何使用Java生成PDF文档?

    在如今数字化时代,越来越多的人使用PDF文档进行信息传递和共享.而使用Java生成PDF文档也成为了一个非常重要的技能,因为Java作为一种通用的编程语言,可以在不同的操作系统和平台上运行.下面,我们 ...

最新文章

  1. 天池算法赛:数据挖掘经典赛事!DCIC 2020 数字中国创新大赛启动!
  2. 一份传世典文:十年编程(Teach Yourself Programming in Ten Years)
  3. 如何禁止掉root登录,使用key密钥登录
  4. java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...
  5. python涉及到的逻辑_涉及逻辑运算的python表达式的运算顺序
  6. Android控件——ListView之Adapter提供数据(其二)
  7. java调用平方函数,Java8函数式编程入门
  8. performSelector:withObject:afterDelay: 精要概览(持续更新)
  9. Oracle BIEE 链接oracle 数据库的问题,报:Check if 'Oracle OCI 10G' database client is installed
  10. HTML实现学习网站首页
  11. 微信开发 MySQL 存储 Emoji 表情
  12. Ghost XP SP2 64位 纯净珍藏版
  13. 计算机坏处英语,玩电脑的危害英语作文,沉迷电脑的危害英语作文!
  14. bluefish开发php,Bluefish—优秀的Linux下HTML编辑器
  15. 鸿蒙系统4月24日升级哪几款手机,大器晚成!鸿蒙系统或4月24号推送更新,你的机型在内吗?...
  16. CSS4day(圆角边框,阴影,浮动详解及其示例)
  17. 迷宫问题(解救小哈)
  18. OpenCV - imwrite保存透明PNG
  19. java数独最快解_java快速解数独
  20. 港股2017年表现全球最好,区块链将助推新经济牛市?

热门文章

  1. 漫画:鉴权与安全访问控制的技术血脉
  2. 静态网页制作(html+css)、css浮动,练习(网页布局),清除浮动
  3. Revit二次开发 ----> 管道翻弯
  4. 数据挖掘:Apriori 关联规则分析算法原理分析与代码实现
  5. 书架html特效代码,原生JS写的一个书架式的图片缩放滚动展示特效代码
  6. OpenGL - PBR
  7. JavaScript 每日一题 #11
  8. Sicily 1782. Knapsack
  9. 扣哒世界发布面向中小学阶段C++信奥课程体系
  10. iphone计算机怎么显示电话,苹果手机最近通话记录不显示怎么恢复