Because you are replacing the destination with a single destination. You need to GET the existing link destination and modify it.
Leonard On 4/3/14, 4:53 AM, "Paresh Tahiliani" <paresh...@gmail.com> wrote: >import java.io.FileNotFoundException; >import java.io.FileOutputStream; >import java.io.IOException; >import java.util.ArrayList; > >import com.itextpdf.text.Document; >import com.itextpdf.text.DocumentException; > >import com.itextpdf.text.pdf.PdfAction; >import com.itextpdf.text.pdf.PdfArray; >import com.itextpdf.text.pdf.PdfCopy; >import com.itextpdf.text.pdf.PdfDestination; >import com.itextpdf.text.pdf.PdfDictionary; >import com.itextpdf.text.pdf.PdfName; >import com.itextpdf.text.pdf.PdfObject; >import com.itextpdf.text.pdf.PdfReader; > > >public class links { > public static void main(String[] args) throws DocumentException, >IOException,FileNotFoundException { > > String src = "E:/bookmark.pdf"; > String destination = "E:/links.pdf"; > > PdfReader reader=new PdfReader(src); > reader.consolidateNamedDestinations(); > > Document doc=new Document(); > > PdfCopy pdfCopy = new PdfCopy(doc,new > FileOutputStream(destination)); > > doc.open(); > > int n = reader.getNumberOfPages(); > PdfDestination d = new > PdfDestination(PdfDestination.XYZ,-1,-1,0.0F) ; > PdfAction act = PdfAction.gotoLocalPage(1, d, pdfCopy); > for (int i=1; i <= n ;i++) > { > > PdfDictionary pageDic = reader.getPageN(i); > PdfArray arrayann = pageDic.getAsArray(PdfName.ANNOTS); > if (arrayann != null) > { > //reader.addPdfObject(pageDic.get(PdfName.ANNOTS)); > PdfArray >annot=(PdfArray)PdfReader.getPdfObject(pageDic.get(PdfName.ANNOTS)); > ArrayList<PdfObject> arrAnnot = new ArrayList<PdfObject>(); > arrAnnot = annot.getArrayList(); > > for (int j = 0; j < arrAnnot.size(); j++) > { > PdfDictionary annots = >(PdfDictionary)PdfReader.getPdfObject(arrAnnot.get(j)); > if (PdfName.LINK.equals(annots.get(PdfName.SUBTYPE))) > { > annots.remove(PdfName.DEST); > annots.put(PdfName.DEST,act); > > } > } > } > pdfCopy.addPage(pdfCopy.getImportedPage(reader, i)); > pdfCopy.freeReader(reader); > } > reader.close(); > pdfCopy.close(); > doc.close(); > System.out.println("The Pdf is Created.."); > } > >} > >This code works fine. all links properties to inherit zoom in existing >document. >but there is one problem that the links containing pages or their >destination change to local page. >i want to change the property only. link destination page numbers remain >same as existing document only. >is it possible in itext. >anyone > > > >-- >View this message in context: >http://itext-general.2136553.n4.nabble.com/I-Want-to-Change-all-the-Links- >Destination-of-Existing-Pdf-to-PdfDestination-XYZ-1-1-0-0F-tp4659908p46599 >09.html >Sent from the iText - General mailing list archive at Nabble.com. > >-------------------------------------------------------------------------- >---- >_______________________________________________ >iText-questions mailing list >iText-questions@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/itext-questions > >iText(R) is a registered trademark of 1T3XT BVBA. >Many questions posted to this list can (and will) be answered with a >reference to the iText book: http://www.itextpdf.com/book/ >Please check the keywords list before you ask for examples: >http://itextpdf.com/themes/keywords.php ------------------------------------------------------------------------------ _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions iText(R) is a registered trademark of 1T3XT BVBA. Many questions posted to this list can (and will) be answered with a reference to the iText book: http://www.itextpdf.com/book/ Please check the keywords list before you ask for examples: http://itextpdf.com/themes/keywords.php