I'll send some code snippets today.

Basically you have to get the PDNameDestinationNodes and... well, I don't
have it here, will post today.

Kevin


On Thu, Jun 17, 2010 at 11:12 PM, Hesham G. <[email protected]> wrote:

> Kevin ,
>
> I have been watching this post out, and I don't seem to understand yet what
> is the difference between "Named destinations" and "bookmarks"  ?
> And I hope if you could share your code with us for how you have got it.
>
>
> Best regards ,
> Hesham
>
>
> ---------------------------------------------
> Included message :
>
> > Thank you SO MUCH, Adam. With your advice, and some tinkering with
> PDFBox, I
> > was able to get at and manipulate the named destinations.
> >
> > On Tue, Jun 1, 2010 at 3:23 PM, <[email protected]> wrote:
> >
> >> Kevin,
> >>
> >> Section 7.7.2 of the PDF Spec (I'm referencing version 1.7) goes over
> the
> >> Document catalog and table 20 points you to section 12.3.2.3 for "Named
> >> Destinations").  Section 12.3.2.3 explains that "the correspondence
> >> between name objects and destinations shall be defined by the Dests
> entry
> >> in the document catalogue (see 7.7.2, "Document Catalog")."  So, per the
> >> spec, the answer lies in the document catalog.
> >>
> >> Table 28 defines what entries are allowed in the catalog dictionary.
>  The
> >> "Document Outline" (i.e. key: "Outlines"), which are also known as
> >> bookmarks, are what you are looping through in your code.  So that's why
> >> you're getting bookmarks and not named destinations.  You don't want
> >> document.getDocumentCatalog().getDocumentOutline() but you do want
> >> document.getDocumentCatalog().
> >>
> >> Like I said before, I haven't actually dealt with named destinations,
> nor
> >> have I even seen a document which uses them, so I don't know how the
> >> "Dests" key works.  However, it should be pretty easy to figure if you
> >> take a look at a PDF in vi, Notepad++, or any other quality editor.
>  Once
> >> you know what you're looking for, it's just a matter of looking at
> things
> >> in PDDocumentCatalog to find it.
> >>
> >> ----
> >> Thanks,
> >> Adam
> >>
> >>
> >>
> >>
> >>
> >> From:
> >> Kevin Brown <[email protected]>
> >> To:
> >> [email protected]
> >> Date:
> >> 05/25/2010 11:11
> >> Subject:
> >> Re: getting page numbers of named destinations
> >>
> >>
> >>
> >> Thanks much! I'm trying this but it seems to pull in bookmarks, not
> named
> >> destinations. Am I missing something?
> >>
> >>
> >> On Sat, May 22, 2010 at 11:15 AM, Andreas Lehmkuehler
> >> <[email protected]>wrote:
> >>
> >> > Hi
> >> >
> >> > Kevin Brown schrieb:
> >> >
> >> >  I can't seem to get this done with pdfbox. There doesn't seem to be a
> >> way
> >> >> to
> >> >> get the page number from the context of the named destination. Am I
> >> wrong?
> >> >> Anyone got any sample code for working with named destinations?
> >> >>
> >> > If you have a look at the mentioned example you find some code like
> >> this:
> >> >
> >> > PDDocumentOutline
> >> > bookmarks=document.getDocumentCatalog().getDocumentOutline();
> >> > PDOutlineItem item = bookmarks.getFirstChild().getNextSibling();
> >> >
> >> > And the PDOutlineItem class provides a method to get the corresponding
> >> > page:
> >> >
> >> > /**
> >> >  * This method will attempt to find the page in this PDF document that
> >> this
> >> > outline points to.
> >> >  * If the outline does not point to anything then this method will
> >> return
> >> > null.  If the outline
> >> >  * is an action that is not a GoTo action then this methods will throw
> >> the
> >> > OutlineNotLocationException
> >> >  *
> >> >  * @param doc The document to get the page from.
> >> >  *
> >> >  * @return The page that this outline will go to when activated or
> null
> >> if
> >> > it does not point to anything.
> >> >  * @throws IOException If there is an error when trying to find the
> >> page.
> >> >  */
> >> > public PDPage findDestinationPage( PDDocument doc ) throws IOException
> >> >
> >> > I didn't test it, but theoretically it looks like the piece of code
> you
> >> are
> >> > looking for.
> >> >
> >> > BR
> >> > Andreas Lehmkühler
> >> >
> >> >
> >> >
> >> >> On Wed, May 19, 2010 at 12:45 PM, Kevin Brown <[email protected]>
> wrote:
> >> >>
> >> >>  Thanks. I do need to do that!
> >> >>>
> >> >>> At the moment I'm trying to see if I can get the
> >> >>> GotoSecondBookmarkOnOpen.java sample has any clues... if
> PDOutlineItem
> >> >>> could refer to a named destination then I may be in business!
> >> >>>
> >> >>>
> >> >>>
> >> >>> On Wed, May 19, 2010 at 11:57 AM, <[email protected]> wrote:
> >> >>>
> >> >>>  I haven't dealt with named destinations, but if you get get the
> >> object
> >> >>>> ID
> >> >>>> of the page, you can look up the page number with doc.getPageMap().
> >> If
> >> >>>> you haven't already, I'd suggest tracing through a PDF with a hex
> >> editor
> >> >>>> (or any good quality text editor will work fine) to find out how
> >> >>>> everything is connected.
> >> >>>>
> >> >>>> ----
> >> >>>> Thanks,
> >> >>>> Adam
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> From:
> >> >>>> Kevin Brown <[email protected]>
> >> >>>> To:
> >> >>>> [email protected]
> >> >>>> Date:
> >> >>>> 05/19/2010 08:42
> >> >>>> Subject:
> >> >>>> getting page numbers of named destinations
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> Is it possible to, for a PDF, get the named destinations in it, and
> >> find
> >> >>>> out
> >> >>>> what page each is on? It doesn't look like it from my perusal of
> the
> >> >>>> documentation, but I'm not sure. Seems like you can get the
> >> destination
> >> >>>> names but that's about it.
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> ?  Click here to submit conditions
> >> >>>>
> >> >>>> This email and any content within or attached hereto from  Sun West
> >> >>>> Mortgage Company, Inc.  is confidential and/or legally privileged.
> >> The
> >> >>>> information is intended only for the use of the individual or
> entity
> >> >>>> named
> >> >>>> on this email. If you are not the intended recipient, you are
> hereby
> >> >>>> notified that any disclosure, copying, distribution or the taking
> of
> >> any
> >> >>>> action in reliance on the contents of this email information is
> >> strictly
> >> >>>> prohibited, and that the documents should be returned to this
> office
> >> >>>> immediately by email. Receipt by anyone other than the intended
> >> >>>> recipient is
> >> >>>> not a waiver of any privilege. Please do not include your social
> >> >>>> security
> >> >>>> number, account number, or any other personal or financial
> >> information
> >> >>>> in
> >> >>>> the content of the email. Should you have any questions, please
> call
> >> >>>>  (800)
> >> >>>> 453 7884.
> >> >>>>
> >> >>>
> >> >>>
> >> >>>
> >> >>
> >> >
> >>
> >>
> >>
> >> ?  Click here to submit conditions
> >>
> >> This email and any content within or attached hereto from  Sun West
> >> Mortgage Company, Inc.  is confidential and/or legally privileged. The
> >> information is intended only for the use of the individual or entity
> named
> >> on this email. If you are not the intended recipient, you are hereby
> >> notified that any disclosure, copying, distribution or the taking of any
> >> action in reliance on the contents of this email information is strictly
> >> prohibited, and that the documents should be returned to this office
> >> immediately by email. Receipt by anyone other than the intended
> recipient is
> >> not a waiver of any privilege. Please do not include your social
> security
> >> number, account number, or any other personal or financial information
> in
> >> the content of the email. Should you have any questions, please call
>  (800)
> >> 453 7884.
> >>
> >
>

Reply via email to