Явно установить фильтр сжатия изображения
Согласно спецификации формата PDF, он имеет различные фильтры сжатия изображений, в том числе CCITTFaxDecode.
я использую libharu
и необходимо явно установить фильтр сжатия на CCITTFaxDecode для всех изображений в сгенерированном PDF.
Как я могу сказать libHaru
использовать сжатие CCITT для изображений в PDF?
Ниже то, где я сейчас нахожусь.
От libHaru
документация, она имеет HPDF_SetCompressionMode()
функция с аргументом mode
, Аргумент имеет HPDF_COMP_IMAGE
опция включения сжатия изображений. Но не ясно, как выбрать, какой компрессор использовать.
Другое дело, среди libHaru
Исходники есть компрессор CCITT (hpdf_image_ccitt.c
), но я не могу понять, как явно установить его в качестве компрессора для изображений.
Любая помощь с благодарностью.
1 ответ
Мое чтение источника в hpdf_image_ccitt.c состоит в том, что кодер CCITT G4 выбирается автоматически для приемлемых случаев, если HPDF_COMP_IMAGE
включен. См. https://github.com/libharu/libharu/blob/d84867ebf9f3de6afd661d2cdaff102457fbc371/src/hpdf_image_ccitt.c#L779 где это выглядит так.
Обратите внимание, что только черно-белые (1 бит на пиксель) изображения могут быть закодированы CCITT.