「PDF」- 书签 与 大纲(Bookmark and Outline)

  CREATE BY JENKINSBOT
原文链接:「PDF」- 书签 与 大纲(Bookmark and Outline)
文章分类:「07.Linux_as_a_Work_Environment:PDF_-_Portable_Document_Format:Bookmarks_and_the_Outline_in_a_PDF」
文章标识:「6e5aeda6」

问题描述

我们在 Okular 中添加书签(Bookmark),但是无法在 Foxit Reader 2.4.4、Evince 3.30.2 中显示。

我们最开始以为书签是软件自己维护的,但是随后我们发现 PDF 文件确实发生修改,因此可以排除。然后我们便查找 PDF 规范,查找相干博客文章对这个问题的说明。

该笔记将对该问题进行解释,并附加补充说明内容。注意,根据上下文,我们可能会使用 Bookmark 代指“书签”,使用 Outline 代指“大纲”。

问题原因

在 PDF 规范中,已经合并 Bookmark 和 Outline 并统称为 Outline,如 PDF 规范所述:

The outline consists of a tree-structured hierarchy of outline items (sometimes called bookmarks), which serve as a visual table of contents to display the document’s structure to the user.

而 Bookmark 没有明确的规范,导致 PDF 都有自己的实现,因此软件的行为不同(正如我们遇到的问题)。

Bookmark and Outline

什么是书签(Bookmark)?

可以比喻为现实世界中的书签,做标记,然后让我们可以快速找到书中某些页面。

什么是大纲(Outline)?

而大纲是类似书中的摘要,通常位于章节的最开始,可以然我们快速了解到书(PDF)中的内容。这种“摘要”可能是小段文本描述,也可能是个内容列表(Table of Contents)

为什么大纲与目录会被合并?

首先,要明确两个问题:
1)PDF 是种文档格式,没有“目录”的概念,我们看到的目录,是人为添加的标记(书签、大纲)
2)大纲不一定是一段文本描述,可以是章节内容概述列表(正如这篇文章右上角的“ToC”块)

现在回到我们的问题中。在阅读 PDF 文档的过程中,我们会看到自己感兴趣的内容,然后添加 Bookmark 以供之后详细阅读。那么问题是,我们做的这个标记是否应该出现在 Outline 中?有人觉得这是 Bookmark 不应该出现在 Outline 中,但是有人觉得被标记内容是文档内容的组成部分,应该作为 Outline、作为一种概要出现。

不同的观点以及没有规范导致软件的实现不同。

选择 PDF 阅读软件要考虑的问题

如果我们需要经常编辑 PDF 文档,并进行查阅,那我们可能需要选择固定的 PDF 软件(不能经常更换,基本上是不能换),否则很可能会出现书签、标记无法查看的情况。

如果我们需要经常阅读 PDF 文档,则没有过多限制。

参考文献

PDF – Wikipedia
Understanding the Difference between Bookmarks and the Outline in a PDF | Inside PSPDFKit