PDG转图像、PDF的若干方法作者:马健 一、前言 一、前言 PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器才能阅读。本文讨论PDG转图像、PDF的方法,仅出于研究目的,并无意对超星公司的版权进行任何形式的侵犯,也不希望任何人用本文讨论的工具或方法从事侵权活动。如果需要浏览PDG电子书,请通过购买点卡等方式,以合法的途径获得。 本文假定用户通过合法的手段获得PDG文件,只是由于希望能够在比超星浏览器更好、更方便的浏览器上阅读,并且不对转换出来的文件进行扩散的情况下,才需要将PDG文件转换成图像文件或PDF文件。 二、截图法 简单点说,就是通过截图的方法,直接将超星浏览器中显示的内容,截为图片,再将图片转换成PDF文件。 这个方法可能是世界上最简单、最朴素,也是最容易想到的方法,并且对于所有版本的超星浏览器和所有能够正常显示的PDG文件均适用。制约这个方法的因素包括:
总之,截图发虽然有一些限制,用起来也比较麻烦,但很难被超星屏蔽,不失为一种终极的方法。 三、打印法 即在超星浏览器中发布打印命令,将正在浏览的PDG文件打印到PDF虚拟打印机(包括Acrobat PDF打印机、PDFFactory打印机等),成为PDF文件。 这种方法也是较早被用于转换PDG文件的方法之一,而且用起来非常简单、方便,因此广为流传,导致后来超星阅读器针对这种方法加了一些限制,但是这些限制很快就被突破,然后双方就这样乐此不彼、义无反顾、周而复始地一轮、一轮折腾下去。虽然在无关的人看来有点无聊,但是投身其中的人经常都会为每一个微小的突破而激动 ,还真是有精神寄托的人生。 目前制约这个方法的因素包括:
总之,在我看来,打印法虽然简单方便,打印黑白图像也问题不大,但是打印灰度/彩色图像会出现图像质量衰减或文件膨胀等问题,所以至少我自己不到不得已是不会用的。 BooX Viewer是Momotalo、ShunCox、dd321等合作开发的一款轻量、绿色PDG浏览器,无需安装,单独一个EXE文件即可运行,并且能够直接读取ZIP文件中的PDG文件等,这些都比原版超星浏览器强,也导致了它的流行。 早期版本的BooX Viewer提供一个“转换到DjVu”功能,该功能先将PDG文件转换成BMP,再转换成DjVu文件。因此也有人利用此功能的前半部分,先将PDG文件转换成BMP,再将BMP转换成PDF。不过这个功能在后来的版本中已经取消了,并且加了一些类似广告的限制。 BooX Viewer的开发基于对PDG文件格式的分析,不需要超星浏览器或DLL的支持,并且能够解码加密的10H等格式,这些都让我对其开发者充满了敬意。 这个软件是coolman开发的,对PDG的支持(包括OCR)基于超星Pdg2控件,对图像、PDF的支持基于Pegasus ImagXpress Professional控件,运行前需要先注册控件。 这个软件的发行范围很窄,最新版是多少我也不知道,只能以我手上现有的3.8b0419版来说事。在使用这个版本的过程中,我发现它存在下列限制:
虽然有一些问题,但是这个软件支持加密的AAH格式等(除该软件外,coolman还开发了一些独立运行的PDG解密软件),这些都让我对coolman及其作品充满敬意。 六、Pdg2Pic 在发现coolman的pdg2bmp&jpg&tif&pdf&txt会占用系统剪贴板后,我google了一下,还真查到了一段源代码,虽然我不可能看到pdg2bmp&jpg&tif&pdf&txt的源代码,但我相信它的核心应该与这段代码相似。不过在多看了两遍这段代码后,我觉得既然已经用了Pdg2控件,为什么不用它提供的其它接口获取图像,干嘛非要用系统剪贴板?为了证实我的想法的可行性,我花了点时间写了Pdg2Pic这个软件,顺便对我在使用pdg2bmp&jpg&tif&pdf&txt过程中发现的一些问题做了改进,包括:
由于我没有时间对加密PDG文件进行研究,因此Pdg2Pic不像pdg2bmp&jpg&tif&pdf&txt那样支持众多加密PDG格式。如果在Pdg2Pic统计的文件类型中出现加密格式,需要用1xhkillerfull、aahkiller等进行解密,然后再用Pdg2Pic进行转换。如果您原意提供PDG文件解密算法或代码,欢迎与我联系。 七、方法之比较与展望 上面介绍了一些PDG转图像、PDF的方法,说句实在话,我认为没有一种方法是完美的,多多少少都有点毛病。而且在我看来,对于一个真正的PDG转PDF软件,至少还要解决以下问题:
现在最后一个问题可以通过FreePic2Pdf 1.01版解决,第二个问题可以通过超星章节目录提取器(SSContent)部分解决,其它问题解决起来都有点难度,不知道有多少人原意去做?至少我自己是没打算要去做,但是我很期待看到其他高手能够解决这些问题,推出更好的PDG转PDF工具。 八:题外话:图像转PDF 本文的题目叫《PDG转图像、PDF的若干方法》,但是前面讨论的某些方法,如截图法只能得到图像,不能直接得到PDF文件,因此自然还需要讨论一个问题:怎样将图像转换成PDF文件? 别人怎么想的我不知道,我自己认为比较好的转换方法有两种: 1、用Adobe Acrobat Professional的Create PDF from Multiple Files,而不用它的虚拟打印机 这种方法的优点是:
这种方法的缺点是:
2、用FreePic2Pdf 这种方法的优点是:
这种方法的缺点是:
总之,现在也没有十全十美的图像转PDF软件,也许这样的方法会是更好的选择:转换还是用支持JBIG2和JPEG 2000的Acrobat转,但是做一个小程序,将它转出来的PDF文件的黑白图像的背景改为透明。由于是单纯的字符替换,所以软件很好写,并且不需要其它第三方代码或控件的支持。 |
转载于:https://www.cnblogs.com/HappyQQ/archive/2008/01/07/1029354.html