Hi,

    using the below listed code i can only replace the first image of each and
every page of a PDF file.how to replace all the images in a pdf file.


//code 


import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfAnnotation;
import java.io.FileOutputStream;
import com.lowagie.text.pdf.PdfAppearance;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfDestination;
import com.lowagie.text.pdf.PdfOutline;
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfFileSpecification;
import com.lowagie.text.pdf.PdfName;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import com.lowagie.text.pdf.PdfDictionary;
import com.lowagie.text.pdf.PdfName;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfObject;
import com.lowagie.text.pdf.PRIndirectReference;
import com.lowagie.text.pdf.PdfStamper;
import com.lowagie.text.pdf.AcroFields;
/**
 * Reads the pages of an existing PDF file, adds pagenumbers and a watermark.
 */
public class ImageLink1 {
   static  String pdfFileName;
        static int i=1;
    public static void main(String[] args) {
       try {
            // we create a reader for a certain document
 
                   String filename;
                  
//                         JFileChooser jff1=new JFileChooser();
//                         jff1.showOpenDialog(null);
//                         filename=jff1.getSelectedFile().getPath();
//                      
                          
                   PdfReader pdf = new PdfReader("0768668336.pdf");
                    int n = pdf.getNumberOfPages();
                   PdfStamper stp = new PdfStamper(pdf, new 
FileOutputStream("out.pdf"));
                   while(i<=n)
                   {
                           PdfWriter writer = stp.getWriter();
                           Image img = Image.getInstance("image.jpg");
                  
                   
                   
                           PdfDictionary pg = pdf.getPageN(i);
                           PdfDictionary res =
                                   
(PdfDictionary)PdfReader.getPdfObject(pg.get(PdfName.RESOURCES));
                           PdfDictionary xobj =
                                   
(PdfDictionary)PdfReader.getPdfObject(res.get(PdfName.XOBJECT));
                           if (xobj != null) 
                           {
                                   for (Iterator it = 
xobj.getKeys().iterator(); it.hasNext(); ) 
                                   {
                                           PdfObject obj = 
xobj.get((PdfName)it.next());
                                          
                                                   if (obj.isIndirect()) 
                                                   {
                                                           PdfDictionary tg = 
(PdfDictionary)PdfReader.getPdfObject(obj);
                                                           PdfName type =
                                                                   
(PdfName)PdfReader.getPdfObject(tg.get(PdfName.SUBTYPE));
                                                  
                                                           if 
(PdfName.IMAGE.equals(type)) 
                                                           {
                                                                   
PdfReader.killIndirect(obj);
                                                                   Image 
maskImage = img.getImageMask();
                                                                   if 
(maskImage != null)
                                                                           
writer.addDirectImageSimple(maskImage);
                                                                   
writer.addDirectImageSimple(img, (PRIndirectReference)obj);
                                                                   break;
                                                           }
                                                           
                                                   }
                                           
                                   }
                           }
                            i=i+1;
                            }
                           stp.close();
                          
                  
        }
        catch (Exception de) {
            de.printStackTrace();
        }
    }
}



Thanks and Regards,
Selvi. K


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/

Reply via email to