用itext给pdf文档增加水印功能。
上面的方法仅提供了一个简单的生成水印的功能。
对于更完善的水印效果并没有实现,例如水印的字体大小会随水印字体的长度变化而变化,水印字体无法被选中等功能还是未能实现。至于该怎么去实现,就交给你们这些牛人吧。
ps:itext相关jar包的下载可以访问[url]http://www.itextpdf.com/[/url]。
/**
* 增加水印的方法
* @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]。
PDF水印添加
本文介绍了一种使用itext工具在PDF文件中添加水印的方法。该方法能够在每一页上居中显示旋转的文本水印,并提供了实现代码示例。
1388

被折叠的 条评论
为什么被折叠?



