Подтвердить что ты не робот

Сжаты ли все файлы PDF?

Итак, в PDF-сжатии есть некоторые темы, говорящие о том, что некоторые, но не многие из них, получают сжатие PDF файлов, поскольку PDF файлы уже сжаты.

Мой вопрос: это верно для всех PDF файлов, включая более старую версию формата?

Также я уверен, что это возможно для кого-то (возможно, идиот) разместить растровые изображения в формате PDF, а не JPEG и т.д. Наша компания имеет множество PDF файлов в своих БД (возможно, некоторые более старые форматы). Мы рассматриваем возможность использования gzip для сжатия во время передачи, но не знаем, стоит ли его хлопот

4b9b3361

Ответ 1

PDF файлы обычно используют внутреннее сжатие для объектов, которые они содержат. Но это сжатие отнюдь не является обязательным в соответствии со спецификациями формата файла. Все (или некоторые) объекты могут казаться полностью несжатыми, и они все равно будут делать допустимый PDF.

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

Итак, чтобы ответить на ваш вопрос: Нет, вы не можете предположить, что сжатие gzip добавляет только хлопот и никакой выгоды. Вы должны проверить его с помощью репрезентативного набора ваших файлов. Просто gzip их и обратите внимание на используемое время и сохраненное пространство.

Это также зависит от типа программного обеспечения для производства PDF, которое было использовано...

Ответ 2

Вместо применения сжатия gzip вы получите гораздо лучший выигрыш, используя утилиты PDF, чтобы применить сжатие к содержимому в формате, а также удалить такие вещи, как ненужные встроенные шрифты. Такие утилиты могут уменьшать количество изображений и применять надлежащее сжатие изображений, что было бы гораздо более эффективным, чем gzip. JBIG2 может применяться к двууровневым изображениям и является чрезвычайно эффективным, а JPEG можно применять к естественным изображениям с выбранным уровнем качества, соответствующим вашим потребностям. В Acrobat Pro вы можете использовать Advanced → PDF Optimizer, чтобы узнать, где используется пространство и выборочно атаковать этих потребителей. Существует также общий документ → Уменьшить размер файла, чтобы автоматически применять эти сокращения.

Update:

У Ika answer есть ссылка на утилиту оптимизации PDF, которую можно использовать с Java. Вы можете посмотреть их пример кода Java там. Этот код перечисляет именно то, о чем я упоминал:

  • Удалите дублированные шрифты, изображения, профили ICC и любой другой поток данных.
  • Опционально конвертировать высококачественные или готовые к печати PDF файлы в небольшой, эффективный и готовый к использованию в сети PDF.
  • Необязательно сбрасывать большие изображения в заданное разрешение.
  • Возможность сжатия или повторного сжатия изображений в формате PDF с использованием форматов сжатия JBIG2 и JPEG2000.
  • Сжатие несжатых потоков и удаление неиспользуемых PDF-объектов.