使用ddjvu将DjVu转PDF时出现「Creating TIFF with legacy Deflate codec identifier」警告的原因咨询
ddjvu将DjVu转PDF时出现「Creating TIFF with legacy Deflate codec identifier」警告的原因咨询
嗨,我来帮你拆解这个警告背后的原因~
先对齐一下你的实际场景:
直接用基础命令转换时会弹出这个TIFF编码警告:
ddjvu -format=pdf input.djvu output.pdf对应的警告内容:
TIFFWriteDirectorySec: Warning, Creating TIFF with legacy Deflate codec identifier, COMPRESSION_ADOBE_DEFLATE is more widely supported.
但只要加上
-quality或者-mode参数,比如这两个命令:ddjvu -format=pdf -quality=100 input.djvu output.pdfddjvu -format=pdf -mode=black input.djvu output.pdf警告就彻底消失了。
这核心原因其实是ddjvu在不同参数下的图像处理路径完全不同:
- 当你不指定
-quality或-mode时,ddjvu会走默认的兼容处理流程:它会先把DjVu里的图像内容转成TIFF格式作为中间产物,而这个默认流程用了旧版的Deflate压缩编码标识——这个标识是TIFF早期的实现方式,现在COMPRESSION_ADOBE_DEFLATE才是兼容性更广泛的标准,所以TIFF底层库就抛出这个警告提醒你。 - 当你加上
-quality参数时,ddjvu会切换到JPEG压缩优化的处理路径:它直接把DjVu中的图像编码成PDF原生支持的JPEG块,完全跳过了旧TIFF中间格式的环节,自然不会触发警告。 - 当你指定
-mode=black这类模式参数时,程序会切换到黑白二值图像的专属逻辑:生成的是更紧凑的二值化图像数据,同样不会走默认的旧TIFF编码流程,警告也就不会出现了。
说白了就是,默认模式为了兼容旧逻辑用了过时的TIFF编码,加参数后走了更适配PDF标准的新处理路线,就避开了这个问题~
备注:内容来源于stack exchange,提问作者jsx97
相关产品推荐
相关产品推荐

