写这个帖子是由于前一阵子看到davidldq兄在一个帖子里提到这个问题。由于那是一个电子书发布帖,不适合继续离题,所以在这里开个新主题。
不过这个结果也让我有兴趣看看Acrobat 转换PDF的相关设置,结果也是有了一点收获。最新版本的Acrobat Pro X 当中,默认对于TIFF格式的图片采用JBIG2 (Lossless) 的压缩,而老马的软件则一般使用JBIG2 (Lossy) 压缩,这让我觉得Acrobat 制作的PDF还有进一步压缩的余地。结果不出所料,原来使用JBIG2 (Lossless) 最后体积为28MB的PDF,在换成JBIG2 (Lossy)之后变成了9.4 MB。
还有一种压缩PDF的方式则是使用Acrobat自带的optimize功能。同样上面那个28MB的文档,在使用opmtize功能之后(使用默认设置,但去除最下方的OCR选项),结果最终文件只有8.8 MB。看起来也是个很不错的优化方式。
相比DJVU转PDF,以上两个方式得到的PDF质量更好一些,文件大小也属于可接受范围。
关于JBIG2压缩,还有一点,是老马在FreePic2PDF软件的说明中提到的,那就是JBIG2 Lossy 压缩方式不大适合中文书籍。以下引用老马原文:
我今天特地花了点时间研究了一下这个djvutoy转PDF的事儿,结果如david兄所说,文件的确很小(3.7 MB的Djvu转化后的PDF只有4.7 MB,原对应的PDF有28MB)。不过有点问题——应该说是djvu的问 题,那就是djvu体积小,是以有损压缩作为代价的,与直接用Acrobat制作的PDF在视觉上还是稍有差距(虽然Acrobat也可能用有损压缩,但损失较小);而当我们用djvutoy将djvu转化 为pdf后,这个差距也被保留下来了。最终结果就是以部分的视觉损失换取较小的体积。分享一点心得:在用TIF合成PDF时,可以先用DJVU生成工具(例如DJVU Small)做成DJVU文件,然后用DJVU Toy把DJVU转为PDF,文件大小与DJVU差不多,清晰度也很高。适合600DPI的图片。缺点是显示页面时计算机的压力稍大。用KINDLE DX看时,翻页比较慢。
不过这个结果也让我有兴趣看看Acrobat 转换PDF的相关设置,结果也是有了一点收获。最新版本的Acrobat Pro X 当中,默认对于TIFF格式的图片采用JBIG2 (Lossless) 的压缩,而老马的软件则一般使用JBIG2 (Lossy) 压缩,这让我觉得Acrobat 制作的PDF还有进一步压缩的余地。结果不出所料,原来使用JBIG2 (Lossless) 最后体积为28MB的PDF,在换成JBIG2 (Lossy)之后变成了9.4 MB。
还有一种压缩PDF的方式则是使用Acrobat自带的optimize功能。同样上面那个28MB的文档,在使用opmtize功能之后(使用默认设置,但去除最下方的OCR选项),结果最终文件只有8.8 MB。看起来也是个很不错的优化方式。
相比DJVU转PDF,以上两个方式得到的PDF质量更好一些,文件大小也属于可接受范围。
关于JBIG2压缩,还有一点,是老马在FreePic2PDF软件的说明中提到的,那就是JBIG2 Lossy 压缩方式不大适合中文书籍。以下引用老马原文:
Q:有损JBig2适用于哪些环境?
A:有损JBig2适用于以字母文字为主的黑白图像,对于以中文文字或图形为主的黑白图像,建议使用无损JBig2,理由如下:
另外考虑到对于中文来说建立全局符号表实在没有多大实际意义,所以在选择有损JBig2压缩时,没有生成PDF标准中的JBIG2Globals。
- 对于字母文字,在一页上字母重复的概率比较大,用有损JBig2可以大幅压缩文件尺寸,而有损压缩造成的损伤对字母阅读影响不大。
- 对于中文文字,在一页上重复的概率比较小,有损JBig2压缩的空间不大,而有损算法本身可能会对中文造成损伤,影响阅读效果。
- 对于不能分割的图像,使用有损JBig2根本没有意义,只会造成图像损失。
需要注意的是,JBig2算法比传统的CCITT G4算法压缩比更高、制作出来的PDF文件更小,但是先进的东西也有一个毛病:不是所有PDF浏览器都能看的,用Acrobat Reader 7是一点问题没有,其他早期版本,或非Adobe出品的Reader就不敢保证了。所以如果要保证PDF文件的最大兼容性,请将黑白图像压缩算法设置为CCITT G4。