如何从 PDF 文件中提取书签

Sha*_*kar 5 pdf

我有一个PDF文件。我需要将该文件中的书签提取到文本文件或 Excel 电子表格中。我还需要验证大 PDF 文件中的书签。我该怎么做?

vin*_*c17 5

您可以使用pdftk从 PDF 文件中提取数据(特别是书签)。

\n\n

示例:使用 pdftk 2.02,

\n\n
pdftk file.pdf dump_data_utf8 | grep \'^Bookmark\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出书签列表,每个书签 4 行,格式如下:

\n\n
BookmarkBegin\nBookmarkTitle: <title in UTF8>\nBookmarkLevel: <number>\nBookmarkPageNumber: <number>\n
Run Code Online (Sandbox Code Playgroud)\n\n

例如,级别 1 对应于节,级别 2 对应于小节,依此类推。dump_data_utf8您可以使用代替dump_data,它将为您提供非 ASCII 字符的 HTML/XML 数字实体(例如&#232;“\xc3\xa8”)。

\n\n

注意:如果没有grep,您可以获得其他有趣的数据,例如元数据(创建日期、作者、关键字、标题等)、页数和每页的尺寸。这个 pdftk 实用程序可以对 PDF 文件执行其他操作;有关完整说明,请参阅其手册页。

\n


Mat*_*aun 5

qpdf

这应该可以帮助您开始:

qpdf --json your.pdf | jq '.objects' | grep -Po 'Title": \K.*'
Run Code Online (Sandbox Code Playgroud)

不过,该命令还将生成 PDF 的标题。

查看qpdf 手册,了解其 JSON 输出。

grep我很确定可以通过使用jq 的通配符来简化该命令,摆脱。

  • 感谢 qpdf!使用“--json --json-key=outlines”的书签 JSON 输出再简单不过了。易于解析以进行进一步处理,这就是我搜索的内容,太长了。 (4认同)