使用java代码实现给PDF加水印的功能

首先导入所需要的依赖

com.itextpdf

itextpdf

5.5.11

com.itextpdf

itext-asian

5.2.0

java 代码实现

/**

* @param inputFile 你的PDF文件地址

* @param outputFile 添加水印后生成PDF存放的地址

* @param waterMarkName 你的水印

* @return

*/

public static boolean waterMark(String inputFile,

String outputFile, String waterMarkName) {

try {

PdfReader reader = new PdfReader(inputFile);

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(

outputFile));

//这里的字体设置比较关键,这个设置是支持中文的写法

BaseFont base = BaseFont.createFont("STSong-Light",

"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 使用系统字体

int total = reader.getNumberOfPages() + 1;

PdfContentByte under;

Rectangle pageRect = null;

for (int i = 1; i < total; i++) {

pageRect = stamper.getReader().

getPageSizeWithRotation(i);

// 计算水印X,Y坐标

float x = pageRect.getWidth()/10;

float y = pageRect.getHeight()/10-10;

// 获得PDF最顶层

under = stamper.getOverContent(i);

under.saveState();

// set Transparency

PdfGState gs = new PdfGState();

// 设置透明度为0.2

gs.setFillOpacity(1.f);

under.setGState(gs);

under.restoreState();

under.beginText();

under.setFontAndSize(base, 60);

under.setColorFill(BaseColor.ORANGE);

// 水印文字成45度角倾斜

under.showTextAligned(Element.ALIGN_CENTER

, waterMarkName, x,

y, 55);

// 添加水印文字

under.endText();

under.setLineWidth(1f);

under.stroke();

}

stamper.close();

return true;

} catch (Exception e) {

e.printStackTrace();

return false;

}

}

java pdf水印排布问题_java 实现 PDF 加水印功能相关推荐

  1. java pdf水印排布问题_Java实现pdf文件添加水印,铺满全页。

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/duan1309/article/details/81232300 因项目需要将word文件(.doc ...

  2. java pdf水印排布问题_java实现图片和pdf添加铺满文字水印

    依赖jar包 com.itextpdf itextpdf 5.3.2 com.itextpdf itext-asian 5.2.0 一,图片添加铺满水印 ======================= ...

  3. 如何给图片加水印?这几个给图片加水印的方法小白也能轻松学会

    大家在生活中会不会经常将自己拍摄的图片分享到社交平台?在分享的时候,会不会担心图片被别人盗用的情况发生?今天教你一个好办法,只要将图片加上自己的水印,就不用担心这样的情况出现了.那么你们知道给图片加水 ...

  4. java 水印 位置_Java实现图片加水印且控制位置和透明度

    Java实现图片加水印且控制位置和透明度 昨天要做一个给图片加水印的功能,不想使用一些插件,就在网上转了一会儿,经过改装成了我需要的功能,代码如下: package org.guhao; import ...

  5. java 图片加水印不失真_java实现图片加水印效果

    图片加水印代码,这些代码不常用,但是用到的时候需要注意的地方也挺多的,每次都重写比较麻烦,记下来备忘.代码是图片加水印的一般流程,可根据实际项目需要自行修改. 注:代码在JPG和PNG格式图片下测试通 ...

  6. java pdf转为多张图片格式_java进行PDF和图片之间的相互转换

    简介 在项目中我们有时候会遇到操作PDF文件的需求,如将PDF的每一页转换成图片,今天我们就来实现一下相关功能. 实现 引入依赖 org.apache.pdfbox pdfbox 2.0.21 pdf ...

  7. java制作水效果_java实现图片加水印效果

    图片加水印代码,这些代码不常用,但是用到的时候需要注意的地方也挺多的,每次都重写比较麻烦,记下来备忘.代码是图片加水印的一般流程,可根据实际项目需要自行修改. 注:代码在JPG和PNG格式图片下测试通 ...

  8. PDF格式转换、合并、分割、加水印、加页码各种操作,收藏这几个网站就够啦

    哈喽大家好,我是菌菌~ 日常工作中,我们经常会接触PDF格式文件 它格式稳定,通用性高 但不得不说,PDF着实让人又爱又恨 爱它的方便和高兼容性 恨它难以编辑修改 虽然网上有不少PDF格式转换器 但大 ...

  9. 手机怎么给PDF添加水印?教你两招手机加水印方法

    手机怎么给PDF文件添加水印呢?大家在日常发送PDF文件的时候,为了防止文件内容被他人直接拿去盗用,我可以给PDF文件上添加水印,如果我们的身边没有电脑,该怎么用手机给PDF文件添加水印呢?大家在遇到 ...

最新文章

  1. 为什么老外不愿意用MyBatis?
  2. JQuery 常用积累(六)ZTree
  3. 睡觉时憋气发出“嗯嗯”的声音?
  4. iOS iPhone SDK 包含哪些东西?
  5. QtCreator 如何将开发的程序打包成exe
  6. springSecurity 登录以及用户账号密码解析原理
  7. 10款常用Java测试工具
  8. 解决在Linux下安装Oracle时的中文乱码问题
  9. 大二数据库期末考试大题
  10. Android系统信息获取 之十四:获取WIFI热点相关信息
  11. angular2组件通讯
  12. JAVA 调用Web Service的方法(转)
  13. Ubuntu下使用dex2jar
  14. centos7安装源设置基础软件仓库时出错
  15. face_recognition人脸识别
  16. CMMI3和CMMI5的区别
  17. 【寒武纪】视觉算法MLU220硬件适配(1)
  18. Arduino 单位数码管实验
  19. Android Adapter接口的实现类总结
  20. 计算机二级题库xp系统安装,计算机二级快题库

热门文章

  1. Mybatis入门程序
  2. 统计twitter帖子_在Kubernetes上部署InfluxDB和Grafana以收集Twitter统计信息
  3. linux 容器_Linux容器的幕后花絮
  4. 论文写作思路_2018年的16个写作思路
  5. 氢气露点和湿度换算_如何创建氢气鼓组以获取乐趣和收益
  6. openstack 功能_为什么我们在OpenStack中冻结功能
  7. 安装Bootstrap3编译版本
  8. 视觉SLAM笔记(3) 视觉SLAM框架
  9. 深度学习笔记(27) 经典卷积网络
  10. 怎么用计算机弹柯南,柯迷们的骚操作有哪些?用计算器弹柯南主题曲,自制缩小药丸...