Is it possible to link to a bookmark within a PDF using URL parameters?

前端 未结 5 1396
梦如初夏
梦如初夏 2020-12-12 14:02

When providing a link to a PDF file on a website, is it possible to include information in the URL (request parameters) which will make the PDF browser plugin (if used) jump

相关标签:
5条回答
  • 2020-12-12 14:46

    RFC 3778 section 3 specifies "Fragment Identifiers" that can be used with PDF files, which include nameddest and page.

    0 讨论(0)
  • 2020-12-12 14:46

    There are multiple query parameters that can be handled. Full list below:

    Source

    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | Syntax                  | Description                                                                                  | Example                                              |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | nameddest=destination   | Specifies a named destination in the PDF document                                            | http://example.org/doc.pdf#Chapter6                  |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | page=pagenum            | Specifies a numbered page in the document, using an integer                                  | http://example.org/doc.pdf#page=3                    |
    |                         | value. The document’s first page has a pagenum value of 1.                                   |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | comment=commentID       | Specifies a comment on a given page in the PDF document. Use                                 | #page=1&comment=452fde0e-fd22-457c-84aa-             |
    |                         | the page command before this command.                                                        | 2cf5bed5a349                                         |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | collab=setting          | Sets the comment repository to be used to supply and store                                   | #collab=DAVFDF@http://review_server/Collab           |
    |                         | comments for the document. This overrides the default comment                                | /user1                                               |
    |                         | server for the review or the default preference. The setting is of the                       |                                                      |
    |                         | form store_type@location, where valid values for store_type are:                             |                                                      |
    |                         | ● DAVFDF (WebDAV)                                                                            |                                                      |
    |                         | ● FSFDF (Network folder)                                                                     |                                                      |
    |                         | ● DB (ADBC)                                                                                  |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | zoom=scale              | Sets the zoom and scroll factors, using float or integer values. For                         | http://example.org/doc.pdf#page=3&zoom=200,250,100   |
    | zoom=scale,left,top     | example, a scale value of 100 indicates a zoom value of 100%.                                |                                                      |
    |                         | Scroll values left and top are in a coordinate system where 0,0                              |                                                      |
    |                         | represents the top left corner of the visible page, regardless of                            |                                                      |
    |                         | document rotation                                                                            |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | view=Fit                | Set the view of the displayed page, using the keyword values                                 | http://example.org/doc.pdf#page=72&view=fitH,100     |
    | view=FitH               | defined in the PDF language specification. For more information,                             |                                                      |
    | view=FitH,top           | see the PDF Reference.                                                                       |                                                      |
    | view=FitV               | Scroll values left and top are floats or integers in a coordinate                            |                                                      |
    | view=FitV,left          | system where 0,0 represents the top left corner of the visible                               |                                                      |
    | view=FitB               | page, regardless of document rotation.                                                       |                                                      |
    | view=FitBH              | Use the page command before this command.                                                    |                                                      |
    | view=FitBH,top          |                                                                                              |                                                      |
    | view=FitBV              |                                                                                              |                                                      |
    | view=FitBV,left         |                                                                                              |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | viewrect=left,top,wd,ht | Sets the view rectangle using float or integer values in a                                   |                                                      |
    |                         | coordinate system where 0,0 represents the top left corner of the                            |                                                      |
    |                         | visible page, regardless of document rotation.                                               |                                                      |
    |                         | Use the page command before this command.                                                    |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | pagemode=bookmarks      | Displays bookmarks or thumbnails.                                                            | http://example.org/doc.pdf#pagemode=bookmarks&page=2 |
    | pagemode=thumbs         |                                                                                              |                                                      |
    | pagemode=none           |                                                                                              |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | scrollbar=1|0           | Turns scrollbars on or off                                                                   |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | search=wordList         | Opens the Search panel and performs a search for any of thewords in the specified word list. | #search="word1 word2"                                |
    |                         | The first matching word ishighlighted in the document.                                       |                                                      |
    |                         | The words must be enclosed in quotation marks and separated byspaces.                        |                                                      |
    |                         | You can search only for single words. You cannot search for a string of words.               |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | toolbar=1|0             | Turns the toolbar on or off.                                                                 |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | statusbar=1|0           | Turns the status bar on or off.                                                              |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | messages=1|0            | Turns the document message bar on or off.                                                    |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | navpanes=1|0            | Turns the navigation panes and tabs on or off.                                               |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | highlight=lt,rt,top,btm | Highlights a specified rectangle on the displayed page. Use the                              |                                                      |
    |                         | page command before this command.                                                            |                                                      |
    |                         | The rectangle values are integers in a coordinate system where                               |                                                      |
    |                         | 0,0 represents the top left corner of the visible page, regardless of                        |                                                      |
    |                         | document rotation                                                                            |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    | fdf=URL                 | Specifies an FDF file to populate form fields in the PDF file beingopened.                   | #fdf=http://example.org/doc.fdf                      |
    |                         | Note: The fdf parameter should be specified last in a URL.                                   |                                                      |
    +-------------------------+----------------------------------------------------------------------------------------------+------------------------------------------------------+
    
    0 讨论(0)
  • 2020-12-12 14:50

    It's worth adding that Wayne's solution also works in:

    • Chrome (since v. 14 from 2011, see this issue for details) (tested on v. 44),
    • Firefox (tested on v. 40),
    • Opera (tested on v. 31),

    ...BUT it doesn't work in:

    • Safari (v. 8) (but there is a feature request for it in Apple's Safari bug tracker)
    0 讨论(0)
  • 2020-12-12 14:53

    PDF Open Parameters documents the available URL fragments you can use.

    0 讨论(0)
  • 2020-12-12 14:55

    Yes, you can link to specific pages by number or named locations and that will always work if the user's browser uses Adobe Reader as plugin for viewing PDF files.

    For a specific page by number:

    <a href="http://www.domain.com/file.pdf#page=3">Link text</a>
    

    For a named location (destination):

    <a href="http://www.domain.com/file.pdf#nameddest=TOC">Link text</a>
    


    To create destinations within a PDF with Acrobat:

    1. Manually navigate through the PDF for the desired location
    2. Go to View > Navigation Tabs > Destinations
    3. Under Options, choose Scan Document
    4. Once this is completed, select New Destination from the Options menu and enter an appropriate name
    0 讨论(0)
提交回复
热议问题