1

.依赖

        <dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>

2.水印图片在项目中的位置

3.代码实现


import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfGState;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.FileOutputStream;
import java.io.IOException;/**** PDF水印工具类*/
public class PDFWatermarkUtil {private static final Logger LOGGER = LoggerFactory.getLogger(PDFWatermarkUtil.class);/**** 执行添加图片水印* @param inputFilePath    原始文件* @param outputFilePath   添加水印文件* @param watermarkPath    水印图片*/public static boolean addWatermark(String inputFilePath, String outputFilePath, String watermarkPath) {FileOutputStream fileOutputStream = null;try {// 待加水印的文件PdfReader pdfReader = new PdfReader(inputFilePath);fileOutputStream = new FileOutputStream(outputFilePath);// 加完水印的文件PdfStamper pdfStamper = new PdfStamper(pdfReader, fileOutputStream);int total = pdfReader.getNumberOfPages() + 1;//设置透明度PdfGState gs = new PdfGState();gs.setFillOpacity(0.3f);Image image = Image.getInstance(watermarkPath);//循环对每页插入水印for (int i = 1; i < total; i++) {PdfContentByte pdfContentByte = pdfStamper.getOverContent(i);pdfContentByte.setGState(gs);image.setAbsolutePosition(0, 0);pdfContentByte.addImage(image);}pdfStamper.close();pdfReader.close();} catch (Exception e) {LOGGER.error("executeWatermark exception", e);return false;}finally {try {if(fileOutputStream != null){fileOutputStream.flush();fileOutputStream.close();}} catch (IOException e) {LOGGER.error("fileOutputStream close exception", e);}}return true;}
}

给pdf加水印的方法相关推荐

  1. java如何给pdf加水印_java pdf加水印的方法

    本文实例为大家分享了java pdf加水印的具体代码,供大家参考,具体内容如下 引入依赖 com.itextpdf.tool xmlworker 5.5.10 com.itextpdf itextpd ...

  2. java pdf加水印 性能_利用java批量给pdf加水印的方法示例

    前言 最近因为工作需要,要批量在pdf上加水印,但找了一圈pdf在mac下的水印工具,都不太好用,索性就用java写一个吧. 以下代码依赖itext5.3.3包,java操作pdf 依靠itext5. ...

  3. 怎么给pdf加水印,pdf加水印步骤

    怎么给pdf加水印?有时候位置方式别人随意使用pdf文件里面的内容,我们需要给做好的pdf文件添加水印,这样可以起到一定的保护作用,那么怎么给pdf文件添加水印呢?有的小伙伴肯定会说,用专业的pdf编 ...

  4. java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令

    文章目录 libreoffice下载地址 安装 (第一种) java调用 (第二种 推荐) java调用Linux命令转pdf java远程连接Linux执行命令(少数情况) linux安装windo ...

  5. pdf批量加水印的方法?

    pdf批量加水印的方法?工作中如果领导交给你一个任务,给100个pdf文件添加水印,并且时间紧急明天就需要用,这时候你该办呢?是不是加班用编辑器一个一个的添加呢?聪明的打工人可不会用这个方法哦,因为他 ...

  6. 怎么给pdf加水印,常用的4个方法

    怎么给pdf加水印?为了在PDF文件上添加水印,可以使用多种方法来提高文件的安全性和防护能力.在实际操作中,我们可以根据需求在PDF文件的不同页面上添加文本或图像水印.无论是文本还是图像,都可以快速有 ...

  7. pdf加水印怎么加,两个简单方法分享

    pdf加水印怎么加,小编推荐方法简单易操作.PDF是我们日常工作中最常见的文档之一,PDF 格式安全.标准化.可分享.可编辑,它的优势包括:不因设备.操作系统等因素影响排版效果:支持集合多种内容形式: ...

  8. 怎么给pdf加水印?教3个简单的方法

    怎么给pdf加水印?因为我们知道给pdf加水印有很大的作用和好处. 首先水印可以起到保密和防伪的作用,避免他人未经授权使用或篡改PDF文档.水印可以带有一些额外信息,如公司名称.版权声明等,以便识别和 ...

  9. pdf加水印怎么加?3个方法你可以看看

    pdf加水印怎么加?为了加强PDF文件的安全性和防护能力,我们可以采用多种方法来在文件上添加水印.水印可以是文本或图像,并可被添加在PDF文件的不同页面上.使用水印,可以快速有效地识别文件的来源,从而 ...

  10. 批量给pdf加水印,pdf批量加水印方法

    如何批量给pdf加水印?如今我们每个人的保护意识都很强,尤其是关于知识产权方面,pdf作为大部分正式文件的主要格式,保护pdf文件不被盗用就尤为的重要了,除了给pdf文件加密以外,还可以在pdf文件的 ...

最新文章

  1. ui-router中使用ocLazyLoad和resolve
  2. 如何查看Android设备上的分区信息
  3. 鼠标在linux下如何工作,Linux操作系统下的鼠标操作
  4. RedisDesktopManager客户端可视化工具下载安装与使用
  5. Uncaught TypeError: Cannot read property 'value'' of null
  6. Teams新功能更新【六月底】Microsoft Teams: Music on Hold
  7. 「北京」京东 JD.COM 招聘中/高级前端工程师
  8. Luogu P1311 选择客栈(前缀和)
  9. 深度优先搜索(DFS)与广度优先搜索(BFS) -- 总结
  10. Atitit Spring事务配置不起作用可能出现的问题: .是否是数据库引擎设置不对造成的【笔者就遇到了这个问题,由于笔者使用的是mysql数据,但是在创建表的时候引擎默认(mysql中引擎默认为
  11. HTML5前端教程分享:JavaScript学习指南
  12. POJ 1080 Gene
  13. 微信支付全流程对接文档
  14. 史上最全! 全球 22 种开源商业收入模式
  15. 作为产品经理的你,画原型图时崩溃过吗?
  16. 设计脉宽占空比50%,25%可调的脉冲发生器
  17. CISP-PTE考试大纲
  18. 西南民族大学第十届校赛(同步赛)(H题——Ricky’s RealDan’s Ricky)
  19. android build.version,android兼容性.使用Build.VERSION_CODES时我很困惑
  20. 韩国Naver批量数据采集上传

热门文章

  1. 计算机的音标英语,英语国际音标
  2. 计算机专用英语1500词带音标,计算机专用英语词汇1500词音标版.pdf
  3. 防火墙资源(jetio,comodo,outpost,pc tool,zonealarm pro
  4. 不用百度网盘客户端直接下载大文件
  5. 【mac】一招帮你腾出mac的大量储存空间
  6. MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
  7. Java 汉字繁体转简体
  8. hd计算机技术,BD和HD的区别是什么?
  9. 服务器TPMC值计算
  10. 【iOS-Cocos2d游戏开发】解决滚屏背景/拼接地图有黑边(缝隙)