如何用java给PDF添加一个图片水印?
以下代码需要添加jar包: itextpdf-5.3.2.jar
import java.io.File;
import java.io.FileOutputStream;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
public class TestWaterPrint {
public static void main(String[] args) {
try {
addPdfMark("D:\\a\\one.pdf", "D:\\a\\xin.pdf", "D:\\a\\22.png", 1);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("失败。。。。");
e.printStackTrace();
}
System.out.println("成功。");
}
/**
* 给pdf文件添加水印
* @param InPdfFile 要加水印的原pdf文件路径
* @param outPdfFile 加了水印后要输出的路径
* @param markImagePath 水印图片路径
* @param pageSize 原pdf文件的总页数(该方法是我当初将数据导入excel中然后再转换成pdf所以我这里的值是用excel的行数计算出来的,如果不是我这种可以 直接用reader.getNumberOfPages()获取pdf的总页数)
* @throws Exception
*/
public static void addPdfMark(String InPdfFile, String outPdfFile, String markImagePath, int pageSize) throws Exception {
PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes());
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outPdfFile));
Image img = Image.getInstance(markImagePath);// 插入水印
//设置图片水印的位置。
img.setAbsolutePosition(335, 175);
//开始水印
for(int i = 1; i <= pageSize; i++) {
PdfContentByte under = stamp.getUnderContent(i);
under.addImage(img);
}
stamp.close();// 关闭
File tempfile = new File(InPdfFile);
//删除原文件。
if(tempfile.exists()) {
tempfile.delete();
}
}
}
如何用java给PDF添加一个图片水印?相关推荐
- java为PDF添加水印,图片水印和文字水印
java为PDF添加水印,文字水印和图片水印 一个需求,下载pdf.word.excel文件时要带有水印,要求铺满.先分开,先介绍为PDF文件添加文字水印和图片水印. 所需jar包:itext-2.0 ...
- java为word添加水印,图片水印和文字水印
java为word添加水印,图片水印和文字水印 jdk1.5及以上 所需jar包:Spire.Office.jar 或 Spire.Doc.jar jar包下载:https://www.e-icebl ...
- 如何用 Java 对 PDF 文件进行电子签章
转自:如何用 Java 对 PDF 文件进行电子签章 - Ferocious - 博客园 一.概述 二.技术选型 三.生成一个图片签章 四.如何按模板生成PDF文件 五.如何生成PKSC12证书 六. ...
- Java实现pdf文件转图片
Java实现pdf文件转图片 文章顺序是按照测试类- -Service- -Service实现类- -工具类- - POM依赖. test测试类里 pdfPath:存放pdf源文件的地方 imgflo ...
- Java窗体JTextArea添加背景图片
Java窗体JTextArea添加背景图片 本来是想把文本框透明化显示出底层的图片的,但是没有找到方法,只能退而求其次,希望有大佬教一下. import java.awt.BorderLayout; ...
- JAVA实现 PDF转换 常用工具类(html转PDF、PDF添加页码、PDF文件下载、PDF添加印章或者水印)
JAVA实现 PDF转换 常用工具类(html转PDF.PDF添加页码.PDF文件下载.PDF添加印章或者水印)可直接使用 package com.bestvike.util; import com. ...
- Java给PDF添加图片水印,且可以文字定位
这两天公司开发需要对PDF增加特定图片,类似于电子印章效果,试了许多网上的方式,经过测试PDF只可以插入图片或者通过RSA实现专属签章,我觉得插入图片好用一些,效果如下: 这是定位了<盖章> ...
- preparestatement方法用多次_如何用java 5分钟实现一个最简单的mysql代理服务器?
用java8基于vert.x3 快速实现一个最简单的mysql代理服务器,只需要5分钟时间. 什么是mysql 代理? mysql代理是介于client端和mysql服务端中间层服务,如下图所示: 这 ...
- java数组末尾添加元素_java数组添加元素,java数组如何添加一个元素
java数组如何添加元素 向数组里添加一个元素怎么添加,这儿总结有三种方法: 1.一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度. 但有个可以改变大小的数组为ArrayLis ...
最新文章
- POJ 3342 树形DP+Hash
- app:compileDebugJavaWithJavac
- dos中定义变量与引用变量以及四则运算
- OncePerRequestFilter-源码解析
- python中def fun(a、b=200)_python 基础 函数
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
- win7和win8双系统的问题
- 基本数据类型范围大小字节大小
- 17995 Stupid thief 组合数学
- 串口与并口有什么区别?
- python 直方图匹配_python库skimage 绘制直方图;绘制累计直方图;实现直方图匹配(histogram matching)...
- python 情感分析实例_使用python+机器学习方法进行情感分析(详细步骤)
- 公众号可快速查询审计报告,鉴别真伪!太方便了……
- Linux Centos8 安装Minio开机启动并Nginx代理访问
- dhcp二层中继和三层中继
- 数据标注是什么,如何高效完成数据标注?
- stm32f103mini IO
- 特征工程——特征转换
- 【C++】输入的几种方式
- shell启动脚本示例
热门文章
- 如何快速连接别人共享的打印机?
- 农分期 java_农分期现行业务大揭密,8项业务为农户提供全方向服务
- 怎么在ppt中加入html5,怎样在PPT中插入html网页.ppt
- 构建deb包前如何获取软件的依赖包
- 响应式黄色高端家居装修生活空间类网站pbootcms模板(PC+WAP)
- 至强服务器性能视频,英特尔至强E5-2600服务器到底有多强?
- ubuntu14.04的自带的拼音输入法问题
- 博图买什么样配置的笔记本_西门子PLC编程软件-博图软件用什么配置的电脑最好?...
- python要英语基础吗_python学习需要英语基础吗?你真的想多了
- 9、Harvard Dataverse 数据批量下载