【PDF】 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

teiler

知名会员
管理成员
写这个帖子是由于前一阵子看到davidldq兄在一个帖子里提到这个问题。由于那是一个电子书发布帖,不适合继续离题,所以在这里开个新主题。
分享一点心得:在用TIF合成PDF时,可以先用DJVU生成工具(例如DJVU Small)做成DJVU文件,然后用DJVU Toy把DJVU转为PDF,文件大小与DJVU差不多,清晰度也很高。适合600DPI的图片。缺点是显示页面时计算机的压力稍大。用KINDLE DX看时,翻页比较慢。
我今天特地花了点时间研究了一下这个djvutoy转PDF的事儿,结果如david兄所说,文件的确很小(3.7 MB的Djvu转化后的PDF只有4.7 MB,原对应的PDF有28MB)。不过有点问题——应该说是djvu的问 题,那就是djvu体积小,是以有损压缩作为代价的,与直接用Acrobat制作的PDF在视觉上还是稍有差距(虽然Acrobat也可能用有损压缩,但损失较小);而当我们用djvutoy将djvu转化 为pdf后,这个差距也被保留下来了。最终结果就是以部分的视觉损失换取较小的体积。

不过这个结果也让我有兴趣看看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可以大幅压缩文件尺寸,而有损压缩造成的损伤对字母阅读影响不大。
  • 对于中文文字,在一页上重复的概率比较小,有损JBig2压缩的空间不大,而有损算法本身可能会对中文造成损伤,影响阅读效果。
  • 对于不能分割的图像,使用有损JBig2根本没有意义,只会造成图像损失。
另外考虑到对于中文来说建立全局符号表实在没有多大实际意义,所以在选择有损JBig2压缩时,没有生成PDF标准中的JBIG2Globals。
需要注意的是,JBig2算法比传统的CCITT G4算法压缩比更高、制作出来的PDF文件更小,但是先进的东西也有一个毛病:不是所有PDF浏览器都能看的,用Acrobat Reader 7是一点问题没有,其他早期版本,或非Adobe出品的Reader就不敢保证了。所以如果要保证PDF文件的最大兼容性,请将黑白图像压缩算法设置为CCITT G4。
 

古风铃

知名会员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

我曾经尝试用Abbyy 10切割、去污之后经TIF文档再转成PDF文件,文件都要到40M(以德文版《小观念》为例)。在Acrobat 10上用优化功能之后大概可以去到10M以下,不知算不算合理?
话说,用Abbyy直接转化成PDF文档似乎没有直接渠道,不过也可能是我所用源文档的问题。T神可以透露一些攻略
 

teiler

知名会员
管理成员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

我曾经尝试用Abbyy 10切割、去污之后经TIF文档再转成PDF文件,文件都要到40M(以德文版《小观念》为例)。在Acrobat 10上用优化功能之后大概可以去到10M以下,不知算不算合理?
话说,用Abbyy直接转化成PDF文档似乎没有直接渠道,不过也可能是我所用源文档的问题。T神可以透露一些攻略
古兄,对于一本只有106页的书而言,10M已经是一个很大的数字了。我上面例子中提到的书有450页,算下来每页20K左右,你可以根据这个数据自己折算一下。

对于字体比较厚重的图片,这个数字相应会更大一些,但也不应该超过50K。当然,这不是什么科学的说法,完全是我自己的感觉。

我手头有的《现象学的观念》,资源中心发布的Djvu版本是1.2MB,而我自己直接用TIFF转的PDF则有5.8MB。刚才我用Acrobat 的优化功能又将它缩小到2.9MB(回头会用这个版本替换资源中心的DJVU)。

对于Abbyy Finereader,我实在很不熟悉。因为OCR对我来说只有在需要标记PDF文档的时候才需要,所以平时只用Acrobat Pro自带的就够了。不过刚才还是试着摆弄了一会儿。按照道理,Abbyy的正途毕竟是OCR而不是优化图片,所以不能指望它在这一点上能有多大作用。如 果要保留图片,再加上Abbyy的OCR文本,正确的PDF保存方式应当是:
1,点保存选项,PDF标签下,保存模式应选择为“页面图像下方的文本”(该选项将整个页面图像保存为一个图片,并将已识别的文本置于其下。使用该选项创建可进行全文搜索的文档,且该文档看上去几乎与原始文档相同。)
2,图片设置选择自定义,分辨率应当选择300dpi以上为好,或者“随原件”。图片格式根据内容来,一般情况下JBIG2即可。
3,默认纸张大小最好选择“保留原始图像大小”。否则可能会增加许多不必要的空白边缘。
这样你可以直接通过Abbyy得到类似Acrobat Pro 制作出来的PDF,而且带OCR文本。文件会比单纯的图片PDF大1.2M左右(以刚才讲到的书为例),也就是增加的OCR文本的内容。

最后关于图片优化,我还是建议古兄使用ScanKromsator。图片处理是电子书处理的基础,基础不打好,后期怎么努力效果都是有限的。
 

angstyu

活跃会员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

我曾经尝试用Abbyy 10切割、去污之后经TIF文档再转成PDF文件,文件都要到40M(以德文版《小观念》为例)。在Acrobat 10上用优化功能之后大概可以去到10M以下,不知算不算合理?
话说,用Abbyy直接转化成PDF文档似乎没有直接渠道,不过也可能是我所用源文档的问题。T神可以透露一些攻略

finereader10在最后转成pdf的设置里已经提供了相当完备的选项啊,在“保存”——“图片设置”里选择———“自定义”,提供了“分辨率”和“格式”两个选项,其中就有“CCITT4 黑白”和“JBIG2黑白”选项,并且可以选择“JPEG质量”,就我试验了好多西文书的经验,“JBIG2”会比“CCITT4”体积缩小一半还多。。如果不加选择,finereader应该默认的是“CCITT4黑白”格式。兄不妨再试一试,应该会有惊奇效果。:D
 

phie

活跃会员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

Nelson Goodman:Ways of Worldmaking,原PDF文档108M,finereader10处理后保存为pdf,1.3M.
 

teiler

知名会员
管理成员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

Nelson Goodman:Ways of Worldmaking,原PDF文档108M,finereader10处理后保存为pdf,1.3M.
phie兄,你的例子太含糊了,没有实际意义。200多兆的图片处理之后之后两三兆的也很常见。关键还是要看原图片的扫描质量以及页面数。

还有,你得到的最终PDF是什么格式的?是纯文本,还是图片层+文本层?如果是后者,图片分辨率有多少?这些标准不统一,比较就没有意义。

就我对当前话题的理解,我们讨论的是图片格式的PDF文档,分辨率应当在300dpi以上,理想分辨率最好是600dpi。OCR文本层不属于必要的内容。在这个基础上我们再讨论文件大小问题就算有的放矢了。
 

angstyu

活跃会员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

不过这个结果也让我有兴趣看看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 压缩方式不大适合中文书籍。以下引用老马原文:
请教teiler君一个问题。先行谢过。
我今天也在网上下了一个Arcobat Pro X,是portable版的。因此,我不知道是否和安装版在一些默认设置存在差别。
我对你文中提到的,用optimize选项来压缩pdf体积很感兴趣。但是我在选中“optimized PDF”后,出现的setting选项里有三项“standard 、mobile和custom”,请问你说的默认设置,指的是哪一项?我“三个选项”都试了,但是发现对于单色的tiff图片来说,改变的压缩方式,就是“jbig2”和“ccitt4”,如果是这样,为何你文中提到的两种压缩,一种用“jbig2 lossy”,一种用“optimized”,依然会存在体积上的差别呢。还有我怎么没看到你提到的最下方的“ocr选项”?莫非是这个便携版,精简了某些功能?我附上一张截图,还请teiler君看看。
 

teiler

知名会员
管理成员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

请教teiler君一个问题。先行谢过。
我今天也在网上下了一个Arcobat Pro X,是portable版的。因此,我不知道是否和安装版在一些默认设置存在差别。
我对你文中提到的,用optimize选项来压缩pdf体积很感兴趣。但是我在选中“optimized PDF”后,出现的setting选项里有三项“standard 、mobile和custom”,请问你说的默认设置,指的是哪一项?我“三个选项”都试了,但是发现对于单色的tiff图片来说,改变的压缩方式,就是“jbig2”和“ccitt4”,如果是这样,为何你文中提到的两种压缩,一种用“jbig2 lossy”,一种用“optimized”,依然会存在体积上的差别呢。还有我怎么没看到你提到的最下方的“ocr选项”?莫非是这个便携版,精简了某些功能?我附上一张截图,还请teiler君看看。
抱歉,是我忘了提醒大家,在使用optimze功能的时候,不要使用 "Save As" → “Optimized PDF” 功能。这里的优化有个不好的地方,对于同等分辨率下的图片,它不会再进行优化处理。除非你降低分辨率,但那不是我们想要的。

我说的优化功能在这里,你可以通过Tools菜单打开Document Processing 子菜单,第一项就是“Optimize Scanned PDF”。如下图:
tools_menu.jpg

不过默认情况下你看不到这一菜单,你可以通过下图所示打开此选项:
tools_menu_2.jpg

另外你也可以将优化功能的快捷方式添加到快速工具栏(Quick Tools),按照下图标示出的数字顺序操作即可:
tools_menu_3.jpg

下图就是最终的优化功能设置界面:
optimize.jpg

上图中的1即设置优化后的图片质量级别的地方。默认是在最左边的箭头处。不过经过实验,我发现对于600dpi 的清晰图片,中间4处标示了红色箭头的级别最终文件大小相差无几(不过最终图片质量还是稍有差别的)。折中一下的话,我选择图中所示的级别。

上图中的2标示的图片优化的另外几个选项,默认有好几项都是打开的。考虑到我处理的PDF都已经过ScanKromsator处理,基本上都是重复的,所以为了节省优化时间,将这些选项都关闭了。大家可以根据自己的需要调整此处设置。
 
由版主最后修改:

angstyu

活跃会员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

感谢teiler君,虽然没看到图,(😥,图好像挂了),但是找到这一选项了。。感谢。
还有你在主贴中提到的“djvu转pdf”,单色扫描图片,我直接用老马的djvutoy,试验了几次的结果,体积几乎不会膨胀,甚至出现了体积变小的情况,而质量也未见损失。
 

teiler

知名会员
管理成员
回复: 【讨论】关于Djvu转PDF以及Acrobat制作PDF文件大小的问题

感谢teiler君,虽然没看到图,(😥,图好像挂了),但是找到这一选项了。。感谢。
还有你在主贴中提到的“djvu转pdf”,单色扫描图片,我直接用老马的djvutoy,试验了几次的结果,体积几乎不会膨胀,甚至出现了体积变小的情况,而质量也未见损失。
图是好的啊,我这里没问题…… 很奇怪,我换成IE8发现也看不到图了,但FF没问题。

[Edit] IE下看图片有问题的同学,请把访问域名改为 www.renven.net 再试试看。

djvutoy 转化的PDF质量的确与DJVU一致,这点没有疑问。不过前面我也提到制作DJVU过程中的画面损失,用Acrobat 的 optimize 就是想找个折中的办法。具体选择哪样就看个人偏好了,两者没有绝对的好坏。
 
顶部