public class WatermarkPageEvent extends PdfPageEventHelper {
private static Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 50, Font.NORMAL, BaseColor.LIGHT_GRAY);
String date = new SimpleDateFormat("dd-MMM-yyyy").format(new Date());
@Override
public void onEndPage(PdfWriter writer, Document document) {
ColumnText.showTextAligned(writer.getDirectContentUnder(),
Element.ALIGN_CENTER, new Phrase(date + ",Watermark", catFont),
307.5f,370, 45f);
}
}
Document document = new Document();
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
PdfWriter pdfWriter = PdfWriter.getInstance(document, byteArrayOutputStream);
document.open();
pdfWriter.setPageEvent(new WatermarkPageEvent());
我想根据一些查询动态地改变 "水印 "的值,目前它被固定为 "水印"。
public class WatermarkPageEvent extends PdfPageEventHelper {
private static Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 50, Font.NORMAL, BaseColor.LIGHT_GRAY);
String date;
String watermark;
public WatermarkPageEvent(String date,String watermark) {
super();
this.date = date;
this.watermark = watermark;
}
@Override
public void onEndPage(PdfWriter writer, Document document) {
ColumnText.showTextAligned(writer.getDirectContentUnder(),
Element.ALIGN_CENTER, new Phrase(date + watermark, catFont),
307.5f,370, 45f);
}
}
pdfWriter.setPageEvent(new WatermarkPageEvent(new SimpleDateFormat("dd-MMM-yyyy").format(new Date()),watermark));