Java PDF 水印

  • 1、jar包
  • 2、代码--WatermarkPDFUtil.java
  • 3、结果
  • 4、[代码下载](https://download.csdn.net/download/qweasdzxc01233210/12728150)

1、jar包

<dependency><groupId>com.lowagie.itext</groupId><artifactId>iTextAsian</artifactId><version>2.1.7</version>
</dependency>

2、代码–WatermarkPDFUtil.java

本例子水印内容使用Wingdings.ttf英文艺术字体,可自行更换成自己喜欢的字体。
水印内容:izzzzRizYv

package com.usky.sms.utils;import java.awt.*;
import java.io.*;import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.*;public class WatermarkPDFUtil {public static void main(String[] args) throws Exception {//要加水印的源文件PdfReader pdfReader = new PdfReader("D:/WatermarkTest/co2.pdf");// 加水印后生成的文件PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("D:/WatermarkTest/co2_.pdf"));addWatermark(pdfStamper, "izzzzRizYv");pdfStamper.close();}private static void addWatermark(PdfStamper pdfStamper, String waterMarkName) {PdfContentByte content = null;BaseFont base = null;Rectangle pageRect = null;PdfGState gs = new PdfGState();try {// 设置字体base = BaseFont.createFont("D:/WatermarkTest/Wingdings.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);} catch (DocumentException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}try {if (base == null || pdfStamper == null) {return;}// 设置透明度为0.3gs.setFillOpacity(0.3f);gs.setStrokeOpacity(0.3f);int toPage = pdfStamper.getReader().getNumberOfPages();for (int i = 1; i <= toPage; i++) {pageRect = pdfStamper.getReader().getPageSizeWithRotation(i);//获得PDF最顶层content = pdfStamper.getOverContent(i);content.saveState();// set Transparencycontent.setGState(gs);content.beginText();content.setColorFill(Color.LIGHT_GRAY);content.setFontAndSize(base, 18);// 水印文字成30度角倾斜int pageWidth = (int)pageRect.getWidth();int pageHeight = (int)pageRect.getHeight();for (int x = 30; x < pageWidth; x += 200) {for (int y = 30; y < pageHeight; y += 100) {content.showTextAligned(Element.ALIGN_LEFT, waterMarkName, x, y, 30);}}content.endText();}} catch (Exception ex) {ex.printStackTrace();} finally {content = null;base = null;pageRect = null;}}
}

3、结果

4、代码下载

Java PDF 水印相关推荐

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

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

  2. java pdf 水印_Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...

  3. java pdf水印排布问题_java 实现 PDF 加水印功能

    使用java代码实现给PDF加水印的功能 首先导入所需要的依赖 com.itextpdf itextpdf 5.5.11 com.itextpdf itext-asian 5.2.0 java 代码实 ...

  4. java pdf 水印_Java在PDF中添加水印(文本/图片水印)

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  5. java pdf 水印_Java在PDF中添加水印(文本/图片水印)效果

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

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

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

  7. java -PDF添加文本水印与图片水印

    java pdf添加水印文本及图片文本 PDF文件添加文本水印: private static int interval = 30;public static voidwaterMark(String ...

  8. java pdf添加文字水印(非常专业)

    最近在开发一个项目,其中就有导出的功能,而甲方提了一个需求,要对导出的pdf加文字水印,所以我就加班了整整10分钟肝出了这个功能,既然做出来了就和大家分享一下吧,拿走不谢!!! 总共就三步,非常简单 ...

  9. Java 实现PDF转图片,去除PDF水印,图片转PDF

    1.依赖jar包 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian& ...

最新文章

  1. 吴恩达《Machine Learning》Jupyter Notebook 版笔记发布!图解、公式、习题都有了
  2. Radboud科学家探索材料「量子大脑」——没有软件,硬件也可以实现机器学习 | AI日报...
  3. 分布式文件系统Hadoop
  4. 【Apache】指定 某一个URL 并进行 Auth 认证
  5. Springmvc整合mybatis
  6. centos 日志切割_centos自带的日志切割工具 --- logrotate
  7. Nacos-认识和安装Nacos
  8. 升级xcode5.1 iOS 6.0后以前的横屏项目 变为了竖屏
  9. react组件生命周期_React组件生命周期-挂钩/方法介绍
  10. 反射的妙用-类名方法名做参数进行方法调用实例demo
  11. java线上问题定位_线上java.lang.OutOfMemoryError问题定位三板斧
  12. 多规则策略如何筛选|视频版
  13. js判断浏览器类型、是否为移动客户端访问
  14. 用数羊的方式来解释熵
  15. cad上样条曲线上的点太多了_CAD中如何编辑样条曲线增加夹点? 看完你就知道了...
  16. 大数据和数据挖掘是什么关系?
  17. 扫雷小游戏(两小时完成)
  18. 文件服务器查询重复文件,DupScout – 重复文件扫描、删除或移动的免费工具
  19. Oracle 表空间时点恢复(TSPITR)
  20. python类的封装是什么意思_python类封装 python中将函数和变量封装成类的好处

热门文章

  1. java运算符(算数运算符、三目运算符、位运算符)
  2. subversion与TortoiseSVN的安装与使用
  3. JZOJ 5207【GDOI2018模拟7.7】暴力大神hxx
  4. Android混淆总结篇(一)
  5. 高质量程序设计指南:C++/C语言
  6. win7设置定时锁定计算机,Win7系统怎么设置锁屏?Win7系统设置电脑锁屏的方法
  7. iconfont图标无法显示的问题
  8. Herrig Schiefspiegler望远镜
  9. 去除字符串前面的几个逗号
  10. 并发控制中的乐观锁与悲观锁