给pdf文档增加水印

PDF水印添加
本文介绍了一种使用itext工具在PDF文件中添加水印的方法。该方法能够在每一页上居中显示旋转的文本水印,并提供了实现代码示例。
用itext给pdf文档增加水印功能。

/**
* 增加水印的方法
* @param watermark
* @param inputPfdFilePath
* @param outputPdfFilePath
*/
public void addWatermark(String watermark, String inputPfdFilePath, String outputPdfFilePath){
try {
PdfReader reader = new PdfReader(inputPfdFilePath);
PdfStamper stamper = new PdfStamper(reader,new FileOutputStream(outputPdfFilePath));

float height = reader.getPageSize(1).getHeight();
float width = reader.getPageSize(1).getWidth();

int total = reader.getNumberOfPages() + 1;


BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

PdfContentByte under = null;

for(int k=1;k<total;k++){
under = stamper.getUnderContent(k);
under.beginText();
under.setColorFill(new BaseColor(200,200,200));
under.setFontAndSize(base, 50);
//增加水印
under.showTextAligned(PdfContentByte.ALIGN_CENTER,watermark,width/2,height/2,45.0f);
under.endText();
}

stamper.close();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}

}

上面的方法仅提供了一个简单的生成水印的功能。
对于更完善的水印效果并没有实现,例如水印的字体大小会随水印字体的长度变化而变化,水印字体无法被选中等功能还是未能实现。至于该怎么去实现,就交给你们这些牛人吧。
ps:itext相关jar包的下载可以访问[url]http://www.itextpdf.com/[/url]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值