Senti,io ho preso il tuo codice pari pari, l'ho provato e non mi da il problema da te descritto.
Questo e' il codice
e questa la gifcodice:package itext; import java.io.FileOutputStream; import java.util.HashMap; import com.lowagie.text.Element; import com.lowagie.text.Image; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStamper; /** * Reads the pages of an existing PDF file, adds pagenumbers and a watermark. */ public class Main { /** * Reads the pages of an existing PDF file, adds pagenumbers and a watermark. * @param args no arguments needed */ public static void main(String[] args) { System.out.println("Add watermarks and pagenumbers"); try { // we create a reader for a certain document PdfReader reader = new PdfReader("C:/Documents and Settings/Simone/itext/build/classes/itext/ChapterSection.pdf"); // we create a stamper that will copy the document to a new file PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("watermark_pagenumbers.pdf")); // adding some metadata Image img = Image.getInstance("C:/Documents and Settings/Simone/itext/build/classes/itext/watermark.gif"); img.setAbsolutePosition(150, 300); byte gradient[] = new byte[256]; for (int k = 0; k < 256; ++k) gradient[k] = (byte) 80; Image smask = Image.getInstance(256, 1, 1, 8, gradient); smask.makeMask(); img.setImageMask(smask); PdfContentByte over = null; over = stamp.getOverContent(1); over.addImage(img); stamp.close(); } catch (Exception de) { de.printStackTrace(); } } }
Sei sicuro che la tua gif abbia sfondo trasparente?


Rispondi quotando