Was ist aus einfacher Neugier die kleinstmögliche gültige PDF-Datei , nachdem Sie das kleinste GIF gesehen haben ?
pdf
optimization
pdf-generation
meshy
quelle
quelle
Antworten:
Dies ist ein interessantes Problem. Wenn Sie es nach dem Buch nehmen, können Sie damit beginnen:
Das sind 291 Bytes PDF-Freude. Acrobat öffnet es, aber es beschwert sich etwas. Es gibt eine Seite darin und es ist 3/72 "Quadrat, das Minimum, das von der Spezifikation erlaubt wird.
Acrobat X kümmert sich jedoch nicht einmal mehr um die Querverweistabelle, sodass wir Folgendes herausnehmen können:
Acrobat beschwert sich, öffnet es aber. Jetzt sind wir bei 178 Bytes. Es stellt sich heraus, dass Sie das / Größe im Trailer nicht brauchen. Jetzt sind wir bei 172:
Es stellt sich heraus, dass Sie nicht alle diese lästigen / Typ-Elemente in Ihren Wörterbüchern benötigen:
Jetzt sind wir bei 138 Bytes.
Es stellt sich auch heraus, dass, wenn in der Spezifikation "soll eine indirekte Referenz sein" und / Count erforderlich ist und der Header "muss"% PDF-1.0 sein muss, sie lose Vorschläge machen. Dies ist das kleinste, das ich machen und in Acrobat X öffnen kann:
70 Bytes.
Jetzt verwendet mein Editor die Windows-Newline-Disziplin, aber Acrobat akzeptiert Windows-, Mac- oder Unix-Konventionen. Durch die Verwendung eines Hex-Editors habe ich das \ r \ n durch \ r ersetzt und die letzte Newline insgesamt entfernt, sodass ich 67 Bytes habe
Ich habe versucht, das letzte Endwörterbuch (>>) abzunehmen, aber Acrobat hätte das nicht. Das in Google Chrome (FoxIt) integrierte PDF-Lesen wird nicht geöffnet.
Wenn Sie als PostScript (HA! Sehen Sie, was ich dort getan habe?) Einwilligen, dass Acrobat die Datei "repariert", werden bis zu 3550 Bytes, die meisten davon optionale Metadaten, angezeigt, aber es bleiben eine Reihe eindeutiger Verstöße gegen die Spezifikationen zurück.
quelle
minimum allowed by the spec
und dann darüber hinausgeht. Tolle Antwort, danke! :)\n
s eingebettet, und wenn base64-decodiert ist, wird nicht der richtige Dateiinhalt angezeigt.Ich konnte das Hallo-Welt-Beispiel nicht öffnen.
Für eine kleine Datei mit Textinhalt:
quelle
Ich dachte, ich würde ein kleinstes PDF erstellen, das "Hello World" anzeigt. Der Text befindet sich in der unteren linken Ecke. Entschuldigung für die 9-Punkt-Schrift, jede größere Schrift würde ein zusätzliches Byte kosten :)
172 Bytes für Adobe Reader X (wenn mit Zeilenvorschub-Zeilenumbrüchen und ohne nachfolgende Zeilenumbrüche oder Null-Bytes gespeichert):
120 Bytes für den integrierten PDF-Viewer von Chrome:
Um dies in Chrome einfach zu sehen, fügen Sie diesen URI in die Adressleiste ein (SO kann ich keinen Link dazu erstellen und es funktioniert in anderen Browsern überhaupt nicht):
quelle
Verwenden Sie in Java Folgendes:
und dann
...
quelle