如何在纯JAVA中为PDF文件添加水印?

How to add watermark on PDF file in pure JAVA?

我想知道是否可以在没有任何库的情况下为 PDF 文件加水印。

我设法用 iText 做到了,但我想在纯 JAVA.
中做水印 如果有人知道是否可行以及如何实现,请告诉我。

理论上?是的。大多数可以生成水印的 Java 库可能都是用纯 Java 编写的,因此您可以自己编写该功能。

实际上?没有(据我所知;如果我错了请纠正我)任何允许您以这种方式操作 PDF 的核心库,因此您可以投入大量工作来基本上复制部分 iTexts 功能或只需使用图书馆。

可以使用 Java 库 iText 为 PDF 添加水印。

这是一个如何使用它的例子:

PdfReader reader = new PdfReader("HelloWorld.pdf");
PdfStamper pdfStamper = new PdfStamper(reader,
    new FileOutputStream("NewHelloWorld.pdf"));
Image image = Image.getInstance("MyWatermark.png");

for (int i=1; i<= reader.getNumberOfPages(); i++){
    PdfContentByte content = pdfStamper.getUnderContent(i);
    image.setAbsolutePosition(150f, 750f);
    content.addImage(image);
}

pdfStamper.close();

这是另一个相关的例子: https://web.archive.org/web/20151023054638/http://itextpdf.com/sandbox/events/Watermarking