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

Reply via email to