#!/usr/bin/env python3
# Generate a minimal valid PDF for the POC (correct xref offsets).
objs = [
    b"<</Type/Catalog/Pages 2 0 R>>",
    b"<</Type/Pages/Kids[3 0 R]/Count 1>>",
    b"<</Type/Page/Parent 2 0 R/MediaBox[0 0 100 100]>>",
]
out = b"%PDF-1.4\n"
offsets = []
for i, body in enumerate(objs, start=1):
    offsets.append(len(out))
    out += b"%d 0 obj" % i + body + b"endobj\n"
xref_off = len(out)
out += b"xref\n0 %d\n" % (len(objs) + 1)
out += b"0000000000 65535 f \n"
for off in offsets:
    out += b"%010d 00000 n \n" % off
out += b"trailer<</Size %d/Root 1 0 R>>\n" % (len(objs) + 1)
out += b"startxref\n%d\n%%%%EOF\n" % xref_off
with open('x.pdf', 'wb') as fp:
    fp.write(out)
print(f'wrote x.pdf ({len(out)} bytes)')
