iText

How to stamp image on existing PDF and create an anchor?

I have an existing document, onto which I would like to stamp an image at an absolute position.

I am able to stamp the image, but I would also like to make this image clickable: when a user clicks on the image I would like the PDF to go to the last page of the document. Here is my code:

Java
PdfReader readerOriginalDoc = new PdfReader("src/main/resources/test.pdf");
PdfStamper stamper = new PdfStamper(
  readerOriginalDoc, new FileOutputStream("NewStamper.pdf"));
PdfContentByte content = stamper.getOverContent(1);
Image image = Image.getInstance("src/main/resources/images.jpg");
image.scaleAbsolute(50, 20);
image.setAbsolutePosition(100, 100);
image.setAnnotation(new Annotation(0, 0, 0, 0, 3));
content.addImage(image);
stamper.close();

 Any idea how to do this?

Posted on StackOverflow on Nov 17, 2014 by BYJU SUKUMARAN

You are using a technique that only works when creating documents from scratch.

Please take a look at the AddImageLink example to find out how to add an image and a link to make that image clickable to an existing document:

##GITHUB:https://github.com/itext/itext-publications-examples-java/blob/master/src/main/java/com/itextpdf/samples/sandbox/annotations/AddImageLink.java|42-69##

You already have the part about adding the image right. Note that I create parameters for the position of the image as well as its dimensions:

Java
float x = 10;
float y = 650;
float w = img.getWidth();
float h = img.getHeight();

I use these values to create a Rectangle object:

Java
Rectangle linkLocation = new Rectangle(x, y, x + w, y + h);

This is the location for the link annotation we are creating with the PdfAnnotation class. You need to add this annotation separately using the addAnnotation() method.

You can take a look at the resulting PDF. If you click on the i icon, you jump to the last page of the document.

Click How to stamp image on existing PDF and create an anchor? | iText 5 PDF Development Guide if you want to see how to answer this question in iText 5.