Environment
Linux-6.1.0-31-amd64-x86_64-with-glibc2.36
pypdf==5.3.0, crypt_provider=('cryptography', '44.0.0'), PIL=11.1.0
Code
from pypdf import PdfReader, PdfWriter
reader = PdfReader('pdf-in.pdf')
writer = PdfWriter(reader, incremental=True)
with open("pdf-out.pdf", "wb") as fp:
writer.write_stream(fp)
After running the above code, the generated pdf should add new objects starting from the element = /Size and starts adding from /Size+1.
What can be seen from the object number /Xref