From 66e886aaf89c6b507b823d4952319a90d6832db7 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Tue, 21 Jun 2022 19:35:47 +0200 Subject: [PATCH] BUG: Fix missing page for bookmark Closes #968 --- PyPDF2/_merger.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/PyPDF2/_merger.py b/PyPDF2/_merger.py index 4ce53fd8b..2545cdd7e 100644 --- a/PyPDF2/_merger.py +++ b/PyPDF2/_merger.py @@ -660,11 +660,6 @@ def add_bookmark( """ if self.output is None: raise RuntimeError(ERR_CLOSED_WRITER) - out_pages = cast(Dict[str, Any], self.output.get_object(self.output._pages)) - if len(out_pages["/Kids"]) > 0: - page_ref = out_pages["/Kids"][pagenum] - else: - page_ref = out_pages action = DictionaryObject() zoom_args: ZoomArgsType = [] @@ -673,8 +668,9 @@ def add_bookmark( zoom_args.append(NumberObject(a)) else: zoom_args.append(NullObject()) - dest = Destination( - NameObject("/" + title + " bookmark"), page_ref, NameObject(fit), *zoom_args + + dest = Bookmark( + TextStringObject(title), NumberObject(pagenum), NameObject(fit), *zoom_args ) dest_array = dest.dest_array action.update(