Please share the source and result PDFs. Also check whether you had any
log messages. And output "awtImage" to see what its height and width
are. Also check whether the image contains anything.
Tilman
Am 15.09.2019 um 07:53 schrieb Martin:
Hi,
hope you can help me fixing the following unreasonable behavior:
situation:
my code uses a pdf file with embedded text, images and forms as a template
everything works the code searches the pdf for forms on different pages and the
forms are filled as defined
even pages with a form and image painting work, the forms prepared to
overwritten by an image show the new image
the problem:
when I paint an image on a pdfpage where a image already
exists in the template pdf the image from the template get’s invisible
I checked the coordinates of the the painting – ok the new
image is on the right position
the relevant code:
for (String imagename : this.templateimages.keySet()) {
PDField field2 = (PDTextField)
acroForm.getField(imagename);
if (field2 != null) {
field2.setValue(" ");
field2.setReadOnly(true);
COSDictionary fieldDict =
field2.getCOSObject();
COSArray fieldAreaArray = (COSArray)
fieldDict.getDictionaryObject(COSName.RECT);
PDRectangle result = new
PDRectangle(fieldAreaArray);
int fieldpagenumber =
getFormPagenr(field2);
if (fieldpagenumber >= 0 && result !=
null) {
PDPage page =
doc.getPage(fieldpagenumber);
FileObject file =
this.templateimages.get(imagename);
if (file != null &&
file.exists() == true)
{
InputStream is =
file.getContent().getInputStream();
BufferedImage awtImage =
ImageIO.read( is );
PDImageXObject pdImage =
LosslessFactory.createFromImage(doc, awtImage);
PDPageContentStream
contents = new PDPageContentStream(doc, page);
log.info("drawimage x={} y={}
w={} h={}",result.getLowerLeftX(), result.getLowerLeftY(),
result.getWidth(), result.getHeight());
contents.drawImage(pdImage, result.getLowerLeftX(), result.getLowerLeftY(),
result.getWidth(), result.getHeight());
contents.close();
} else {
log.error("problem at pdf
generate pdimage file=null or file does not exist {}"
+ ((file != null) ?
file.getPublicURIString() : ""));
throw new Exception("file not
found "+file);
}
} else {
log.error("probelm at pdf generate
pagenumber<0 or result=null");
throw new Exception("template has no
pages");
}
} else {
throw new Exception("field for image " +
imagename + " not found");
}
}
Version: (in 2.0.1 it was the same)
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.16</version>
</dependency>
Please Help!
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: users-h...@pdfbox.apache.org