显式设置图像压缩过滤器

Explicitly set image compression filter

根据PDF format spec,它有各种图像压缩过滤器,包括CCITTFaxDecode

我正在使用 libharu 并且需要为生成的 PDF 中的所有图像显式地将压缩过滤器设置为 CCITTFaxDecode。

如何告诉 libHaru 对 PDF 中的图像使用 CCITT 压缩?

下面是我现在所在的位置。

libHaru 文档中,它有 HPDF_SetCompressionMode() function,其参数名为 mode。该参数具有启用图像压缩的 HPDF_COMP_IMAGE 选项。但是不清楚如何选择使用哪种压缩器。

另一件事,在 libHaru 个源文件中有 CCITT 压缩器(hpdf_image_ccitt.c),但我不知道如何明确地将其设置为图像压缩器。

非常感谢任何帮助。

我对 hpdf_image_ccitt.c 中源代码的解读是,如果启用 HPDF_COMP_IMAGE,则为符合条件的实例自动选择 CCITT G4 编码器。请参阅 https://github.com/libharu/libharu/blob/d84867ebf9f3de6afd661d2cdaff102457fbc371/src/hpdf_image_ccitt.c#L779 了解情况。

请注意,只能对黑白(每像素 1 位)图像进行 CCITT 编码。