Осторожно, однако, в некоторых случаях изображение не будет видно на заднем плане, например, если существующий контент начинается с инструкции, чтобы заполнить всю область страницы белым цветом. В таком случае водяные знаки должны применяться с некоторой прозрачностью поверх существующего контента.

ользую этот код:https://www.tutorialspoint.com/pdfbox/pdfbox_inserting_image.htm

Чтобы помочь мне добавить изображение в существующий PDF. Проблема в том, что созданный файл представляет собой пустую страницу с изображением.

Вот мой код:

public void signPDF(PdfDTO pdfDTO) throws IOException{
        //Loading an existing document
        File file = new File(getAbsolutePdfPath(pdfDTO));
        PDDocument doc = PDDocument.load(file);

        //Retrieving the page
        PDPage page = doc.getPage(0);

        //a test to ensure the doc is loading correctly
        PDDocument testDoc = new PDDocument();
        testDoc.addPage(page);
        testDoc.save("C:" + File.separator + "Users" + File.separator + "kdotson" + File.separator + "Documents" + File.separator + "test.pdf");
        testDoc.close(); //this file is good so I know the doc is loading correctly

        //Creating PDImageXObject object
        PDImageXObject pdImage = PDImageXObject.createFromFile("C://test_images/signature.pdf", doc);

        //creating the PDPageContentStream object
        PDPageContentStream contents = new PDPageContentStream(doc, page);

        //Drawing the image in the PDF document
        contents.drawImage(pdImage, 0, 0);

        //Closing the PDPageContentStream object
        contents.close();

        //Saving the document
        doc.save(new File(getSignedPdfLocation(pdfDTO))); //the created file has the image on it, so I know the image is loading correctly

        //Closing the document
        doc.close();
    }

Насколько я могу сказать, то, что я делаю, должно работать, и я не получаю никаких ошибок, так что дает?

Ответы на вопрос(1)

Ваш ответ на вопрос