2009-05-04 5 views
6

У меня есть входной файл PDF (обычно, но не всегда сгенерированный pdfTeX), который я хочу преобразовать в выходной PDF, который визуально эквивалентен (независимо от разрешения), он имеет те же метаданные (информация в формате Unicode, гиперссылки, контуры и т. д.), но размер файла как можно меньше.Как оптимизировать размер файла PDF?

Я знаю о следующих методах:

  • java -cp Multivalent.jar tool.pdf.Compress input.pdf (от http://multivalent.sourceforge.net/). Это рекомпрессирует все потоки, удаляет неиспользуемые объекты, объединяет эквивалентные объекты, сжимает пробелы, удаляет значения по умолчанию, сжимает таблицу перекрестных ссылок.
  • Сжатие соответствующих изображений с помощью jbig2 и PNGOUT.
  • Re-encoding Type1 шрифты как шрифты CFF.
  • Объединение эквивалентных изображений.
  • Объединение подмножеств одного шрифта в большее подмножество.
  • Удалить заполненные формы.
  • При дистилляции или другой конвертации (например, gs -sDEVICE=pdfwrite) убедитесь, что он не ухудшает качество изображения и не увеличивает (!) Размеры изображения.

Я знаю о следующих методах, но они не применяются в моем случае, так как у меня уже есть PDF:

  • Используйте меньше и/или меньше шрифтов.
  • Используйте векторные изображения вместо растровых изображений.

Есть ли у вас какие-либо другие идеи по оптимизации PDF?

+2

В настоящее время многозначный: http://downloads.sourceforge.net/project/multivalent/multivalent/Release20091027/Multivalent20091027.jar теперь отсутствует класс tool.pdf.Compress. Это описано здесь: http://sourceforge.net/p/multivalent/discussion/252478/thread/e7850c31/?limit=50#a96d. Знаете ли вы о каких-либо хороших инструментах замены? –

+0

Предыдущие версии Многолистные существуют в Arch Linux: https://aur.archlinux.org/packages/multivalent-pdf-tools/ –

ответ

10

Оптимизация PDF-файлы

Избегайте Пережареный График

Для графики, которые должны быть вставлены в виде растровых изображений, подготовить их к максимальной сжимаемости и минимальных размерам. Используйте изображения наилучшего качества, которые вы можете использовать при выходном разрешении PDF. Вставка сжатых JPEG-файлов в PDF-файлы и их дистилляция могут повторно сжать JPEG-файлы, которые могут создавать заметные артефакты. Используйте черно-белые изображения и текст вместо цветных изображений, чтобы использовать новый стандарт JBIG2, который отличается монохроматическим сжатием. Обязательно отключите эскизы при сохранении PDF-файлов для Интернета. Использование векторной графики

Используйте графику на основе вектора, где это возможно, для изображений, которые обычно были сделаны в GIF. Векторные изображения масштабируются отлично, выглядят изумительно, и их математические формулы обычно занимают меньше места, чем растровая графика, описывающая каждый пиксель (хотя есть некоторые случаи, когда растровая графика на самом деле меньше векторной графики). Вы также можете сжимать данные векторного изображения, используя ZIP-сжатие, которое встроено в формат PDF. Acrobat Reader версии 5 и 6 также поддерживают стандарт SVG. Минимизировать шрифты

Как вы используете шрифты, особенно в небольших PDF-файлах, может существенно повлиять на размер файла. Минимизируйте количество шрифтов, используемых в ваших документах, чтобы свести к минимуму их влияние на размер файла. Каждый дополнительный полностью встроенный шрифт может легко принимать 40K в размере файла, поэтому большинство авторов создают «подмножество» шрифтов, которые включают только используемые глифы. Сплошные жирные формы

Форматы Acrobat могут занимать много места в ваших PDF-файлах. Новое в Acrobat 8 ​​Pro вы можете сгладить поля формы в диалоговом окне Advanced -> PDF Optimizer -> Discard Objects. Сглаживание форм делает поля формы непригодными для использования, а данные формы объединяются со страницей. Вы также можете использовать PDF Enhancer от Apago, чтобы уменьшить формы на 50%, удалив информацию, содержащуюся в файле, но никогда не использовав ее. Вы также можете объединить обновленный PDF-файл со старыми страницами форм для создания гибридного PDF-файла в Acrobat (см. Раздел «Refried PDF» ниже).

см article

+0

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

4

Из спецификации в формате PDF версии 1.5 есть два новых метода сжатия, объектных потоков и потоков перекрестных ссылок.

Вы упомянули, что инструмент сжатия Multivalent.jar сжимает таблицу перекрестных ссылок. Обычно это означает, что таблица перекрестных ссылок преобразуется в поток и затем сжимается.

Формат этого потока перекрестных ссылок не является фиксированным. Вы можете изменить размер бита трех «столбцов» данных. Также возможно предварительно обработать данные потока с помощью функции прогнозирования, которая улучшит уровень сжатия данных. Если вы заглянете в PDF с помощью текстового редактора, вы можете найти запись /Predictor в словаре перекрестных ссылок, чтобы проверить, использует ли этот инструмент эту функцию.

Использование предиктора при сжатии также может быть полезно для изображений.

Предлагаемый второй тип сжатия - использование потоков объектов.

Часто в формате PDF у вас есть много похожих объектов. Теперь их можно объединить в один объект, а затем сжать. В документации для инструмента Multivalent Compress упоминается, что потоки объектов используются, но не имеют большого количества сведений о фактическом выборе того, какие объекты группируются вместе. Сжатие будет лучше, если вы группируете подобные объекты вместе в поток объектов.