Ответ 1
Это интересная проблема. Взяв его за книгу, вы можете начать с этого:
%PDF-1.0
1 0 obj<</Type/Catalog/Pages 2 0 R>>endobj 2 0 obj<</Type/Pages/Kids[3 0 R]/Count 1>>endobj 3 0 obj<</Type/Page/MediaBox[0 0 3 3]>>endobj
xref
0 4
0000000000 65535 f
0000000010 00000 n
0000000053 00000 n
0000000102 00000 n
trailer<</Size 4/Root 1 0 R>>
startxref
149
%EOF
что составляет 291 байт PDF-радости. Acrobat открывает его, но он несколько жалуется. В нем есть одна страница, и она составляет 3/72 "квадрата, минимальный разрешенный спецификацией.
Однако Acrobat X больше не беспокоит таблицу перекрестных ссылок, поэтому мы можем принять это:
%PDF-1.0
1 0 obj<</Type/Catalog/Pages 2 0 R>>endobj 2 0 obj<</Type/Pages/Kids[3 0 R]/Count 1>>endobj 3 0 obj<</Type/Page/MediaBox[0 0 3 3]>>endobj
trailer<</Size 4/Root 1 0 R>>
Акробат жалуется, но открывает его. Теперь мы находимся в 178 байт. Оказывается, вам не нужен этот/размер в трейлере. Теперь мы находимся в 172:
%PDF-1.0
1 0 obj<</Type/Catalog/Pages 2 0 R>>endobj 2 0 obj<</Type/Pages/Kids[3 0 R]/Count 1>>endobj 3 0 obj<</Type/Page/MediaBox[0 0 3 3]>>endobj
trailer<</Root 1 0 R>>
Оказывается, вам не нужны все эти стильные элементы/слова в словарях:
%PDF-1.0
1 0 obj<</Pages 2 0 R>>endobj 2 0 obj<</Kids[3 0 R]/Count 1>>endobj 3 0 obj<</MediaBox[0 0 3 3]>>endobj
trailer<</Root 1 0 R>>
Теперь мы находимся на 138 байт.
Также выясняется, что когда спецификация говорит "должна быть косвенной ссылкой", и /Count требуется, а заголовок "должен" быть% PDF-1.0, они делают свободные предложения. Это самое маленькое, что я мог бы сделать, и открыть его в Acrobat X:
%PDF-1.
trailer<</Root<</Pages<</Kids[<</MediaBox[0 0 3 3]>>]>>>>>>
70 байт.
Теперь мой редактор использует дисциплину Windows newline, но Acrobat принимает соглашения Windows, Mac или Unix, поэтому, используя hex-редактор, я заменил \r\n на\r и вообще удалил последнюю новую строку, что оставляет меня с 67 байтами
25 50 44 46 2D 31 2E 0D 74 72 61 69 6C 65 72 3C
3C 2F 52 6F 6F 74 3C 3C 2F 50 61 67 65 73 3C 3C
2F 4B 69 64 73 5B 3C 3C 2F 4D 65 64 69 61 42 6F
78 5B 30 20 30 20 33 20 33 5D 3E 3E 5D 3E 3E 3E
3E 3E 3E
Я попытался снять последний словарь ( → ), но Acrobat этого не сделал. Чтение PDF, встроенное в Google Chrome (FoxIt), не откроет его.
Как PostScript (HA! Посмотрите, что я там сделал?), если вы соглашаетесь на "восстановление" файла Acrobat, он набирает до 3550 байт, большинство из которых являются дополнительными метаданными, но оставляет за собой ряд четких спецификаций нарушения.