Some version of this has been floating around the Internet since 2007, probably earlier. This tweet is pretty emblematic of posts about this claim: it’s stated as pure fact, with no supporting evidence or explanation. We’re meant to just accept that a single PDF can only cover about half the area of Germany, and we’re not given any reason why 381 kilometres is the magic limit.

I started wondering: has anybody made a PDF this big? How hard would it be? Can you make a PDF that’s even bigger?

A few years ago I did some silly noodling into PostScript, the precursor to PDF, and it was a lot of fun. I’ve never actually dived into the internals of PDF, and this seems like a good opportunity.

Let’s dig in.

  • abhibeckert@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    edit-2
    10 months ago

    I’m guessing (gut feeling) Acrobat probably supports the most features overall, Firefox probably supports the vast majority of those used in practice, and Preview only allows Apple Approved™ PDF features and extensions deemed worthy of Their Appleness’s consideration.

    OK… stepping out of gut feelings into reality:

    • Adobe originally had a maximum page size of 45 inches square.
    • In 2001 they increased that to 200 inches
    • And in 2004 Adobe increased it to 15,000,000 inches (a bit larger than Germany) which is still kinda sucky if you want to show a map on a PDF

    As for “Their Appleness’s consideration” they generally use floating point numbers for coordinates and sizes. Which is how, as it says in the OP’s article, it’s able to handle a PDF trillions of light years in size. A double precision floating point number can be really big.

    More important though, it means you can process it with hardware accelerated floating point operations which are incredibly fast. And Apple’s PDF renderer needed to be fast because for years PDF was the data format used by the window manager for pretty much all screen drawing operations. They weren’t doing that on modern fast hardware either, they were doing it decades ago on slow hardware. With decent performance.

    If there are features missing it’s probably because they would slow things down too much.