Вот пример того, как добавить повторяющийся водяной знак в качестве фона в существующий документ:
pdfDocument = new PdfDocument(new PdfReader(inFileName), new PdfWriter(outFileName));
PdfPattern.Tiling tiling = new Tiling(new Rectangle(100, 50));
new Canvas(new PdfPatternCanvas(tiling, pdfDocument), pdfDocument, tiling.getBBox()).add(new Paragraph("TESTING")
.setFontColor(ColorConstants.RED)
.setRotationAngle(Math.PI / 10));
for (int i = 1; i <= pdfDocument.getNumberOfPages(); i++) {
PdfPage page = pdfDocument.getPage(i);
new PdfCanvas(page.newContentStreamBefore(), page.getResources(), pdfDocument)
.saveState()
.setFillColor(new PatternColor(tiling))
.rectangle(page.getCropBox())
.fill()
.restoreState();
}
pdfDocument.close();
Вот как визуально выглядит результат: