我们可以使用最新的iText jar在文档中添加多行文本水印吗?

我们可以使用最新的iText jar在文档中添加多行文本水印吗?,itext,itext7,Itext,Itext7,我正在寻找多行文字水印功能。iText最新版本是否支持此功能? 我附上要求的图片。 让我知道你的发现 以下是如何将重复水印作为背景添加到现有文档的示例: pdfDocument = new PdfDocument(new PdfReader(inFileName), new PdfWriter(outFileName)); PdfPattern.Tiling tiling = new Tiling(new Rectangle(100, 50)); new Canvas(new PdfPatte

我正在寻找多行文字水印功能。iText最新版本是否支持此功能? 我附上要求的图片。 让我知道你的发现


以下是如何将重复水印作为背景添加到现有文档的示例:

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();
以下是结果的视觉效果:


对我来说,这看起来像是一个单行文本作为一个模式应用…是的,这个功能可以在最新的itext中启用吗?这是可能的,但据我所知,它需要使用低级API。好的,不像我想的那么低级;但仍然需要知道自己的API。。。不过,OP的图像看起来文本在内容之上,因此他可能希望使用newContentStreamAfter来代替它。@mkl确实,根据所需的结果,有效的注释newContentStreamAfter可能更合适