解密pdf-8(为pdf插入文字水印)


import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;

/**
* 文字水印添加
*
*/
public class Simple8 {
@SuppressWarnings("deprecation")
public static void main(String[] args) throws DocumentException,
IOException {
//待加水印的文件
PdfReader reader = new PdfReader("E:/HelloWorld.pdf");
//加完水印的文件
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
"E:/HelloWorld_water.pdf"));

int total = reader.getNumberOfPages()+1;

PdfContentByte content;
//设置字体
BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.EMBEDDED);
//水印文字
String waterText="http://llying.iteye.com";
int j = waterText.length(); //文字长度
char c = 0;
int high = 0;//高度
//循环对每页插入水印
for (int i = 1; i < total; i++) {
//水印的起始
high = 500;
content = stamper.getUnderContent(i);
//开始
content.beginText();
//设置颜色
content.setColorFill(Color.GRAY);
//设置字体及字号
content.setFontAndSize(base, 18);
//设置起始位置
content.setTextMatrix(100, 120);
//开始写入水印
for (int k = 0; k < j; k++) {
content.setTextRise(rise);
c = waterText.charAt(k);
//将char转成字符串
content.showText(c + "");
high -= 5;
}
content.endText();

}
stamper.close();
}
}


这里也可在加水印的时候添加密码

stamper.setEncryption("user".getBytes(),
"admin".getBytes(), 16, false);

这里的水印是倾斜,就是打印一行文字的时候将单个文字的高度下移rise。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值