Is writing the code a part of your thesis, or extracting the "chapters"? If
the latter, have you considered doing it with JavaScript in Acrobat instead
of using Java?


On Sat, Nov 9, 2013 at 10:00 AM, Sera <[email protected]> wrote:

> https://www2.swc.rwth-aachen.de/docs/2013_DA_Schmitz.pdf
>
> This would be a sample. It was made with LateX and consists of more than
> one .tex file.
>
> Hope it can help. It's for my bachelor thesis and otherwise I'm lost :(
>
> BR
> Sera
>
>
> Am 09.11.2013, 09:32 Uhr, schrieb Maruan Sahyoun <[email protected]>:
>
>
>  Hi Sera,
>>
>> if the bookmarks do nor relate to pages they can not be taken as a hint
>> for splitting.
>>
>> Is it possible to upload a sample PDF at a public location so we can take
>> a look at a sample file. Might give us another idea to handle your
>> requirement.
>>
>> BR
>> Maruan
>>
>> Am 08.11.2013 um 17:24 schrieb Sera <[email protected]>:
>>
>>  Well then. I've got another idea.
>>> Actually, I don't need the exakt pagenumber, but the pagecount of each
>>> chapter.
>>> Is it still possible to devide the PDF by it's bookmarks or would'nt
>>> that work as well?
>>> When I've devided them, I can just make doc.getNumberOfPages(). That
>>> works here.
>>>
>>> Am 08.11.2013, 17:19 Uhr, schrieb Gilad Denneboom <
>>> [email protected]>:
>>>
>>>  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/
>>>>>
>>>>>
>>>
>>> --
>>> Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/
>>>
>>
>>
>
> --
> Erstellt mit Operas E-Mail-Modul: http://www.opera.com/mail/
>

Reply via email to