Осторожно, однако, в некоторых случаях изображение не будет видно на заднем плане, например, если существующий контент начинается с инструкции, чтобы заполнить всю область страницы белым цветом. В таком случае водяные знаки должны применяться с некоторой прозрачностью поверх существующего контента.
ользую этот код: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();
}
Насколько я могу сказать, то, что я делаю, должно работать, и я не получаю никаких ошибок, так что дает?