如何在从 PowerPoint 导出至 PDF 时,用页面标题作为 PDF 书签?

上课时教授的课件是 LaTex Beamer 生成的 PDF,会自动从每一页的标题生成一个书签,在浏览和复习的时候都很方便。自己主要使用 PowerPoint,但是似乎 PowerPoint 原生导出的 PDF 不会包含任何书签属性。想了解一下各位对此是否有什么解决方案?

以下是我现在了解到的一些方案,及其优缺点:

  1. Adobe Acrobat 中的 PDFMaker 插件

    • 优点:Adobe 官方,和 Office 结合紧密
    • 缺点:贵,闭源
  2. PDF 补丁丁的「自动生成书签」功能(appinn link

    • 优点:免费,支持导出文档信息至 XML 文件并用外部工具编辑,支持任意 PDF(不只是 PowerPoint 生成的 PDF)
    • 缺点:需要手动调整参数,似乎会把正文也放入书签中(可能是我没有找到正确的过滤器/参数设置)
  3. 万能的 Python?(python-pptx 库 + pyPDF2 库)

    • 优点:完全开源,可以使用 pptx 内部的文档描述结构准确提取标题(在正确使用 PowerPoint 母版功能的前提下)
    • 缺点:得自己写(但是似乎工作量不是很大?)

PDF-XChange 可以通过字体名称、字体大小、字体颜色匹配标题自动生成书签,另外还可以通过匹配标题通配式来生成。

很多人的ppt和word排版极其混乱,你看上去以为他是标题,其实并不是标题。你以为是一个标题,其实是好几个标题。如果有目录/大纲页,可以用目录页的文字。否则建议写个软件截取图像做ocr

1 个赞

现实中的确存在这样的情况,不过我的问题仅限定在「自己制作的 PPT」中,因此对于是否是标题是可以完全确认的。

多谢指路!我去试试