在我的网站上,我使用 URL 格式链接 PDF 文档中的多个部分 http://www.example.com/Document.pdf#nameddest=sectionXY (如此处所讨论)。 我的 PDF 文档是使用 MS-Word 2016 中的“PDF 导出”功能从 DOCX 文档手动创建的。标签在源文档中标记为 MS-Word 书签。
不幸的是,网络浏览器中的 PDF 查看器只能在 Google Chrome 中滚动到正确的部分。在其他浏览器(FireFox、IE 11 或 Edge)中,PDF 文档始终在第一页打开。
我确信我的解决方案几年前就可以在 Chrome、FireFox 和 IE 中运行。
有什么方法可以让它至少在 Chrome 和 FireFox 中工作吗? 我可以使用其他转换器(甚至某些 PDF 库),但我无法使用除 DOCX 以外的任何其他格式的源文档。我什至可以使用 MS Word 书签之外的其他方式来标记我的“标签”。
Word 的 PDF 导出可能会也可能不会在 PDF 文件中创建“指定目标”。它似乎根据平台(Mac 与 Windows)和版本(2010 与 2016)而有所不同。
LibreOffice 可以导入 .docx 并具有 PDF 导出功能,其中包含用于从文档书签创建命名目标的特定选项。
Chrome 使用 PDFium Firefox 使用 PDF.js 作为其内置 PDF 查看器,两者都支持使用
#nameddest=sectionXY
导航到指定目的地以及 RFC 中指定的一些 其他导航样式,例如 #page=2
。 (请参阅有关链接到各部分的相关问题。)
您可以使用 Popper 的 pdfinfo 或其他工具检查 PDF 文件中的指定目的地(请参阅 Unix.SE 上的相关问题关于列出指定目的地)。
这可能不是你能够改变的。
例如,PDF 标准本身并没有真正指定您发布的链接是否应该起作用。因此,对他们的支持并不常见。
当然,如果浏览器是开源的,您可以随时发布拉取请求。
要直接从 Word 创建
nameddest
引用,请转至 Insert
> Links
(菜单部分)> Bookmark
为您的书签命名,例如 MY_BOOKMARK
。
保存文档时,选择
Save as type:
PDF (*.pdf)
,单击 Options
按钮,选中 Create bookmarks using:
框。我认为您选择的部分中的选项并不重要。我还没有尝试过这些选项来说明每个选项的作用。
您可以在生成的 PDF 文件中访问创建的
nameddest
,其中包含以下链接:
http:\\domain.com\document.pdf#nameddest=MY_BOOKMARK
或
http:\\domain.com\document.pdf#MY_BOOKMARK