有一个standard from Adobe,在理论上指定从一个链接打开PDF文档的浏览器中单击的方式来打开特定章节(又名“锚”,“命名参考“)PDF文件。如果希望参考大型PDF的特定部分(如某些标准或规范),此功能应该很有帮助。从一个网页链接到PDF文档中的特定部分(锚)
但是,从我现在看到的,对这个标准的支持接近于不存在。
例如,这些链接应在3.2.6节打开斯卡拉参考PDF, “注释类型”:
- http://www.scala-lang.org/docu/files/ScalaReference.pdf#subsection.3.2.6
- http://www.scala-lang.org/docu/files/ScalaReference.pdf#nameddest=subsection.3.2.6
- http://www.scala-lang.org/docu/files/ScalaReference.pdf#page=23
(Techincally,变种#3应打开第23页,这本质上是相同的目的地)
有没有一种工作方式(可能与几个垫片,专有包装纸或其他任何东西),使这项工作在大多数系统? Adobe Reader插件的使用份额是多少?我应该关心其他系统吗?
如果这是不可能的,至少我想为每个平台(如Windows,Linux,Mac)找到一个工作解决方案,如果他们想要使用指定的目标链接,我可以推荐给我的网站用户。
从我测试:
- 的Windows,MSIE /火狐/ Chrome浏览器,Adobe Acrobat Reader软件插件 - 所有变种9+版本工作,但:
- MSIE有一个奇怪的缓存问题(即锚不起作用,直到文件被缓存)
- 旧版本不工作
- 它issues with link format:一般,所以应定期绝对链接到一个真正的Web服务器,开始以“http://”。相关链接,桑巴风格的链接(
\\HOST\dir\file.pdf#something
),别的除了“HTTP”(或可能,“HTTPS”)方案将无法正常工作
- Windows中,设置运行的Adobe Acrobat Reader作为一个单独的浏览器的任何过程 - 不工作
- Windows中,任何浏览器,福昕阅读器 - 不工作
- Windows中,任何浏览器,CutePDF - 不工作
- 的Linux/Konqueror中/ Okular中 - 只有变#1作品
- 的Linux ,设置为将Okular或任何其他PDF查看器作为外部进程运行的任何其他浏览器 - 不起作用(如bro wser没有通过在命令行中的任何“#arguments”)
- 任何操作系统,火狐15+ PDF.js internal PDF viewer - 不工作
我会很感激,如果你想尝试它在各种不同的组合,以测试。
基本问题可能是您从Adobe调用*标准*实际上仅仅是是来自Adobe * Acrobat SDK *的*指南*,可追溯到* 2007 *。虽然2008年的PDF参考实际上(仅主要编辑修改)成为ISO标准,但URL指南AFAIK并未提升。因此,该指南仅适用于Adobe Acrobat&Reader及其浏览器集成(甚至可能过时)。任何其他的PDF阅读器都可能采用了其中一些机制,但他们也可能拥有自己的或根本没有的机制。 – mkl
关于“Windows,任何设置为将Adobe Acrobat Reader作为单独进程运行的浏览器”:AFAIK作为单独的进程,那些浏览器仅通过下载的PDF副本路径打开这些程序。因此,他们根本没有机会去所需的位置。 – mkl