Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linking from a web page to a specific section (anchor) in PDF document

There is a standard from Adobe that in theory specifies opening PDF documents from a link clicked in a browser in a way to open specific sections (AKA "anchor", "named reference") of PDF document. This functionality should be of great help if one would like to refer to a specific portion of large PDF (such as some standard or specification).

However, from what I see now, support for this standard is close to non-existent.

For example, these links should open Scala Reference PDF at section 3.2.6, "Annotated Types":

  1. http://www.scala-lang.org/docu/files/ScalaReference.pdf#subsection.3.2.6
  2. http://www.scala-lang.org/docu/files/ScalaReference.pdf#nameddest=subsection.3.2.6
  3. http://www.scala-lang.org/docu/files/ScalaReference.pdf#page=23

(Techincally, variant #3 should open page #23, which is essentially the same destination)

Is there a working way (may be with a couple of shims, proprietary wrappers or whatever else) to make this work on majority of systems? What is the usage share of Adobe Reader plugin, should I care about other systems?

If it's not possible, at least I'd like to find a working solution for every platform (i.e. Windows, Linux, Mac) that I could recommend to my site's users if they want to be able to use named destination links.

From what I've tested:

  • Windows, MSIE/Firefox/Chrome, Adobe Acrobat Reader plugin - all variants work with version 9+, but:
    • MSIE has a weird caching issue (i.e. anchor does not work until document was cached)
    • Older versions do not work
    • It has issues with link format: generally, it should be regular absolute link to a real web server, starting with "http://". Relative links, samba-style links (\\HOST\dir\file.pdf#something), anything else besides "http" (or probably, "https") scheme won't work
  • Windows, any browsers set up to run Adobe Acrobat Reader as a separate process - does not work
  • Windows, any browsers, FoxIt Reader - does not work
  • Windows, any browsers, CutePDF - does not work
  • Linux/Konqueror/Okular - only variant #1 works
  • Linux, any other browsers set up to run Okular or any other PDF viewer as external process - does not work (as browser does not pass any "#arguments" in a command line)
  • Any OS, Firefox 15+ PDF.js internal PDF viewer - does not work

I'd appreciate if you'd try it to test in various different combinations.

like image 783
GreyCat Avatar asked Nov 17 '12 03:11

GreyCat


People also ask

Can you Link to a specific section in a PDF?

To target an HTML link to a specific page in a PDF file, add #page=[page number] to the end of the link's URL.

Can you put anchor links in a PDF?

3 common ways to add hyperlinks on a PDFChoose “Tools” > “Edit PDF” > “Link” > “Add/Edit Web or Document Link” and then drag the rectangle to where you want to create the link. Next, in the “Create Link” dialogue box, adjust the link appearance and select “Open a Web Page” for the link action.

How do I jump to a specific page in a PDF?

Click the Previous Page or Next Page button in the toolbar. Choose View > Navigation > [location]. Choose View > Navigation > Go To Page, type the page number in the Go To Page dialog box and then click OK.


1 Answers

What seems to work in general is variant #4 but using the number of the page as in actual division into pages in the PDF document, in this case

http://www.scala-lang.org/docu/files/ScalaReference.pdf#page=31

The PDF document has page numbers that start from the content proper, after the table of content, but that numbering differs from the one to be used in #page=...

like image 178
Jukka K. Korpela Avatar answered Sep 22 '22 13:09

Jukka K. Korpela