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