相信很多小伙伴们在做导出pdf或者excel文件时会被要求在文件上加上水印,本篇博客就来讲讲如何为pdf和excel加水印。
导出pdf加水印
其实在导出pdf时加上水印并不难,因为itext提供了添加水印的方法,而且能设置水印的位置角度等等,直接来看一下代码
public voidcreatePDF(String filename) throws IOException {
Document document= newDocument(PageSize.A4);try{
PdfWriter writer= PdfWriter.getInstance(document, newFileOutputStream(filename));
document.addTitle("example of PDF");
document.open();
PdfPTable table=createTable(writer);
document.add(table);//加入水印
PdfContentByte waterMar =writer.getDirectContentUnder();//开始设置水印
waterMar.beginText();//设置水印透明度
PdfGState gs = newPdfGState();//设置填充字体不透明度为0.2f
gs.setFillOpacity(0.2f);//设置水印字体参数及大小 (这里在上一篇博客中已经讲过了)
BaseFont baseFont = BaseFont.createFont(JavaPdfHelloWorld.class.getResource("/simsun.ttf").getPath(), BaseFont.IDENTI