коротко:
Щоб знати, чи вона вже стиснута:
strings your.pdf | grep /Filter
Щоб (не) стиснути PDF, використовуйте QPDF
qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf
пояснення:
Ключове слово "Фільтр" всередині файлу PDF - це показник використовуваного методу стиснення. Деякі з них:
CCITT G3 / G4 - використовується для монохромних зображень
JPEG - алгоритм втрат, який використовується для зображень
JPEG2000 - більш сучасна альтернатива JPEG, яка також використовується для стиснення зображень
Flate - використовується для стиснення тексту, а також зображень
JBIG2 - альтернатива Стиснення CCITT для монохромних зображень
LZW - використовується для стиснення тексту, а також зображень, але замінюється Flate
RLE - використовується для монохромних зображень
ZIP - використовується для кольорів сірого або кольорового зображення
(скопійовано звідси ).
Однак, зважаючи на складну структуру файлів PDF, більшу частину часу якась частина (або "потік") PDF буде стискатися вже певним чином (і відображатиметься під час копіювання / фільтру), тоді як інша частина не буде, так немає відповіді ТАК / НІ на питання, чи стискається PDF-файл.
Одним із способів подолати це було б додати -c
параметр grep, який повертає кількість подій, щоб ви могли відносно добре стискати його. наприклад, якщо повертається менше 10, це дуже не стиснуто.strings
"large
.pdf" | grep -c /Filter
Ще одна властивість, що стосується розміру в PDF-файлах, полягає в тому, чи вони були оптимізовані для швидкого доступу, причому "оптимізовані" PDF-файли мають більший розмір, цитуючи з wikipedia :
Для файлів PDF є два макети: нелінійна (не "оптимізована") та лінійна ("оптимізована"). Нелінійні PDF-файли займають менше дискового простору, ніж їх лінійні аналоги, хоча вони доступні повільніше, оскільки частини даних, необхідні для збирання сторінок документа, розкидані по файлу PDF. Лінійні PDF-файли (також їх називають "оптимізованими" або "оптимізованими веб-файлами" PDF-файли) побудовані таким чином, що вони можуть читати їх у плагіні веб-браузера, не чекаючи завантаження всього файлу, оскільки вони записуються на диск у лінійна (як у порядку сторінки) мода. PDF-файли можуть бути оптимізовані за допомогою програмного забезпечення Adobe Acrobat або QPDF.
Ви можете перевірити, чи оптимізовано PDF-файл за допомогою pdfinfo your.pdf
.
file
. Він повинен показувати, стискається чи ні файл.