Целое сжатие PDF - PullRequest
       2

Целое сжатие PDF

5 голосов
/ 09 февраля 2011

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

Я пытался использовать ObjStm, но он не получил большой поддержки от других программ чтения файлов. Мне нужно что-то, что немного больше поддержки за пределами Adobe.

Любые предложения приветствуются!

Ответы [ 3 ]

2 голосов
/ 09 февраля 2011

В PDF вы можете иметь 2 типа сжатия:

  1. сжатие потока - данные сжимаются различными способами, но структура файла PDF не сжимается.
  2. сжатие объектов - вы также сжимаете файловую структуру, в основном объекты, которые не включают потоки.

Это единственные поддерживаемые сценарии сжатия в PDF. Выбор правильного метода сжатия во многом зависит от данных, которые вы хотите сжать: для потоков содержимого страницы обычно используется сжатие Flate, для изображений 1bpp используется CCITT G4 или лучше JBIG2, цветные изображения лучше сжимаются с помощью JPEG2000 и т. Д.

Сжатие объектов доступно с версии Acrobat 6.

1 голос
/ 09 февраля 2011

Ознакомьтесь со спецификацией PDF , раздел 7.5.7 (потоки объектов) и 7.5.8 (потоки перекрестных ссылок).

Я уверен, что iText может читать и записывать эти файлы, но я никогда не использую его таким образом, потому что результаты значительно сложнее отладить. Там может быть образец PDF ... но я не вижу.

Я надеялся, что один из примеров iText в действии 2-го выпуска охватывал потоки объектов, но не нашел его.

1 голос
/ 09 февраля 2011

Вы также можете посмотреть, можете ли вы уменьшить размер данных (т. Е. Являются ли шрифты поднаборами, являются ли изображения с оптимальным разрешением на дюйм, содержит ли файл мертвые объекты).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...