Pdg2Pic: A freeware to convert PDG file into image (TIFF, JPG, PNG) file.

作者:马健
邮箱:stronghorse@tom.com
主页:http://stronghorse.yeah.net

FAQ
使用说明
    一、软件安装/删除
    二、软件使用
附录A 鸣谢
附录B 版本更新记录

FAQ

Q:Pdg2Pic是什么?
A:这是一个将PDG文件转成图像文件(包括TIFF、JPG、PNG)的免费软件,具有下列特色:

  1. 转换过程不占用系统剪贴板,因此在转换时,不影响用户在前台的正常工作。
  2. 在打开目录时自动对PDG文件进行格式统计,并报告结果。当然此功能也可以选择关闭。
  3. 可以自动将文件按封面、前言、目录、正文、附录的顺序排列,也可以手动调整文件顺序。
  4. 提供预览功能,在转换前可以先浏览PDG图像和PDG文件信息。此功能也可以选择关闭。
  5. 如果转换过程中出现错误,将给出错误日志,便于定位有问题的PDG文件。
  6. PDG文件的扫描DPI自动转存入生成的TIFF、PNG、JPG、BMP文件,便于转换成PDF文件时指定页面大小。
  7. 如果检查发现PDG文件是纯正的JPG文件,将不进行任何转换,直接将PDG复制为JPG,并填写扫描DPI;黑白PDG文件转存为CCITT G4压缩的TIFF文件以获取高压缩比,或PNG、BMP文件以兼容更多的软件;灰度/彩色PDG重新压缩为有损的JPG或采用JPEG压缩的TIFF文件,或无损压缩的PNG、BMP文件 ,或JPEG 2000(JP2)文件(质量系数为100%时,JPEG 2000为无损压缩,否则为有损压缩)。
  8. 对于多层(T3)PDG,可以将各层合并成单一文件,也可以通过接口文件与FreePic2Pdf配合,无损转换成多层PDF。
  9. 支持某些特殊格式的PDG文件。为此要感谢网上读书园地成员车明(BECompanion)、hstong、coolman和qdlsy的大力支持与协助。

Pdg2Pic基于超星浏览器的Pdg2控件实现,因此运行时需要在本机上先安装超星浏览器,或注册一个能用的Pdg2.dll。本软件对超星浏览器3.8的支持没有问题,其它版本的超星浏览器没有试过。

用户在使用本软件前务必先认清以下事实:

  • PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器才能阅读。本文讨论PDG转图像的方法,仅出于研究目的,无意对超星公司的版权进行任何形式的侵犯,也不希望任何人用本文讨论的工具或方法从事侵权活动。如果需要浏览 、获取PDG文件,请通过购买点卡等方式,以合法的途径获得。
  • 本文假定用户通过合法的手段获得PDG文件,只是由于希望能够在比超星浏览器更好、更方便的浏览器上阅读,并且不对转换出来的文件进行扩散的情况下,才需要将PDG文件转换成图像文件。
  • 请勿将本软件用于非法目的。使用本软件造成的一切后果(包括法律后果)由使用者自行承担。

Q:现在已经有pdg2bmp&jpg&tif&pdf&txt、BooX Viewer等软件,为什么还要开发Pdg2Pic?
A:主要是为了证实我的一些想法的可行性,详见我写的《PDG转图像、PDF的若干方法》

Q:与其它PDG转换软件相比,Pdg2Pic有什么不足?
A:我没有时间去研究超星五花八门的加密算法,所以Pdg2Pic对加密PDG文件的支持有限。对于Pdg2Pic不支持的加密格式,请先用车明先生的Pizza(Pdg Into ZeroZero All)解密,再用Pdg2Pic转。

Q:Pdg2Pic收费吗?
A:Pdg2Pic是一个“友情软件”(Friendware),用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的条件下,不需要为使用该软件付任何费用,最多是在BBS上看到我发帖子灌水时(我的ID一般是strnghrs),进去捧个人场,作为友情回报;或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用Pdg2Pic的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。

Q:Pdg2Pic将PDG转换成图像文件,会造成图像质量下降吗?
A:除了原始格式为灰度/彩色DjVu的PDG文件外,逻辑上说所有PDG文件均可无损转换成图像文件。灰度/彩色DjVu通常用于封面、封底,应该说比例很小。

Q:为什么有时候转换完成后,在目标文件夹下会多出一些以000、001、002为扩展名的文件?
A:如果选择了“生成FreePic2Pdf接口文件”选项(缺省为选择),在碰到T3多层格式的PDG文件时,除了生成正常的图像外,还会将每一层图像提取出来生成一个文件,扩展名按层顺序命名为000、001、002等,这些层信息会记录在FreePic2Pdf.itf文件中,以后用FreePic2Pdf将图像转换成PDF文件时,它会自动按照层顺序将图像合并到PDF页面。
正常情况下,多层PDG文件的底层为文字层,其它层为JPG格式的图像层。如果将所有层合并成一个JPG文件,必然会因为重新压缩而造成图像质量下降、文件膨胀等问题。将每一层无损保存下来,在PDF中合并成多层页面,可以保证质量和文件大小都与原PDG文件相当。 这是Pdg2Pic与其他PDG转PDF转换方法,尤其是打印法的重要区别。

Q:如何将PDG转成PDF?
A:用Pdg2Pic将PDG转换成图像文件后,用FreePic2Pdf或其它图像转PDF软件转成PDF即可。对图像转PDF软件的讨论、比较见我写的《图像转PDF的问题、方法及题外话》一文。
如果使用FreePic2Pdf转换,建议勾选“生成FreePic2Pdf接口文件”选项。
FreePic2Pdf参数设置对生成的PDF文件影像比较大,有时候需要反复设置才能获得满意的结果。这也是为什么没有让Pdg2Pic具有直接生成PDF功能的原因:图像转PDF速度比较快,反复试几次没什么关系,PDG转图像太慢,反复试是不可能的。

Q:FreePic2Pdf接口文件有什么作用?
A:接口文件是一个INI格式的纯文本文件,起到两个作用:
1、说明PDG页的最小宽度,转换出来的PDF都按这个宽度设置页宽,保证所有页面的宽度一致。手工修改这个值,可以改变最终PDF的页宽。
2、说明多层PDG各层的关系,便于FreePic2Pdf组装成多层PDF。

Q:有些PDG文件转换不出来,Pdg2Pic报告这些文件是HTML文件,怎么办?
A:这种PDG文件通常可以直接用超星浏览器打开,打开后在一个基于IE内核的窗口内显示图像、文字。由于某些技术上的限制,超星浏览器会在系统temp文件夹下存放解出来的图像文件,直接找到并复制出来即可得到图像文件。如果觉得自己找比较麻烦,也可以到我的网站下载一个CtrlN软件,通过它来找。

使用说明

一、软件安装/删除

本软件安装非常简单:创建一个目录,用WinZip将下载下来的ZIP包解压缩到该目录即可。

本软件的删除也很简单:直接删除从ZIP包中解压缩出来的所有文件及运行过程中生成的文件即可。

ZIP包中包括下列文件:

  1. Pdg2Pic.exe。这是软件的主程序。
  2. Pdg2Pic.htm。本帮助文件。

如果您下载到的ZIP包中还包括其它文件,毫无疑问不是我放进去的,有广告或木马之嫌疑,请立即删除。

另外程序运行过程中还会生成以下文件:

  1. Pdg2Pic.ini。这个是参数保存文件,第一次更改参数后生成。退出Pdg2Pic,删除此文件,再重启Pdg2Pic,即可恢复缺省参数。
  2. Pdg2Pic_log.txt。这个是错误记录文件,在转换过程中出现错误时自动生成,没有错误则自动删除以前的错误记录。

二、软件使用

鼠标双击Pdg2Pic.exe启动软件后,按照软件界面上标注的1、2、3、4的顺序执行:

1、选择需要转换的PDG文件所在文件夹。
选择后,文件夹中的所有PDG文件将自动按照封面、前言、目录、正文、附录的顺序排列,并且自动统计、报告PDG文件格式。如果需要对页面顺序进行手工调整,可以用工具条上的按钮改变文件在列表中的位置。如果“预览”选项被选中(缺省为选中),则在列表右侧的预览窗口会显示当前选中的PDG文件,并在列表下方的信息窗口显示出PDG文件简要信息,包括宽度、高度、DPI、类型。类型通常显示为T1(黑白图像)、T2(灰度/彩色图像)、T3(多层图像)。
如果发现显示不正常或不能显示的PDG图像,请先在列表中把文件前面的勾号点掉,再进行转换。
如果嫌选择麻烦,或只想转换文件夹中的几个文件,也可以从资源管理器直接拖拽文件夹或文件到界面上。如果拖过来的是文件夹,则将该文件夹下所有PDG文件加入列表;如果拖过来的是文件,则将这些文件加入列表。
如果“预览”选项选项被选中(缺省为选中),则每次选中列表中的文件,均会在预览窗口显示该文件的略缩图。
如果“自动统计”选项选项被选中(缺省为选中),则每次改变文件或文件夹,均统计并报告列表中的文件格式;否则不统计。

2、选择存放转换出来的图像文件的文件夹。
如果“参数设置”中选择了“目标文件夹与源文件夹相同”(缺省为选择),则可忽略这一步:每次在第1步中选择PDG文件夹,均会自动设置图像文件夹。否则需要点击按钮选择。

3、设置转换参数。

  • 转换结束后删除原始PDG文件:含义同字面含义。
  • 目标文件夹与源文件夹相同:含义见上面说明。
  • 重新编号转换出来的图像文件:如果选中,则转换出来的文件将按表格中的顺序重新编号,便于用ComicsViewer等图像浏览软件顺序观看,或用图像转PDF软件进行转换;否则转换出来的图像文件与PDG文件的主文件名相同,扩展名不同。
  • 自动检测灰度图像:对于T2图像,可能是灰度,也可能是彩色。将灰度图像识别出来并保存为灰度JPG,将比保存为彩色JPG更省地方。不过由于检测需要消耗时间,所以此选项缺省为未选中。
  • 启用直接解码:如果此选项被选中(缺省为选中),则软件会先用内置的解码器对PDG文件解码,解不出来再用Pdg2控件解码;如果此选项未选中,所有PDG文件均用控件解码。
  • 生成FreePic2Pdf接口文件:如果此选项被选中(缺省为选中),在碰到T3多层格式的PDG文件时,除了生成正常的图像外,还会将每一层图像提取出来生成一个文件,扩展名按层顺序命名为000、001、002等,这些层信息会记录在FreePic2Pdf.itf文件中,以后用FreePic2Pdf将图像转换成PDF文件时,它会自动按照层顺序将图像合并到PDF页面。
  • JPEG质量系数: 对于T2(灰度/彩色)图像,可以存为JPG文件,或采用JPG压缩算法的TIFF,或JPEG 2000。该参数控制图像质量的文件大小:此值越大,图像质量损失越小,但是文件长度越大。 对于JPEG TIFF、JPEG来说,此值可以到50~60%,JPEG 2000可以到20%左右。
  • 黑白图像存为:TIFF、PNG、BMP。TIFF压缩比大,PNG、BMP兼容性好。均为无损压缩。
  • 彩色/灰度图像存为:JPEG、JPEG TIFF(采用JEPG压缩算法的TIFF)均为有损压缩,PNG为无损压缩,JPEG 2000在JPEG质量系数为100%时为无损压缩,其它值时为有损压缩。

4、开始转换
开始将源文件转换成PDF文件。转换过程中点“中止”按钮可以中断转换过程。
转换过程中如果出现错误,在转换结束后会报告并询问是否查看错误记录。点击界面上的“错误日志”,可以查看最近的错误日志。

点击窗口右上角的“×”按钮即可退出程序。

附录A 鸣谢

本软件的PDG文件显示基于超星Pdg2控件,图像文件处理采用了Davide Pizzolato的CxImage,底层JPEG采用了Independent JPEG Group(独立JPEG小组)发布的JPEG LIB源代码,PNG采用了libpng组织提供的源代码,TIFF采用了libtiff组织提供的源代码,zlib采用了ASM版(其实只有两个文件是ASM的)。JPEG 2000采用了Michael D. Adams发布的JasPer源代码。DjVu解码采用了djvulibre源代码,不过被我改到VC不再报告内存漏洞。

另外本软件在开发过程中还得到网上读书园地成员车明(BECompanion)、hstong、coolman和qdlsy,及rbook论坛mogaoku的大力支持与协助。

在此对以上组织和个人表示深切的谢意!

附录B 版本更新记录

Version 1.04
错误修正:打开6xH文件会中断退出。
错误修正:界面最大化后,部分控件显示不正确。

Version 1.03
功能增强:能够处理插图为加密DjVu格式的T3文件。

Version 1.02
错误修正:在转换某些T3文件时,因为偏移量计算错误造成非正常退出。

Version 1.01

  1. 新增功能:支持某些特殊格式的PDG文件。为此要感谢网上读书园地成员车明(BECompanion)、hstong、coolman和qdlsy的大力支持与协助。
  2. 新增功能:支持T3多层(DjVu)格式的PDG文件。以前版本对于这种文件只能获得底层黑白图像。 通过接口文件与FreePic2Pdf配合,可以将多层PDG无损转换成多层PDF。
  3. 新增功能:“生成FreePic2Pdf接口文件”选项。如果此选项被选中(缺省为选中),则每次转换完成后会在目标文件夹生成FreePic2Pdf.itf文件,记录用FreePic2Pdf合并成PDF文件所需的辅助信息,及多层图像的各层信息;否则不生成。
  4. 新增功能:“自动统计”选项。如果此选项被选中(缺省为选中),则每次改变文件或文件夹,均统计并报告列表中的文件格式;否则不统计。
  5. 新增功能:支持从资源管理器直接拖拽文件夹或文件到界面上。如果拖过来的是文件夹,则将该文件夹下所有PDG文件加入列表;如果拖过来的是文件,则将这些文件加入列表。
  6. 新增功能:支持转换成BMP格式。
  7. 新增功能:对于黑白图像,允许选择转换成TIFF,或PNG、BMP。以前只能转换成TIFF。
  8. 新增功能:在将JPG格式的PDG文件复制成JPG文件时,在JPG文件中填写扫描DPI。
  9. 功能增强:改进了转换算法,减少中间环节,以加快转换速度,减少内存消耗。
  10. 功能增强:增加对没有下载完成的PDG文件的检查,避免因为这些文件而造成Pdg2控件出现死循环。其实这种检查本应该在控件内部做的。
  11. 功能修正:彩色/灰度图像缺省转换成JPG,以加强兼容性。原先的缺省值为JPEG TIFF,某些图像浏览器不支持。

Version 1.00
实现PDG转TIFF、JPG、PNG、JP2。