Warm tip: This article is reproduced from stackoverflow.com, please click
itext7 itext

can we add multiline textual watermark in a document using latest iText jar?

发布于 2020-03-29 12:47:16

I am looking for multi-line textual watermark feature. Does iText latest version support this feature? I am attaching a picture of the requirement. Let me know your findings.

Multi-line Watermark

Questioner
Avinash Modi
Viewed
98
Alexey Subach 2020-02-04 14:08

Here is an example of how to add repeating watermark as the background to an existing document:

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();

This is how the result look visually:

result