在Python中为现有PDF创建轮廓/目录

| 我正在使用pyPdf将多个PDF文件合并为一个。这很好用,但我还需要向生成的PDF文件中添加目录/大纲/书签。 pyPdf似乎只阅读了对大纲的支持。 Reportlab允许我创建它们,但是开放源代码版本不支持加载PDF文件,因此无法在现有文件中添加轮廓。 有什么方法可以使用Python或任何允许的方法将轮廓添加到现有PDF?     
已邀请:
        我们在WeasyPrint中遇到了类似的问题:cairo生成PDF文件,但不支持书签/轮廓线或超链接。最后,我们咬紧牙关,阅读PDF规范,然后自己完成。 WeasyPrint的pdf.py具有简单的PDF解析器和编写器,可以将PDF \“对象\”添加/覆盖到现有文档中。它使用PDF“更新”机制,并且仅附加在文件末尾。 该模块仅供内部使用,但我愿意对其进行重构以使其更易于在其他项目中使用。 但是,解析器采用了一些快捷方式,无法解析所有有效的PDF文件。如果PyPDF的输出不如cairo的输出好,则可能需要对其进行调整。在模块的文档字符串中:   我们做出一些假设,而不是尝试解析任何有效的PDF。   适用于开罗,以简化代码:         所有换行符都是\'\\ n \',而不是\'\\ r \'或\'\\ r \\ n \'   除了数字0(始终是免费的)外,没有\“ free \”对象。   大多数空格分隔符由单个0x20空格组成。   间接字典对象在行的开头不包含\'>> \',除非标记对象的末尾,后跟\'endobj \'。 (在   换句话说,子字典的\'>> \'标记是缩进的。)   页面树是扁平的:根页面节点的所有子对象都是页面对象,而不是页面树节点。        
        看起来PyPDF2可以胜任。请参阅文档中的“ 0”方法:https://pythonhosted.org/PyPDF2/PdfFileMerger.html     

要回复问题请先登录注册