摘要:这篇文章主要针对超星pdg格式转换成pdf的若干方法的比较,以及打印法的具体实现步骤。
一、前言
PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器才能阅读。
本文讨论PDG转图像、PDF的方法,仅出于研究目的,并无意对超星公司的版权进行任何形式的侵犯,也不允许任何人用本文讨论的工具或方法从事侵权活动。如果需要浏览PDG电子书,请通过购买点卡等方式,以合法的途径获得。
本文假定用户通过合法的手段获得PDG文件,只是由于希望能够在比超星浏览器更好、更方便的浏览器上阅读,并且不对转换出来的文件进行扩散的情况下,才需要将PDG文件转换成图像文件或PDF文件。
一、前言
PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器才能阅读。
本文讨论PDG转图像、PDF的方法,仅出于研究目的,并无意对超星公司的版权进行任何形式的侵犯,也不允许任何人用本文讨论的工具或方法从事侵权活动。如果需要浏览PDG电子书,请通过购买点卡等方式,以合法的途径获得。
本文假定用户通过合法的手段获得PDG文件,只是由于希望能够在比超星浏览器更好、更方便的浏览器上阅读,并且不对转换出来的文件进行扩散的情况下,才需要将PDG文件转换成图像文件或PDF文件。
二、超星pdg格式转换成pdf的方法
收集整理网上介绍超星pdg格式转换成pdf的方法,无非两大块专用软件和利用自身的通用操作法,具体如下:
专用软件
1、BooX Viewer
BooX Viewer是Momotalo、ShunCox、dd321等合作开发的一款轻量、绿PDG浏览器,无需安装,单独一个EXE文件即可运行,并且能够直接读取ZIP文件中的PDG文件等,这些都比原版超星浏览器强,也导致了它的流行。
早期版本的BooX Viewer提供一个“转换到DjVu”功能,该功能先将PDG文件转换成BMP,再转换成DjVu文件。因此也有人利用此功能的前半部分,先将PDG文件转换成BMP,再将BMP转换成PDF。不过这个功能在后来的版本中已经取消了,并且加了一些类似广告的限制。
收集整理网上介绍超星pdg格式转换成pdf的方法,无非两大块专用软件和利用自身的通用操作法,具体如下:
专用软件
1、BooX Viewer
BooX Viewer是Momotalo、ShunCox、dd321等合作开发的一款轻量、绿PDG浏览器,无需安装,单独一个EXE文件即可运行,并且能够直接读取ZIP文件中的PDG文件等,这些都比原版超星浏览器强,也导致了它的流行。
早期版本的BooX Viewer提供一个“转换到DjVu”功能,该功能先将PDG文件转换成BMP,再转换成DjVu文件。因此也有人利用此功能的前半部分,先将PDG文件转换成BMP,再将BMP转换成PDF。不过这个功能在后来的版本中已经取消了,并且加了一些类似广告的限制。
BooX Viewer的开发基于对PDG文件格式的分析,不需要超星浏览器或DLL的支持,并且能够解码加密的10H等格式,这些都让我对其开发者充满了敬意。
2、pdg2bmp&jpg&tif&pdf&txt
这个软件是coolman开发的,对PDG的支持(包括OCR)基于超星Pdg2控件,对图像、PDF的支持基于Pegasus ImagXpress Professional控件,运行前需要先注册控件。
这个软件的发行范围很窄,最新版是多少我也不知道,只能以我手上现有的3.8b0419版来说事。在使用这个版本的过程中,我发现它存在下列限制:
直接将PDG转换成PDF,则所有彩、灰度图像均变成黑白图像。解决的办法是先转换成BMP,再用其它软件将BMP转换成PDF。 但是不知道为什么,pdg2bmp&jpg&tif&pdf&txt没
有文件重新编号功能,所以在从BMP转换成PDF时,页面顺序调整起来很麻烦。
将PDG转换成BMP等图像格式时,允许使用多线程并行转换,但是似乎稳定性会随之下降,所以我都只敢用单线程转换。
最要命的一点就是:这个软件在转换时需要占用系统剪贴板,因此如果在转换过程中同时用Office等软件干活(没办法,转换过程实在是太漫长了),则复制/粘贴功能将失效。我先是在工作时发现了这个问题,然后用剪贴板监视软件证实了我的猜测。对剪贴板的占用不仅影响前台软件的正常使用,而且由于Windows本身对系统剪贴板的限制,在转换 幅面很大的PDG文件时会转不了。虽然有一些问题,但是这个软件支持加密的AAH格式等(除该软件外,coolman还开发了一些独立运行的PDG解密软件),这些都让我对coolman及其作品充满敬意。
3、Pdg2Pic
在发现coolman的pdg2bmp&jpg&tif&pdf&txt会占用系统剪贴板后,我google了一下,还真查到了一段源代码,虽然我不可能看到pdg2bmp&jpg&tif&pdf&txt的源代码,但我相信它的核心
将PDG转换成BMP等图像格式时,允许使用多线程并行转换,但是似乎稳定性会随之下降,所以我都只敢用单线程转换。
最要命的一点就是:这个软件在转换时需要占用系统剪贴板,因此如果在转换过程中同时用Office等软件干活(没办法,转换过程实在是太漫长了),则复制/粘贴功能将失效。我先是在工作时发现了这个问题,然后用剪贴板监视软件证实了我的猜测。对剪贴板的占用不仅影响前台软件的正常使用,而且由于Windows本身对系统剪贴板的限制,在转换 幅面很大的PDG文件时会转不了。虽然有一些问题,但是这个软件支持加密的AAH格式等(除该软件外,coolman还开发了一些独立运行的PDG解密软件),这些都让我对coolman及其作品充满敬意。
3、Pdg2Pic
在发现coolman的pdg2bmp&jpg&tif&pdf&txt会占用系统剪贴板后,我google了一下,还真查到了一段源代码,虽然我不可能看到pdg2bmp&jpg&tif&pdf&txt的源代码,但我相信它的核心
应该与这段代码相似。不过在多看了两遍这段代码后,我觉得既然已经用了Pdg2控件,为什么不用它提供的其它接口获取图像,干嘛非要用系统剪贴板?为了证实我的想法的可行性,我花了点时间写了Pdg2Pic这个软件,顺便对我在使用pdg2bmp&jpg&tif&pdf&txt过程中发现的一些问题做了改进,包括:
转换过程不占用系统剪贴板,不影响用户在前台的正常工作。
可以自动将文件按封面、前言、目录、正文、附录的顺序排列,也可以手动调整文件顺序。
提供预览功能,在转换前可以先浏览PDG图像。
PDG文件的扫描DPI自动转存入生成的TIFF、PNG文件,便于在转换成PDF文件时设置页面大小。
如果检查发现PDG文件是纯正的JPG文件,将不进行任何转换,直接将PDG复制为JPG;黑白PDG文件转存为采用CCITT G4压缩的TIFF文件,以获取高压缩比;灰度/彩PDG重新压缩为有损的JPG或采用JPEG压缩的TIFF文件,或无损压缩的PNG文件,或JPEG 2000(有损/无损)。
由于我没有时间对加密PDG文件进行研究,因此Pdg2Pic不像pdg2bmp&jpg&tif&pdf&txt那样
转换过程不占用系统剪贴板,不影响用户在前台的正常工作。
可以自动将文件按封面、前言、目录、正文、附录的顺序排列,也可以手动调整文件顺序。
提供预览功能,在转换前可以先浏览PDG图像。
PDG文件的扫描DPI自动转存入生成的TIFF、PNG文件,便于在转换成PDF文件时设置页面大小。
如果检查发现PDG文件是纯正的JPG文件,将不进行任何转换,直接将PDG复制为JPG;黑白PDG文件转存为采用CCITT G4压缩的TIFF文件,以获取高压缩比;灰度/彩PDG重新压缩为有损的JPG或采用JPEG压缩的TIFF文件,或无损压缩的PNG文件,或JPEG 2000(有损/无损)。
由于我没有时间对加密PDG文件进行研究,因此Pdg2Pic不像pdg2bmp&jpg&tif&pdf&txt那样
支持众多加密PDG格式。如果在Pdg2Pic统计的文件类型中出现加密格式,需要用1xhkillerfull、aahkiller等进行解密,然后再用Pdg2Pic进行转换。如果您原意提供PDG文件解密算法或代码,欢迎与我联系。
利用自身的通用操作法
1、截图法
简单点说,就是通过截图的方法,直接将超星浏览器中显示的内容,截为图片,再将图片转换成PDF文件。
这个方法可能是世界上最简单、最朴素,也是最容易想到的方法,并且对于所有版本的超星浏览器和所有能够正常显示的PDG文件均适用。制约这个方法的因素包括:
页面大小超出显示区域,导致截图截不全。解决的办法包括:一台支持高分辨率设置的PC(现在17"液晶已经很便宜,19"也快平民化了);如果显卡支持旋转显示,则将整个屏幕旋
利用自身的通用操作法
1、截图法
简单点说,就是通过截图的方法,直接将超星浏览器中显示的内容,截为图片,再将图片转换成PDF文件。
这个方法可能是世界上最简单、最朴素,也是最容易想到的方法,并且对于所有版本的超星浏览器和所有能够正常显示的PDG文件均适用。制约这个方法的因素包括:
页面大小超出显示区域,导致截图截不全。解决的办法包括:一台支持高分辨率设置的PC(现在17"液晶已经很便宜,19"也快平民化了);如果显卡支持旋转显示,则将整个屏幕旋
转90°显示,方便显示细长页面。
手工一页一页截图,劳动强度比较大。解决的办法就是用各种现成的按键、鼠标录制/播放软件与屏幕截图软件相结合,或者自己做一个连翻页带截图的小软件,实现自动化操作。截出来的图像可能需要进行整理,包括切边、图像文件格式转换等。
文件格式转换在线总之,截图发虽然有一些限制,用起来也比较麻烦,但很难被超星屏蔽,不失为一种终极的方法。
2、打印法
即在超星浏览器中发布打印命令,将正在浏览的PDG文件打印到PDF虚拟打印机(包括Acrobat PDF打印机、PDFFactory打印机等),成为PDF文件。
这种方法也是较早被用于转换PDG文件的方法之一,而且用起来非常简单、方便,因此广为流传,导致后来超星阅读器针对这种方法加了一些限制,但是这些限制很快就被突破,然后双方就这样乐此不彼、义无反顾、周而复始地一轮、一轮折腾下去。虽然在无关的人看来有
手工一页一页截图,劳动强度比较大。解决的办法就是用各种现成的按键、鼠标录制/播放软件与屏幕截图软件相结合,或者自己做一个连翻页带截图的小软件,实现自动化操作。截出来的图像可能需要进行整理,包括切边、图像文件格式转换等。
文件格式转换在线总之,截图发虽然有一些限制,用起来也比较麻烦,但很难被超星屏蔽,不失为一种终极的方法。
2、打印法
即在超星浏览器中发布打印命令,将正在浏览的PDG文件打印到PDF虚拟打印机(包括Acrobat PDF打印机、PDFFactory打印机等),成为PDF文件。
这种方法也是较早被用于转换PDG文件的方法之一,而且用起来非常简单、方便,因此广为流传,导致后来超星阅读器针对这种方法加了一些限制,但是这些限制很快就被突破,然后双方就这样乐此不彼、义无反顾、周而复始地一轮、一轮折腾下去。虽然在无关的人看来有
点无聊,但是投身其中的人经常都会为每一个微小的突破而激动 ,还真是有精神寄托的人生。
目前制约这个方法的因素包括:
超星浏览器对PDF打印机的封锁。 新版超星浏览器会检查打印机的名称,发现是PDF打印机则不让打印。不过超星软件毕竟没有人智能,打印机被人一改名就检测不出来了。也有人先将PDG打印到支持PostScript(PS)文件格式的真实打印机,再用Acrobat将PS文件转换成PDF文件,以绕过超星对虚拟打印机的检查。
超星浏览器对打印页数的限制。超星浏览器会限制合法用户每个月的打印总页数,够数(每月一千页)后就不允许打印。解决的办法包括将ssreader.ul文件属性改为只读,或定期对这个文件进行备份、恢复。
超星浏览器对打印效果的限制。 新版本的超星浏览器可能对以前的限制与反限制游戏终于厌倦了,因此干脆在打印的时候降低打印质量,导致打印出来的PDF图像质量与原始PDG文件差很多。针对这一招,目前网上提出的解决办法包括将新版DLL文件替换为旧版DLL,或提
目前制约这个方法的因素包括:
超星浏览器对PDF打印机的封锁。 新版超星浏览器会检查打印机的名称,发现是PDF打印机则不让打印。不过超星软件毕竟没有人智能,打印机被人一改名就检测不出来了。也有人先将PDG打印到支持PostScript(PS)文件格式的真实打印机,再用Acrobat将PS文件转换成PDF文件,以绕过超星对虚拟打印机的检查。
超星浏览器对打印页数的限制。超星浏览器会限制合法用户每个月的打印总页数,够数(每月一千页)后就不允许打印。解决的办法包括将ssreader.ul文件属性改为只读,或定期对这个文件进行备份、恢复。
超星浏览器对打印效果的限制。 新版本的超星浏览器可能对以前的限制与反限制游戏终于厌倦了,因此干脆在打印的时候降低打印质量,导致打印出来的PDF图像质量与原始PDG文件差很多。针对这一招,目前网上提出的解决办法包括将新版DLL文件替换为旧版DLL,或提
高打印机DPI设置等。
总之,在我看来,打印法简单方便,打印黑白图像问题不大,但是打印灰度/彩图像会出现图像质量衰减或文件膨胀等问题。
三、方法之比较与展望
上面介绍了一些PDG转图像、PDF的方法,说句实在话,我认为没有一种方法是完美的,多多少少都有点毛病。而且在我看来,对于一个真正的PDG转PDF软件,至少还要解决以下问题:
从PDG目录到PDF书签(Bookmark)的转换。现在有些PDG图书是带目录的,在超星浏览器中打开后,左侧会显示树状结构的目录,便于快速定位需要阅读的页面。这个与PDF中的书签很类似,但是现在似乎还没有一个软件能够在将PDG转换成PDF时,顺手将目录转换成书签。
将图书信息(bookinfo.dat)插入PDF文件,便于用Adobe PDF Reader的搜索(search)功
总之,在我看来,打印法简单方便,打印黑白图像问题不大,但是打印灰度/彩图像会出现图像质量衰减或文件膨胀等问题。
三、方法之比较与展望
上面介绍了一些PDG转图像、PDF的方法,说句实在话,我认为没有一种方法是完美的,多多少少都有点毛病。而且在我看来,对于一个真正的PDG转PDF软件,至少还要解决以下问题:
从PDG目录到PDF书签(Bookmark)的转换。现在有些PDG图书是带目录的,在超星浏览器中打开后,左侧会显示树状结构的目录,便于快速定位需要阅读的页面。这个与PDF中的书签很类似,但是现在似乎还没有一个软件能够在将PDG转换成PDF时,顺手将目录转换成书签。
将图书信息(bookinfo.dat)插入PDF文件,便于用Adobe PDF Reader的搜索(search)功
能,在一大堆PDF文件中到需要的书。bookinfo.dat其实是一个标准INI文件,用文本记录了书籍的书名、作者等信息,如果作为一个文本页插入PDF文件尾,无疑将给搜索提供一些必要的信息。
支持透明背景。原始的黑白PDG文件本身可以按透明背景显示,因此在超星浏览器中可以根据需要对背景、前景进行设置,便于长时间观看。相比之下,PDF的白底黑字看起来就累多了。其实PDF Reader本身是支持对页面背景进行定义的,条件是PDF中的图像必须采用透明背景。如果图像本身敲死了一定要用白底,PDF Reader也没有办法。
现在最后一个问题可以通过FreePic2Pdf 1.01版解决,第二个问题可以通过超星章节目录提取器(SSContent)部分解决,其它问题解决起来都有点难度,不知道有多少人原意去做?至少我自己是没打算要去做,但是我很期待看到其他高手能够解决这些问题,推出更好的PDG转PDF工具。
四、PDG转图像、PDF的具体操作方法
怎样将图像转换成PDF文件?我自己比较常用的转换方法如下:
支持透明背景。原始的黑白PDG文件本身可以按透明背景显示,因此在超星浏览器中可以根据需要对背景、前景进行设置,便于长时间观看。相比之下,PDF的白底黑字看起来就累多了。其实PDF Reader本身是支持对页面背景进行定义的,条件是PDF中的图像必须采用透明背景。如果图像本身敲死了一定要用白底,PDF Reader也没有办法。
现在最后一个问题可以通过FreePic2Pdf 1.01版解决,第二个问题可以通过超星章节目录提取器(SSContent)部分解决,其它问题解决起来都有点难度,不知道有多少人原意去做?至少我自己是没打算要去做,但是我很期待看到其他高手能够解决这些问题,推出更好的PDG转PDF工具。
四、PDG转图像、PDF的具体操作方法
怎样将图像转换成PDF文件?我自己比较常用的转换方法如下:
1、用Adobe Acrobat Professional的Create PDF from Multiple Files,而不用它的虚拟打印机这种方法的优点是:
如果在转换前先指定黑白图像用无损JBIG2压缩,可以获取最高压缩比。
可以获得经过线性优化的PDF文件,这种文件在通过网络浏览时可以边浏览边下载,因此也被称为Fast Web View文件。但是对于只在本地阅读的PDF文件来说,我认
为这种优化只会增加文件长度,不会节省实际的打开时间。
这种方法的缺点是:
对于灰度/彩图像,可能会因为重新采样压缩而造成图像质量衰减或文件膨胀。这方面的讨论参见我写的《图像转PDF的问题、方法及题外话》。
如果一次需要处理几本书,操作起来有点麻烦。
如果图像大小不一,转换出来的页面大小也不一致,看起来有点心烦。
至尽为止,我还没有到如何设置,才能在转换黑白图像时,能够将背景设置为透明。如果您知道,还请不吝赐教。
对于灰度/彩图像,可能会因为重新采样压缩而造成图像质量衰减或文件膨胀。这方面的讨论参见我写的《图像转PDF的问题、方法及题外话》。
如果一次需要处理几本书,操作起来有点麻烦。
如果图像大小不一,转换出来的页面大小也不一致,看起来有点心烦。
至尽为止,我还没有到如何设置,才能在转换黑白图像时,能够将背景设置为透明。如果您知道,还请不吝赐教。
第一步:添加打印机(不是虚拟打印机而是电脑自带的打印机驱动程序)。进入,开始-〉控制面版-〉打印机和传真-〉添加打印机-〉下一步-〉(选择连接到此计算机的本地打印机的复选框,不选择下一级复选框)下一步-〉下一步-〉(这里能看到请“安装打印机软件”,有一个名为“厂商”的下拉框,在那里到"HP"项,点击选择,这时在右边的打印机列表框里列出“HP”所有驱动程序,到"HP laserJet IIID PostScript Cartridge v52.2"或者你选择名称里带有"PostScrip"字样
的都可以,其它的一般不行,这几个我都试过了,不会出错,不过要记住了,一定要要带有”PostScript“字样的。)下一步-〉(将它作为默认打印机)下一步-〉下一步-〉完成。到这里你的打印机文件夹里就多了一个带有"PostScrip"字样的打印机。
第二步:打印。打开超星阅览器(哪个版本都可以,只要大家觉得好用就可以了)-〉选择一本书(不一定要下载下来的书籍,这种方法提供在线打印,不过速度有点慢;当然喽!能下载的最好下载下来打印)-〉打印-〉填打印页数(在章节目录那里获得大致页数,然后加上一个你认为还欠缺的页数,就可以了,不一定要提供准确的页数,多了,它会对最后一页重
复打印的,做好pdf格式之后将之删除就可以了。)-〉(选择刚才安装好的打印机,在查打印机按钮下面,选中”打印
到文件“复选框。)打印-〉(这时会跳出一个输入框,在里面填入你要把文件放那里的详细路径,例如:D:\IT学习网\吕海鹏文件.PS ,不过千万要记住,别把扩展名写错了,一定要写上PS ,否则会认不出来的。) 确定。就一切ok了。
第三步:安装Adobe Acrobat 6.0 或是7.0的Professional版本(www.DeepTeach),用创建pdf功能,将刚才打印的文件打开转换成pdf文件,这样一个无任何限制的pdf的文档就做成了。
另外还可以用Microsoft Office Document Imaging的功能将做好的pdf装换成word格式.SolidConverterPDF 用这个软件转换也不错,只是转出来的是图像(这只是对于用超星pdg转换过来的pdf而言的),不过速度是快多了。
到文件“复选框。)打印-〉(这时会跳出一个输入框,在里面填入你要把文件放那里的详细路径,例如:D:\IT学习网\吕海鹏文件.PS ,不过千万要记住,别把扩展名写错了,一定要写上PS ,否则会认不出来的。) 确定。就一切ok了。
第三步:安装Adobe Acrobat 6.0 或是7.0的Professional版本(www.DeepTeach),用创建pdf功能,将刚才打印的文件打开转换成pdf文件,这样一个无任何限制的pdf的文档就做成了。
另外还可以用Microsoft Office Document Imaging的功能将做好的pdf装换成word格式.SolidConverterPDF 用这个软件转换也不错,只是转出来的是图像(这只是对于用超星pdg转换过来的pdf而言的),不过速度是快多了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论