Карта Германии 1:1 в PDF-формате? Легко!

Карта Германии 1:1 в PDF-формате? Легко!

Карта Германии 1:1 в PDF-формате? Легко!

Как оказалось, в файл PDF можно втиснуть страницу космических размеров. Лимиты, указанные в спецификациях формата, отображают возможности конкретного приложения для просмотра таких документов — Adobe Acrobat.

О том, что формат PDF не ограничивает размеры страниц таких документов, сказано, например, в соответствующей статье Википедии. Тем не менее программист Алекс Чань (Alex Chan), известная под ником alexwlchan, неоднократно сталкивалась с мнением, будто максимальный размер PDF-страниц — 381 км по стороне.

Таким листом можно накрыть половину Германии на карте масштабом 1:1, однако откуда взялось это магическое число?

 

В приложениях к спецификациям PDF 1.7 (PDF) отмечено, что лимиты на величину и количество объектов в таких файлах связаны с возможностями принтеров и соответствующих приложений. В Acrobat 5.0 и выше размеры страниц ограничены 200 х 200 дюймов; в этих границах дефолт можно для каждой менять с помощью записи UserUnit (число отображает кратность измерения на странице относительно типографского пункта, в программах Adobe равен 1/72 дюйма).

Версии Acrobat 7.0 и новее поддерживают верхнее значение UserUnit в 75 000, то есть страница PDF по каждой стороне не должна превышать 15 млн дюймов (381 км). Чтобы удостовериться, что для PDF это не предел, Чань изучила структуру таких файлов и собрала дополнительную информацию, задавая наводящие вопросы ChatGPT, а затем приступила к экспериментам, создав несколько простейших образцов вручную.

Как выяснилось, увеличить размеры страниц можно не только с помощью UserUnit, но также манипулируя значением MediaBox (размер материала, на котором производится печать). При превышении лимитов Acrobat приложение продолжало упорно показывать в метаданных 15 млн дюймов, а такой же трюк с UserUnit оно вообще не заметило (не выдало ни предупреждения, ни ошибки).

В ходе исследования было установлено, что встроенная в macOS программа Preview.app не поддерживает UserUnit и потому полностью игнорирует такие значения, считая, что во всех PDF установлен дефолт 1/72 дюйма. Верхний предел, как в случае с Acrobat, для этого приложения выставить невозможно, поэтому оно спокойно покажет в свойствах файла, что ширина страницы соизмерима с расстоянием от Земли до Луны.

 

Когда в ходе экспериментов Preview.app заявила, что PDF больше вселенной (примерно 37 млрд световых лет в квадрате), Чань решила остановиться. Распечатывать такие страницы даже не стоит пытаться.

Claude за час воскресил оболочку Windows 3.1 для современных компьютеров

Разработчик Mayuki выпустил ReProgman — клон Program Manager из Windows 3.1, созданный при помощи Claude Code. Ретрооболочка работает поверх Windows 11 и macOS и предлагает быстрый билет в начало 1990-х. Очень быстрый: по мнению самого автора, ностальгии хватит примерно на 30 секунд.

Название проекта отсылает к progman.exe — основной оболочке Windows 3.x. До появления меню «Пуск» пользователи запускали программы и открывали файлы через окна с группами крупных пиктограмм.

В 1995 году Windows 95 отправила эту систему на заслуженную пенсию, но теперь ИИ решил потревожить ветерана.

По словам Mayuki, первую рабочую версию Claude Code собрал примерно за час. Результат оказался приличным, хотя разработчику пришлось вручную исправить оставшиеся шероховатости.

Внешне ReProgman старательно повторяет серые окна, меню, кнопки и набор пиктограмм оригинального Program Manager, но взаимодействует уже с программами и файлами современной операционной системы.


Готовые сборки весят от 12 до 16 МБ и не требуют установки: достаточно скачать исполняемый файл и запустить его. Приложение поддерживает Windows 11 на x64 и Arm, а также macOS на компьютерах с Apple Silicon.

Правда, сборка для яблочной ОС не прошла нотаризацию, поэтому перед запуском придётся удалить её расширенные атрибуты.

Для самостоятельной сборки потребуется .NET SDK 10.0 или новее. Исходный код ReProgman опубликован на GitHub под лицензией MIT.

Практической революции ждать не стоит: проект задуман скорее как короткая экскурсия в эпоху, когда рабочий стол ещё не знал кнопки «Пуск». Зато ReProgman отлично показывает скорость современной вайб-разработки.

RSS: Новости на портале Anti-Malware.ru