设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 1899|回复: 1

PDG转PDF注定会文件膨胀、质量下降吗?[转贴]

[复制链接]
  • TA的每日心情
    开心
    2017-12-31 02:10
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    累计签到:13 天
    连续签到:1 天
    发表于 2008-4-17 13:38:59 | 显示全部楼层 |阅读模式

    马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

    您需要 登录 才可以下载或查看,没有账号?立即加入

    ×
    作者:马健# L# L6 T: N6 h0 A. @
    邮箱:stronghorse@tom.com6 D9 @: ^/ y/ C4 G$ x
    主页:http://stronghorse.yeah.net
    ) E' U+ u( n/ X  M" ^% N, j发布:2006.07.16
    0 `/ K) F2 ^1 d3 s6 D2 B  `+ I) @% Y更新:2006.07.20
    # w* u, r- q/ v- o% l4 _3 N' v2 X/ k; M4 J' b# l8 }: Y
    事先声明:
    4 N+ W5 s8 y: p# F$ p/ W5 q% }8 L" }1 w
    PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器才能阅读。本文讨论PDG转PDF的方法,仅出于技术研究目的,并无意对超星公司的版权进行任何形式的侵犯,也不希望任何人用本文讨论的工具或方法从事侵权活动。如果需要浏览PDG电子书,请通过购买点卡等方式,以合法的途径获得。本文 认为用户通过合法的手段获得PDG文件,只是由于希望能够在比超星浏览器更好、更方便的浏览器上阅读,并且不对转换出来的文件进行扩散的情况下,才需要将PDG文件转换成PDF文件。- Q. w3 U1 Y; `6 C
    本文所说PDG,是指最常见的纯图像格式PDG文件,不包括罕见的文本、PDF、HTML等格式的PDG文件。
    . p2 u+ J0 e  Z9 z+ T. h) c4 P对于标题所提问题,我的回答是:大多数情况下转换后文件长度应该相当,略有增加或减少,质量应该保持不变。如果文件长度、画面质量差很多,多半是用错了方法或软件。本文将说明理由。
    % ^5 s- p1 g) z" `# D% P2 t% X. s' ?1 k" ]! B. ^$ V
    注意在上面的回答中我使用了“大多数”等表示概率的词汇,因此在讨论答案之前,需要先对PDG文件格式进行分类,并估计每种PDG文件出现的可能性。
    4 E# y7 [1 v, s* N* e+ ?+ X; z, h, D% a+ E# t
    目前比较流行的分类方法是按照PDG文件第16字节分类,通常PDG文件格式检查软件都是按照这个字节的16进制报告文件类型,如00H、02H、03H、04H、05H、10H、11H、AAH、ACH、64H、66H等等。由于这种分类法分出来的类型较多(理论上有256种),所以通常也按字节高4位进行归类,简称0xH、1xH、AxH、6xH等。
    2 Z# e" B: P3 V1 |) c* g, l
    / Z% b. u0 g/ E3 l/ R" {/ G这种分类方法可以表示出PDG文件的加密特征:
    $ P; ^: n( {1 ~! U/ a: H- Q7 m$ \' D2 l) U6 f. |
    00H是最早,也是最原始的PDG格式,其格式为:PDG文件头+原始图像数据流。原始图像数据流包括CCITT G4(黑白图像)、JPG(彩色/灰度)、DjVu(黑白/彩色/灰度)。在超星服务器上,这种格式的文件已经非常少见,但是由于这种格式阅读的时候不需要解密,因此阅读 时的速度感觉比其它格式的要快,所以也有人用第三方软件自己将其它格式转换成00H格式。" }6 K. Q+ B  J" w4 k8 K
    0xH是对00H的弱加密格式,通常02H、03H用来加密CCITT G4图像,04H加密JPG,05加密DjVu。顺便说一句,可能是为了尽量减小文件长度,超星在压制DjVu时,用的都是有损压缩,可能会对汉字笔划造成损伤,这也是为什么经常听到有人说05H不如02H清晰的原因之一。
    / \; q* q8 Q! `" W. o* W7 A3 g1xH是比0xH更强的加密,加密方法不再与原始图像格式对应,如11H可以加密CCITT G4,也可以加密JPG、DjVu。
    3 L. _: c1 |8 M' Z8 l. ?4 `AxH的加密强度比1xH更强,加密方法也不与原始图像格式对应。正版超星浏览器如果下载到AxH格式的PDG,会将其完全破坏后变成FFH格式的PDG。
    4 C9 W: W" B* E, w5 X( Y* b4 O( \6xH是正版超星浏览器从服务器下载到PDG文件后在本地加密生成的文件。由于6xH加密使用了本地硬盘“指纹”,因此只能在下载的机器上看,换一台就不能看。7 ^  |6 _" }0 ^; f
    但是加密方法毕竟是超星自己的事,用这种分类方法往PDF格式上套未免有点难。所以我更愿意用另一种分类标准:超星浏览器自带的Pdg2控件的GetImageType方法的返回值。这个方法通常返回1、2、3,在Pdg2Pic中分别用T1、T2、T3表示,即Type1、Type2、Typ3的意思,分别对应三种图像:
    * N* T. D0 n3 N5 {1 i, U' q4 S4 L* ~1 `
    T1:黑白图像,原始图像格式为CCITT G4或DjVu。
    - J! J$ k; x7 G6 j9 Z  p8 y$ ?T2:灰度/彩色图像,原始图像格式为JPG或DjVu。可能超星觉得扫描时区别灰度、彩色太麻烦了,所以灰度图像一律按彩色存储,这 也是国内扫描外包商的通常做法,但是对技术较真的客户一般会要求外包商举行区别。
    / m8 J6 o/ `: y) V% h/ ], OT3:多层图像,底层黑白文字层通常用CCITT G4,上层插图用JPG。我猜测这种类型应该是在DjVu基础上发展出来的,符合“按需存储”的原则:对于重要的文字层使用无损压缩,对于相对不重要的插图则用有损压缩存储。9 O5 C  Z+ c0 S( x4 h
    从出现的概率来说,这三种格式按从高到低排列依次是T1、T3、T2:& e  y  R) u0 \! R6 U7 v

    - g. ]1 N7 W7 |& m最常见的格式还是T1,毕竟大多数书籍都是白纸黑字。5 D" i3 z/ E- E; t4 G: L
    T3出现的概率比T1小,一般用于图文混排的插图页,或某些彩印书籍。4 s8 F* p) `! u
    T2出现的概率最小,毕竟除了封面和某些特殊书籍外,整页都是图的情况在一本书里也不会有几页,而封面、封底还有很大一部分直接用JPG文件存储。9 c; H2 L8 L" a3 j
    在转换成PDF时,正常情况下这三种格式与PDF中压缩算法的对应关系为:" j! p! P' q1 H$ C
    5 U5 \1 j; G% q! Z
    T1:CCITT G4或JBig2。- N- p: K2 B, L6 |8 ]/ m
    T2:JPEG或JPEG 2000。. k7 A. G2 R& a3 A- e- H
    T3:这个比较复杂,取决于转换软件:可以转换成多层PDF,也可以将PDG中的所有层合并成一个图像再放入PDF。% B0 Q/ e. E9 [: k1 \
    如果T1原始图像是CCITT G4,转换成PDF的CCITT G4后文件尺寸会略有膨胀,因为PDF文件本身要增加一些必要的格式信息;如果转换成PDF的JBig2,通常文件尺寸不会增加,只会减少,毕竟JBig2的压缩算法要比CCITT G4更先进。/ U  d0 D% y! c( n

    3 g" L, T: h- Y8 \( d如果T1原始图像是DjVu,转换成PDF的CCITT G4后文件无疑将会膨胀;转换成JBig2则取决于是有损JBig2还是无损JBig2。理论上说,DjVu对黑白图像的压缩能力与JBig2相当,但由于超星用的全是有损DjVu,因此转换成PDF时只有选有损JBig2才能保持二者尺寸 大致相当,选无损JBig2则会造成文件膨胀。由于有损压缩会对汉字笔划造成损伤,因此我宁愿文件长度膨胀,也不愿选择有损。( w' O& B6 \+ M/ M1 o$ R% L

    8 y8 ~! h) [5 w( A9 _7 u如果T2原始格式是JPG,转换结果取决于转换软件:如果转换软件能够直接从PDG文件中提取原始JPG数据流嵌入PDF,则PDF文件只会略有膨胀 ,质量不变;如果转换软件非要把PDG先解码成BMP再压缩成JPG或JPEG 2000放到PDF里,文件长度可能增加也可能减小,取决于所选的压缩比,但是在缺省的压缩比下,质量下降是注定了的。
    ; u, Q: P5 K- n* ~: _/ h  u) d
    ( c! S/ I  [7 o如果T2原始格式是DjVu,用于目前的PDF规范不支持DjVu(不排除将来会支持),因此只能将DjVu先解码成BMP再压缩成JPG或JPEG 2000放到PDF里,文件长度可能增加也可能减小,质量多半会下降。
    * c) v5 L% ]4 @2 J/ @0 [, r% v. |2 {, p8 g9 Z6 F% n
    对于T3,如果转换软件能够直接从PDG文件中提取原始JPG数据流嵌入PDF文件,并且用无损JBig2压缩原CCITT G4图像,则PDF文件尺寸会减小,同时质量不变;如果转换软件非要把多层合并成一层,再压缩成JPG或JPEG 2000放到PDF里,通常文件长度会增加,质量会下降:JPG或JPEG 2000都不适合压缩文字图像。
    1 Z% x" V3 O6 n& t2 G* Y9 X# W3 s1 A: ]; \4 @# {& E" h9 M
    综上所述,从原理上说,对于最常见的黑白PDG,转换成PDF后应该长度略有减少,质量保持不变;对于带插图的多层PDG,转换成PDF后应该长度略有减少,质量保持不变;对于纯图像页面的PDG,转换后长度可能略有增加而质量不变,也可能长度、质量都有较大变化,但是这种页面毕竟不多。
    # C+ |" m9 N+ y3 n- W  G& B* R9 P* B2 t+ A+ g! _
    现在各位明白我在本文开始部分给出的回答的含义了吧?$ b1 `" }$ u: c; F- R: l

    5 h" Q! b0 }* H0 w6 E0 h" }3 {0 e/ w在明白的同时,我相信也会有人合理地引伸出另外一个问题:为什么现在大家看到从PDG转出来的PDF,会和原始PDG差那么多?( E2 j0 N) |' Q
    6 U+ a0 n8 C7 }: J+ N1 y$ ]
    我认为这方面最大的罪魁祸首就是广为流传的“打印大法”:将PDG文件直接从超星浏览器打印到虚拟PDF打印机。这种方法的制约因素我已经在《PDG转图像、PDF的若干方法》一文中加以说明,对转换出来的PDF举行分析所需的工具和方法,也在《图像转PDF的问题、方法及题外话》一文中详细说明,喜欢较真的人不妨自己验证,这里我只说我的结论:只要用打印的方法,不论如何石皮解、如何发现新的突破方法,打出来的PDF文件膨胀、质量下降那是注定了的,想改都难,更何况还会受到软件方面的种种限制 ,所以奉劝各位还是趁早放弃。  g/ _4 c6 W" q8 A" ?5 ]

    ! g; B7 I# Y" @+ S另外一种所谓“利用中间BMP”的转换方法也会产生问题:有人先用BooX Viewer或其它软件将PDG转换成BMP,再用Acrobat或其它软件将BMP转换成PDF。这种方法只能将T1图像无损转换成PDF;对于T2、T3,由于很难将BMP图像无损存入PDF(那样尺寸膨胀太过厉害),只能再压缩成JPG或JPEG 2000后存入PDF,因此质量下降、尺寸膨胀等问题是免不了的。
    # f& N* w1 k) z* \
    $ f. g1 a( l% j! h" O7 L那么什么样的方法才是正确的转换方法呢?
    # Z7 ]6 n% `2 \( Q% N- h4 B, R
    - u- T7 b, B! d% \# U  G我的回答是:条条大道通罗马,只要抛弃表层皮毛的束缚,直接深入到文件格式内部,就可以找到好的方法。就我自己来说,最常用的组合是Pdg2Pic+FreePic2Pdf:
    3 u& s5 b+ l% T. E- v$ N$ W) J9 i
    先用Pdg2Pic将PDG直接解码成常规图像文件。能够将PDG转图像的软件不少,但是Pdg2Pic对除彩色/灰度DjVu外的图像都能无损转换,尤其是对多层PDG的无损分解,目前是独一无二的。+ H9 ^8 m1 q8 O0 b5 i
    再用FreePic2Pdf将Pdg2Pic的结果合并成PDF,黑白图像用缺省的Jbig2无损就好。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    楼主热帖

    相关帖子

    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    郁闷
    2020-7-2 20:18
  • 签到天数: 98 天

    连续签到: 1 天

    [LV.6]常住居民II

    累计签到:98 天
    连续签到:1 天
    发表于 2008-6-9 13:20:42 | 显示全部楼层
    但是现在超星好像也变聪明了,以前书可以下载到机子上,用onetwo传的哪个先转图片,再转PDF的方法是可以。现在有的书好像已经不能下载到机子上,只能在线看了,在这种情况下怎么办呢?
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2025-6-14 09:05

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表