Yes, that could very well be the cause...
On Fri, Nov 8, 2013 at 4:51 PM, Sera <[email protected]> wrote: > Could it be a problem of latex? > I'm using it do generate the pdf. > > Am 08.11.2013, 16:40 Uhr, schrieb Sera <[email protected]>: > > > First, thanks for the code! >> Unfurtanately, I still get a Nullpointer. >> dests.getNames() is null. >> >> Am 04.11.2013, 13:38 Uhr, schrieb Gilad Denneboom < >> [email protected]>: >> >> You wrote the following code to do it: >>> >>> public static int getPageNumberFromNamedDestination(PDDocument doc, >>> String name) throws IOException { >>> PDDestinationNameTreeNode dests = >>> doc.getDocumentCatalog().getNames().getDests(); >>> if (dests==null || dests.getNames()==null) >>> return -1; >>> Object d = dests.getNames().get(name); >>> if (d==null) >>> return -1; >>> return getPageDestPageNumber(d); >>> } >>> >>> public static int getPageDestPageNumber(Object dest) { >>> >>> if (dest instanceof PDPageFitDestination) { >>> PDPageFitDestination pageFitDestination = >>> (PDPageFitDestination) dest; >>> return pageFitDestination.findPageNumber(); >>> } >>> >>> if (dest instanceof PDPageXYZDestination) { >>> PDPageXYZDestination pageXYZDestination = >>> (PDPageXYZDestination) dest; >>> return pageXYZDestination.findPageNumber(); >>> } >>> >>> if (dest instanceof PDPageFitWidthDestination) { >>> PDPageFitWidthDestination fitWidthDestination = >>> (PDPageFitWidthDestination) dest; >>> return fitWidthDestination.findPageNumber(); >>> } >>> >>> if (dest instanceof PDPageFitHeightDestination) { >>> PDPageFitHeightDestination fitHeightDestination = >>> (PDPageFitHeightDestination) dest; >>> return fitHeightDestination.findPageNumber(); >>> } >>> >>> if (dest instanceof PDPageFitRectangleDestination) { >>> PDPageFitRectangleDestination pageFitRectangleDestination = >>> (PDPageFitRectangleDestination) dest; >>> return pageFitRectangleDestination.findPageNumber(); >>> } >>> >>> return -1; >>> } >>> >>> >>> On Sun, Nov 3, 2013 at 1:39 PM, Sera <[email protected]> wrote: >>> >>> I've debugged it and it throws an exception. >>>> >>>> >>>> PDDestinationNameTreeNode node = (PDDestinationNameTreeNode) >>>> document.getDocumentCatalog().getStructureTreeRoot().getIDTree(); >>>> >>>> any idea what the correct way is? >>>> >>>> >>>> >>>> Am 01.11.2013, 23:47 Uhr, schrieb Sera <[email protected]>: >>>> >>>> >>>> >>>> is this the right way to get to the treenode? >>>>> >>>>> Am 31.10.2013, 11:28 Uhr, schrieb Gilad Denneboom < >>>>> [email protected]>: >>>>> >>>>> If the destination is a PDNamedDestination object, you have to cast >>>>> it to >>>>> >>>>>> that class... >>>>>> >>>>>> >>>>>> >>>>>>> On Thu, Oct 31, 2013 at 11:24 AM, Sera <[email protected]> wrote: >>>>>> >>>>>> Do I have to cast Action to another type than ActionGoTo? I don't >>>>>> see a >>>>>> >>>>>>> function getNamedDestination() in the suggestions for my objects. >>>>>>> >>>>>>> Am 31.10.2013, 10:45 Uhr, schrieb Gilad Denneboom < >>>>>>> [email protected]>: >>>>>>> >>>>>>> Ah, so your bookmarks are not pointing to page locations directly, >>>>>>> but >>>>>>> to >>>>>>> >>>>>>> Named Destinations. This makes things more complex. You can use >>>>>>>> getNamedDestination() to get the name of the ND the bookmark is >>>>>>>> pointing >>>>>>>> to. Of course, then you still need to write a function that looks up >>>>>>>> that >>>>>>>> specific ND in the tree (a PDDestinationNameTreeNode object) and >>>>>>>> then >>>>>>>> figures out to which page it's pointing to by its value. >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Oct 31, 2013 at 10:35 AM, Sera <[email protected]> wrote: >>>>>>>> >>>>>>>> when i make it toString() i get: >>>>>>>> >>>>>>>> >>>>>>>>> org.apache.pdfbox.pdmodel.****interactive.**** >>>>>>>>> documentnavigation.** >>>>>>>>> destination.****PDNamedDestination@505484dc >>>>>>>>> >>>>>>>>> >>>>>>>>> whereas the last after @ is always different. I think its the >>>>>>>>> hashed >>>>>>>>> destination? >>>>>>>>> >>>>>>>>> Am 31.10.2013, 10:20 Uhr, schrieb Gilad Denneboom < >>>>>>>>> [email protected]>: >>>>>>>>> >>>>>>>>> >>>>>>>>> What do you mean by "hascode", exactly? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> On Thu, Oct 31, 2013 at 10:16 AM, Sera <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>> ok, now I've got the destination as a hashcode. How do I get the >>>>>>>>>> >>>>>>>>>> pagenumber from this? >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Am 30.10.2013, 20:10 Uhr, schrieb Gilad Denneboom < >>>>>>>>>>> [email protected]>: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Like I said, you need to determine (using instanceof, for >>>>>>>>>>> example) >>>>>>>>>>> which >>>>>>>>>>> >>>>>>>>>>> actual class it is, one of the subsets of PDAction, like >>>>>>>>>>> PDActionGoTo >>>>>>>>>>> >>>>>>>>>>> ... >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Oct 30, 2013 at 7:51 PM, Sera <[email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> current.getAction() is just a PDAction. From there I don't have >>>>>>>>>>>> access >>>>>>>>>>>> to >>>>>>>>>>>> >>>>>>>>>>>> getDestination(). >>>>>>>>>>>> >>>>>>>>>>>> Am 30.10.2013, 16:27 Uhr, schrieb Gilad Denneboom < >>>>>>>>>>>>> [email protected]>: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> You should get the Action of the bookmark, and then check >>>>>>>>>>>>> which >>>>>>>>>>>>> type >>>>>>>>>>>>> of >>>>>>>>>>>>> >>>>>>>>>>>>> action it is (probably PDActionGoTo), and from the Action >>>>>>>>>>>>> you'll >>>>>>>>>>>>> have >>>>>>>>>>>>> >>>>>>>>>>>>> access to the Destination. >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Oct 30, 2013 at 4:00 PM, Sera <[email protected]> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hello! >>>>>>>>>>>>>> >>>>>>>>>>>>>> I need to extract the pagenumber out of the bookmarks and >>>>>>>>>>>>>> tried >>>>>>>>>>>>>> it >>>>>>>>>>>>>> >>>>>>>>>>>>>> with >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> PDOutlineItem current = bookmark.getFirstChild(); >>>>>>>>>>>>>>> PDDestination destination = null; >>>>>>>>>>>>>>> destination = current.getDestination(); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> But the destination stays null. Any ideas on how to fix this? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> Sera >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Erstellt mit Operas E-Mail-Modul: >>>>>>>>>>>>>>> http://www.opera.com/mail/ >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>>> Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/ >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>> Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>> Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/ >>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>>> -- >>>> Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/ >>>> >>>> >> >> > > -- > Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/ >

