well-formed PDF — five-object document (Catalog, Pages, Page, content stream, link annotation). xref offsets accurate, page count honest, no encryption reference, no JavaScript actions. Opens cleanly in any conformant reader.
chaos.catastrophic.ioGET /pdf
Returns a structurally flawed PDF where one element of the object graph deliberately lies — wrong xref byte offsets, a page tree claiming 100 pages when only one exists, a trailer referencing a nonexistent encryption dictionary, or a JavaScript OpenAction that fires on open. Default mode ships wrong xref offsets, the most fundamental structural lie.
bad-xref
page-count-lie
encrypted-ghost
javascript-actionnot.catastrophic.ioGET /pdf
well-formed PDF — five-object document (Catalog, Pages, Page, content stream, link annotation). xref offsets accurate, page count honest, no encryption reference, no JavaScript actions. Opens cleanly in any conformant reader.
Build against not.catastrophic.io/pdf, then
flip the hostname to chaos.catastrophic.io to exercise the chaos.