Reputation: 95
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());
I want to change of value of "watermark" based on some query dynamically, presently it is fixed as "Watermark".
Upvotes: 0
Views: 624
Reputation: 95
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));
Upvotes: 1