Теперь вопрос: я знаю, что если я использую /Filter /FlateDecode и смогу объединить /DecodeParms с Predictor 2, растровые изображения из изображений TIFF будут сжиматься намного лучше. Например, окончательный PDF-файл будет содержать:
Код: Выделить всё
/DecodeParms
Код: Выделить всё
import zlib
# compress dictionary using dictionary, zlib stream in z
# bitmap is an uncompressed data from a TIFF image
d = b'abcdefghijklmnopqrstuvwxyz'
c = zlib.compressobj(zdict=d)
z = c.compress(bitmap)
z += c.flush()
Даже не знаю, поддерживает ли Predictor 2 лучший вариант и как его изменить.
Я знаю, какие изображения я собираюсь сжать: все 8-битные, некоторые монохромные (1 канал), некоторые CMYK с один канал, содержащий информацию, некоторые CMYK с разным сплошным цветом области одного цвета, с 10 разными значениями и множеством пустых (белых) областей (т. е. 0 во всех 4 каналах)
Другими словами, я знаю, что в растровых изображениях я хочу для сжатия будут часто появляться разные комбинации байтов, но я не знаю, как перенести эти знания в данные словаря.
Кроме того, поскольку меня не волнует время сжатия, которое параметр уровня (от 0 до 9) наиболее рекомендуемый по размеру и производительности декомпрессии?
Спасибо,
Игнасио
Подробнее здесь: https://stackoverflow.com/questions/792 ... erting-the