首页 > 解决方案 > PDF 文件中的参数“Nameddest”

问题描述

我想通过 nameddest 参数在特定书签/大纲位置打开 PDF。例如,以下链接在书签“内容”处打开 PDF:

https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#nameddest=Contents

以下链接在书签“参数”处打开文件: https ://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#nameddest=Parameters

以下链接还会在“参数”书签处打开文件: https ://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#nameddest=G4.1501771

从上面的例子中,为什么nameddest=G4.150177?

如果我已经有一个 PDF 文件,如何检索 nameddest 参数的所有可能值?

PDF 文件中是否有一个部分可以检索所有书签,以便可以在 nameddest 参数中使用它们?

我知道书签部分中显示的名称可能与其实际目的地不同(PDF 规范https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#nameddest =G4.1501771 )

标签: pdf

解决方案


首先,这些参数并非在每个浏览器中都有效。例如,Safari 不尊重它们。它只是打开到第一页。

其次,Chrome 确实尊重这些参数,但认为 PDF 书签和命名目标是一回事。因此,命名目的地“G4.1501771”和书签“参数”最终会到达同一个地方。PDF 书签和命名目的地实际上是不同的东西。命名目的地始终是文档中的一个位置。PDF 书签可以有任意数量的与之关联的动作,其中之一是去一个特定的位置。

为什么nameddest=G4.150177?

因为 PDF 是在 Adob​​e FrameMaker 中创建的,而 FrameMaker 会根据标题自动放入命名目标。我敢肯定它们不是随机的名字,但它们确实看起来像。

PDF 文件中是否有一个部分可以检索所有书签,以便可以在 nameddest 参数中使用它们?

大多数 PDF 查看器会列出书签,但 Adob​​e Acrobat 会同时列出书签和命名目标。如果您想以编程方式执行此操作,书签树是文档目录中的一个字典,可以通过许多不同的 PDF API 访问。


推荐阅读