diff --git b/original/page.py a/patched/page.py index 7b02391..1ed69a3 100644 --- b/original/page.py +++ a/patched/page.py @@ -21,6 +21,7 @@ from z3c.rml import attr, directive, interfaces try: import pyPdf + from pyPdf.generic import NameObject except ImportError: # We don't want to require pyPdf, if you do not want to use the features # in this module. @@ -34,6 +35,9 @@ class MergePostProcessor(object): def process(self, inputFile1): input1 = pyPdf.PdfFileReader(inputFile1) output = pyPdf.PdfFileWriter() + output._info.getObject().update(input1.documentInfo) + output._root.getObject()[NameObject("/Outlines")] = ( + output._addObject(input1.trailer["/Root"]["/Outlines"])) for (num, page) in enumerate(input1.pages): if num in self.operations: for mergeFile, mergeNumber in self.operations[num]: