Які налаштування використовувати під час створення файлів 7zip, щоб отримати максимальну компресію при стисненні PDF-файлів?


15

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

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

EDIT

Ось що я отримав після тестування різних методів стиснення:

Нестиснений розмір становив: 25,462,686B

Мій процесор 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 бета (2010-06-20) з використанням LZMA2. Використовуючи його, я отримав 20 518 802B приблизно за 3 хвилини. Використані налаштування: розмір слова 273, розмір словника 64 Мб, і я використовував 2 нитки для стиснення.

Повернімось до мого початкового питання: У моєму випадку розмір твердого блоку не дав помітних результатів. Збільшення розміру слова дало певні результати. Різниця між найвищим розміром слова та найменшим склала 115,260B. Я вважаю, що така економія виправдовує зусилля, необхідні для здійснення двох необхідних клацань та зміни розміру слова.

Я спробував використовувати інші алгоритми стиснення, які підтримуються 7zip та PeaZip, і вони створюють файли розмірами від 19,8MiB до 21,5MiB.

Зрештою, мій висновок полягає в тому, що при стисненні документів PDF, що містять переважно зображення, зусилля, необхідні для використання екзотичних алгоритмів стиснення, не виправдані. Стиснення за допомогою LZMA2 у 7zip дало цілком прийнятні результати за найменший проміжок часу.


Що відрізняється від використання PeaZip? Це просто обгортка GUI навколо 7zip та багато інших інструментів
Cole Johnson,

@Cole "Cole9" Johnson Ну різниця полягає в тому, що в моєму випадку я використовував деякі "інші" інструменти від PeaZip, у яких тоді не було графічного інтерфейсу. Якщо я добре пам'ятаю, тоді лише PeaZip запропонував алгоритм PAQ8O з графічним інтерфейсом.
AndrejaKo

Відповіді:


7

Вміст PDF-файлів (текст та зображення), ймовірно, вже стиснутий, тому, не намагаючись отримати ще раз, спробуйте стиснути їх ще раз.


3
Ну, ні. Я трохи тестував і взяв 24 Мбіт PDF-файлів і стиснув їх, використовуючи налаштування за замовчуванням. Результатом було 19 MiB-файлів. У моєму випадку ці 5 МіБ мають значення в моєму випадку.
AndrejaKo

1
Схоже, ти маєш рацію. Я не міг дати результати значно кращі за замовчуванням 7zip, незалежно від того, що я робив. Я все ще переконаний, що деяке стиснення краще, ніж жодне.
AndrejaKo

3
Якщо ви могли б заощадити стільки місця, то, ймовірно, можна виконати роботу з самими PDF-файлами, щоб зберегти майже весь цей простір без 7-Zip. Подорож через оптимізатор PDF Acrobat може творити чудеса.
afrazier

Дивіться відповідь usr - компресію, використану в PDF (zlib), можна повернути для подальшого стиснення (і застосувати знову при реконструкції). Це часто призводить до зменшення розміру на 50%
шнадер

@schnaader: Це дійсно цікаво. Я бачив і використовував такі інструменти, як оптимізатор PDF Acrobat та MuPDF, щоб змінювати PDF-файли, зберігаючи їх видимість, але можливість їх безперешкодної трансформації також є дуже цінною і може бути використана з великою користю.
afrazier

8

Спробуйте precomp - він спочатку розтискає вже стиснуті дані всередині ваших PDF-файлів. Тоді 7z може зробити свою магію на нестиснених даних.

Також спробуйте nanozip, який я підтвердив, що він дуже ефективний, але дуже ефективний (400 кбіт / с при коефіцієнтах стиснення алгоритмів PAQ).


2

7za a -t7z -mx-9 -mfb = 258 -mpass = 15 ім'я файлу.7z subdir

Налаштуйте перше слово в міру необхідності для назви виконуваного командного рядка та відрегулюйте частини після "-mpass = 15", щоб налаштувати своє ім'я файлу та що воно повинно містити.

Ця відповідь не стосується документів PDF.
Для цього використовується LZMA, а не PPM. Я тримався осторонь від PPM, оскільки є занадто багато варіантів, не сумісних з іншими варіантами. LZMA виглядає більш стабільним, оскільки сумісність підтримується більш широко. Тож я тримався осторонь від PPM саме тому, що, на думку моєї думки, "моя робота, необхідна для використання екзотичних алгоритмів стиснення, не виправдана".


2
LZMA2 значно кращий за LZMA, але призначений для (ефективного) використання лише у 64-бітових системах.
OMY

-3

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

спробуйте виграти дугу безкоштовно і дає коефіцієнт стиснення грет

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.