15

Какие настройки использовать при создании 7zip-файлов, чтобы получить максимальное сжатие? Я сжимаю PDF документы, содержащие отсканированные изображения. Я думаю об использовании LZMA2, но я не знаю, что установить в словарном размере, размере слова и т.д. Кроме того, LZMA или PPMd были бы лучшими вариантами?

Мне нужно, чтобы некоторые файлы передавались (~ 200 МБ) по сети, и скорость загрузки здесь очень низкая, поэтому я бы хотел сжать данные как можно больше. Затрачиваемое время процессора не очень важно.

РЕДАКТИРОВАТЬ

Вот что я получил после тестирования различных методов сжатия:

Несжатый размер был: 25 462 686 B

Мой процессор Intel Core 2 Due T8100, и у меня 4 ГБ ОЗУ.

Лучшее сжатие было с PeaZip с использованием алгоритма PAQ8O. Результирующий размер файла был 19,994,325B. Использовались следующие параметры: уровень сжатия: максимальный. К сожалению, скорость сжатия составила около 5 КБ / с, поэтому сжатие данных заняло более одного часа.

Далее был экспериментальный компрессор PAQ9O. Используя его, я получил 20 132 660B примерно за 3 минуты сжатия. К сожалению, программа только для командной строки, и не многие другие программы используют этот алгоритм сжатия. Он также использует около 1,5 ГБ ОЗУ с настройками, которые я использовал (-9 -c)

После этого была 7-Zip 9.15 beta (2010-06-20) с использованием LZMA2. Используя его, я получил 20 518 802B примерно за 3 минуты. Использовались следующие параметры: размер слова 273, размер словаря 64 МБ, и я использовал 2 потока для сжатия.

Теперь вернемся к моему первоначальному вопросу: в моем случае сплошной размер блока не дал заметных результатов. Увеличение размера слова действительно дало некоторые результаты. Разница между самым высоким размером слова и самым маленьким была 115,260B. Я считаю, что такая экономия оправдывает усилия, необходимые для двух необходимых кликов и изменения размера слова.

Я попытался использовать другие алгоритмы сжатия, поддерживаемые 7zip и PeaZip, и они генерируют файлы размером от 19,8 МБ до 21,5 МБ.

В итоге я пришел к выводу, что при сжатии документов PDF, содержащих в основном изображения, усилия, необходимые для использования экзотических алгоритмов сжатия, не оправданы. Сжатие с использованием LZMA2 в 7zip дало вполне приемлемые результаты за наименьшее количество времени.

4 ответа4

8

Содержимое PDF-файлов (текст и изображения), вероятно, уже сжаты, поэтому, если попытаться снова сжать их, выиграть мало что.

6

Попробуйте precomp - он сначала распаковывает уже сжатые данные внутри ваших PDF-файлов. Тогда 7z может творить чудеса с несжатыми данными.

Также попробуйте нанозип, который, как я проверял, очень эффективен, но очень эффективен (400 Кбит / с при коэффициентах сжатия алгоритмов PAQ).

2

7za a -t7z -mx-9 -mfb=258 -mpass=15 filename.7z subdir

При необходимости измените первое слово для имени исполняемого файла командной строки и измените части после «-mpass = 15», чтобы настроить имя файла и то, что оно должно включать.

Этот ответ не относится к документам PDF.
Это использует LZMA, а не PPM. Я держался подальше от PPM, потому что есть слишком много вариантов, которые не совместимы с другими вариантами. LZMA выглядит более стабильным, а совместимость поддерживается более широко. Так что я остался в стороне от PPM именно потому, что, как вы сказали, мое мнение заключалось в том, что «усилия, необходимые для использования экзотических алгоритмов сжатия, не оправданы».

-3

Сжатие lzma является лучшим, потому что вы можете создать файл sfx или пакет msi с высокой степенью сжатия. в вашем случае вы не сжимаете большой файл, поэтому разница довольно мала, особенно если файл был сжат, например: mp3 или png

попробуйте выиграть дугу бесплатно и дает степень сжатия gret

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .