Перейти к содержимому
pdftools.kz
Организация

Формат ZIP

ZIP — контейнер, а не способ сжатия: каждый вложенный файл получает собственный локальный заголовок, а общий список всех записей лежит в конце файла, в центральном каталоге. Отсюда все свойства формата, включая неприятные. У нас ZIP появляется только как форма выдачи: когда инструмент сделал больше одного файла, они складываются в архив, а один-единственный результат скачивается напрямую.

Локально в браузередо 1 ГБбез регистрации

Коротко о цифрах

Сигнатура записи
PK 03 04 в начале каждого вложенного файла
Где список файлов
в конце архива — обрыв закачки ломает его целиком
Пределы классического ZIP
4 ГБ и 65 535 записей, снимаются ZIP64
Режим нашей упаковки
хранение без сжатия — содержимое уже сжато
Когда архива не будет
результат из одного файла скачивается напрямую
Имена с кириллицей
помечаются флагом UTF-8 при упаковке

Оглавление в конце, а не в начале

Список файлов дописывается последним, когда все записи уже уложены. Такое устройство удобно при упаковке: архиватор пишет данные потоком и не возвращается к началу. Но у него есть обратная сторона — недокачанный архив не открывается целиком, потому что оглавление находится ровно там, где закачка оборвалась, а без него распаковщик не знает, что внутри.

Практический вывод: если архив «битый», первым делом сравните его размер с тем, который называет отправитель. Расхождение означает обрыв, и чинить тут нечего — нужно скачать заново. Исторические пределы в четыре гигабайта и 65 535 записей давно сняты расширением ZIP64, но старые программы про него не знают и на большом архиве спотыкаются.

Когда наши инструменты отдают архив

  • Разделение PDF: архив называется по исходному файлу с окончанием _split, внутри страницы с окончанием _page_ и номером.
  • Перевод PDF в JPG или PNG: архив с окончанием _images, внутри по одной картинке на страницу с тем же принципом имён.
  • Пакетный перевод изображений: имя вида converted_формат_дата, до тридцати файлов за раз, по 100 МБ на каждый.
  • Результат из одного файла архивом не оборачивается: страница или картинка скачивается как есть.
  • Исходный PDF на разделении принимается размером до гигабайта — вся работа идёт в браузере.

Наш архив ничего не сжимает — и это правильно

Складывание идёт в режиме хранения без сжатия: библиотека, которой мы собираем архив, использует его по умолчанию. Причина простая — внутри лежат JPEG, PNG и PDF, то есть данные, уже прошедшие через собственные упаковщики. Сжимать их повторно означает потратить время и память вкладки ради долей процента.

Отсюда честный ответ на частый вопрос: архив весит примерно столько же, сколько файлы внутри. Если задача — уменьшить объём, работать нужно с самими документами: сжать PDF растеризацией или оптимизировать его структуру, а изображения перевести в более экономный формат. Архив на это не влияет.

Имена файлов внутри

  • Сам формат допускает две записи с одинаковым путём, а распаковщики ведут себя по-разному: одни перезаписывают, другие переименовывают.
  • Поэтому при пакетном переводе изображений совпадающие имена разводятся добавлением номера перед расширением.
  • Кириллица в именах когда-то была больным местом: старые архиваторы считали их записанными в кодировке той эпохи и показывали крякозябры.
  • Современные архивы помечают такие имена флагом кодировки UTF-8, и наша выдача этот флаг ставит.
  • Кодировка имён и содержимое — разные вещи: даже у зашифрованного архива список имён обычно виден.

Частые вопросы

Почему я скачал не архив, а один файл?

Значит, инструмент сделал ровно один файл: разделили по одному диапазону, перевели одностраничный PDF или конвертировали единственное изображение. Заворачивать один файл в архив бессмысленно, поэтому он приходит напрямую.

Почему архив весит столько же, сколько файлы внутри?

Потому что он их не сжимает, а просто складывает. Картинки и PDF уже упакованы своими алгоритмами, и повторное сжатие дало бы доли процента ценой заметного расхода памяти во вкладке.

Архив не открывается — что делать?

Сравните размер файла с тем, что видит отправитель: список записей лежит в самом конце, поэтому недокачанный архив не открывается целиком. При расхождении скачайте заново, чинить в этом случае нечего.

Можно ли загрузить ZIP к вам на обработку?

Нет, инструменты принимают сами документы, а не контейнеры с ними. Распакуйте архив у себя и загрузите файлы — PDF из него потом можно объединить в один документ.

Рядом

Частые задачи с этим инструментом