Page 1 of 1

Wasserzeichen mit PDFBox

Posted: 18 Jan 2025, 21:48
by Guest
Ich versuche, speziell mit PDFBox ein Wasserzeichen zu einer PDF-Datei hinzuzufügen. Ich habe es geschafft, dass das Bild auf jeder Seite angezeigt wird, aber es verliert die Hintergrundtransparenz, weil es so aussieht, als würde PDJpeg es in ein JPG konvertieren. Vielleicht gibt es eine Möglichkeit, dies mit PDXObjectImage zu tun.

Hier ist, was ich bisher geschrieben habe:

Code: Select all

public static void watermarkPDF(PDDocument pdf) throws IOException
{
// Load watermark
BufferedImage buffered = ImageIO.read(new File("C:\\PDF_Test\\watermark.png"));
PDJpeg watermark = new PDJpeg(pdf, buffered);

// Loop through pages in PDF
List pages = pdf.getDocumentCatalog().getAllPages();
Iterator iter = pages.iterator();
while(iter.hasNext())
{
PDPage page = (PDPage)iter.next();

// Add watermark to individual page
PDPageContentStream stream = new PDPageContentStream(pdf, page, true, false);
stream.drawImage(watermark, 100, 0);
stream.close();
}

try
{
pdf.save("C:\\PDF_Test\\watermarktest.pdf");
}
catch (COSVisitorException e)
{
e.printStackTrace();
}
}