from pypdf import PdfWriter from pypdf.generic import IndirectObject from src.pdf import EZPdfReader reader = EZPdfReader("test.ezpdf") for gen, entries in reader.xref.items(): if gen == 65535: continue for objid in list(entries.keys()): reader.get_object(IndirectObject(objid, gen, reader)) for objid in list(reader.xref_objStm.keys()): reader.get_object(IndirectObject(objid, 0, reader)) writer = PdfWriter() writer.clone_document_from_reader(reader) # clones root pages etc with open("out.pdf", "wb") as f: writer.write(f)