25. Februar 2024, 16:05 Uhr | Lesezeit: 3 Minuten
Eine Entwicklerin hat mit einem spannenden – und durchaus unterhaltsamen – Projekt eine althergebrachte Behauptung widerlegt. Dafür hat sie ein absurd großes PDF erstellt. TECHBOOK erzählt die kuriose Geschichte.
Alex Chan kennt sich mit Programmcodes aus. Die Britin arbeitet nicht nur als Software-Entwicklerin. In ihrer Freizeit geht sie abseitigen IT-Themen nach und berichtet darüber in ihrem Blog. Zuletzt hat sie sich die Frage gestellt: Warum kann ein PDF-Dokument nicht größer als 381 x 381 Kilometer sein? Alex Chan machte sich auf die Suche nach einer Antwort und fand ein Schlupfloch – mit enormen Auswirkungen.
Ein PDF größer als Deutschland
Ein Post weckte ihr Interesse, in dem behauptet wird, das größte PDF-Dokument sei fast so groß wie Deutschland. Alex Chan begann anschließend, zu recherchieren. Die Entwicklerin versuchte diese Behauptung zu widerlegen. Es müsse doch möglich sein, ein PDF zu erzeugen, welches im Durchmesser über die deutschen Grenzen hinausreiche.
Bei ihrer Recherche stieß sie zunächst auf einen englischen Wikipedia-Eintrag. Dort steht, dass nicht das PDF-Format selbst für die Größenlimitierung sorge, sondern dass Format-Erfinder Adobe Grund für die Limitierung der Größe sei. Zur Erklärung: Laut Adobe ist die maximale Größe eines PDF-Dokuments auf 15 Millionen Zoll mal 15 Millionen Zoll begrenzt. Das entspricht den bereits erwähnten 381 Kilometern im Quadrat. Eine Begründung liefert Adobe allerdings nicht.
Auch interessant: Die Geschichte hinter dem PDF
PDF an der Wurzel packen
Als Programmiererin versuchte Chan daher als Nächstes, sich das Erstellen eines PDF-Dokuments selbst beizubringen. Sie wälzte entsprechende Fachliteratur und nutzte auch die Hilfe von ChatGPT, um ein erstes, eigenes PDF-Dokument zu programmieren.
Die Entwicklerin ist damit tief in die Materie eingetaucht und erfuhr so viel über bestimmte, veränderbare Werte innerhalb des Programmcodes. Zwei Werte fielen ihr dabei besonders ins Auge: die UserUnit und Mediabox. Bei der Programmierung ihres eigenen PDF-Dokuments versuchte Chan zunächst, die unbegründete Limitierung nachzuvollziehen. Dafür experimentierte sie mit den Werten für UserUnit und Mediabox.
Und tatsächlich: Auch bei ihrem selbst programmierten PDF-Dokument ignorierte Adobe Acrobat Werte für die UserUnit und Mediabox jenseits der bekannten Limitierung. Stimmt die Aussage in dem Wikipedia-Eintrag damit?
Kleine „Lücke“ mit unvorstellbarer Wirkung
Alex Chan gab sich mit diesem Ergebnis allerdings nicht zufrieden und suchte weiter. Wie die Entwicklerin in ihrem Blog-Artikel schreibt, stieß sie dabei auf eine „Lücke“ in der vom Apple-Betriebssystem macOS mitgelieferten Vorschau-App.
Die macOS-Vorschau ignoriert zwar jegliche Wertänderungen bei der UserUnit. Allerdings gibt es offensichtlich keine Begrenzung nach oben für die Mediabox. Anstatt des maximal möglichen Wertes von 14.400 trug sie einfach 1.000.000.000.000 ein – also eine Billion – drückte „Enter“ und staunte. Denn diese Hintertür hatte tatsächlich funktioniert.
Die Vorschau-App von macOS zeigte bei der Dokumentengröße eine Länge von 352.777 Kilometer im Quadrat. Eine solche Strecke entspricht ungefähr der Entfernung zwischen der Erde und dem Mond – und ist damit eindeutig größer als Deutschland. Ein solches PDF-Dokument zu finden, stand ja am Anfang der Suche von Alex Chan.
Eine Herzensprojekt mit riesiger Erkenntnis
Später experimentierte die Entwicklerin mit noch größeren Werten und erzeugte damit ein PDF-Dokument mit einer unvorstellbaren Größe von 37 Billionen Lichtjahren. Bildlich gesprochen handelt es sich dabei um ein Quadrat, das im Durchmesser 37 Billionen Lichtjahre misst.
In dieses Quadrat würde unser gesamtes beobachtbares Universum locker hineinpassen. Denn dieser Wert beträgt nur schlappe 93 Milliarden Lichtjahre. Was als reines Herzensprojekt für Alex Chan begonnen hat, erbringt am Ende einen riesigen Erkenntnisgewinn. Zum Schluss rät die Entwicklerin anderen Programmier-Fans, die mit dem von ihr entwickelten PDF-Dokument herumexperimentieren möchten: „Auf keinen Fall ausdrucken!“