Создание водяных знаков с помощью PDFBoxJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Создание водяных знаков с помощью PDFBox

Сообщение Anonymous »

Я пытаюсь добавить водяной знак в PDF-файл специально с помощью PDFBox. Мне удалось добиться того, чтобы изображение появлялось на каждой странице, но оно теряет прозрачность фона, поскольку создается впечатление, будто PDJpeg преобразует его в JPG. Возможно, есть способ сделать это с помощью PDXObjectImage.

Вот что я написал на данный момент:

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


Подробнее здесь: https://stackoverflow.com/questions/892 ... ith-pdfbox
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»