TiffToy: A handy toolkit to merge, split and analyze TIFF files.

作者:马健
邮箱:stronghorse@tom.com
主页:老马的原创空间

FAQ
使用说明
    一、软件安装/删除
    二、软件使用
        文件合并
        文件拆分
        文件结构
    三、操作示范
附录A 鸣谢
附录B 版本更新记录

FAQ

Q:TiffToy是什么?
A:这是一个处理TIFF的工具集,具有下列功能:

  1. TIFF文件合并:将散页TIFF文件合并成一个多页TIFF,同时支持将JPG、BMP、PNG、GIF转换成TIFF,其中JPG转TIFF是无损转换。可以指定每个文件包含的散页数,如用于Office 2003的OCR识别时最好每个文件不超过100页。
  2. TIFF文件拆分:将多页TIFF拆分成每页一个文件。JPEG或OJPEG压缩的TIFF可无损转换成JPG。
  3. 查看TIFF文件结构:如果打算对TIFF文件内部格式进行研究,这个功能那是相当地有用,不然还是点“显示设置”按钮,把它藏起来算了。

Q:为什么要开发TiffToy?
A:由于种种原因,我需要频繁与TIFF打交道,而libtiff提供的命令行工具用起来毕竟不方便, 所以我就以libtiff提供的tiffcp、tiffsplit、tiffinfo为基础,开发了这个软件。软件在界面、功能上模仿了DjVuToy,所以干脆连名字 也一起抄了过来。

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

Q:TiffToy在将TIFF文件合并、切分时,会造成图像质量下降吗?
A:不会。

Q:与libtiff原版软件相比,TiffToy在技术上有什么改进?
A:加强了对JPG格式的支持,包括将OJPEG格式的TIFF转换成JPEG格式的TIFF,JPG文件与TIFF文件的无损互转等。目前从我遇到的情况看,TIFF格式的兼容问题主要来自两个方面:数据压缩和色彩空间。 而数据压缩造成的兼容性问题基本上都与OJPEG格式有关,用本软件的合并、拆分功能转一下,多半可以解决这方面的问题。

使用说明

一、软件安装/删除

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

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

ZIP包中包括下列文件:

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

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

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

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

二、软件使用

统一说明

本软件所有文件、文件夹输入框均支持快捷键Ctrl+A(全选)、Ctrl+C(复制)、Ctrl+X(剪切)、Ctrl+V(粘贴)、Ctrl+Z(撤销)。
Ctrl+V支持从资源管理器直接粘贴文件、文件夹。即在资源管理器中选择某个文件或文件夹,选“复制”,然后光标定位到输入框,按Ctrl+V,即可将文件、文件夹的完整路径粘贴过来。

公共按钮:

  • 恢复:TiffToy会自动记忆您在各页中设置的参数(记录在TiffToy.ini文件中),点击“恢复”按钮可以将所有参数恢复到缺省值。
  • 显示设置:隐藏/恢复某些页面。通过隐藏不常用的页面,可以简化界面。
  • 关于:显示TiffToy的版本和相关信息。
  • 帮助:显示本文件。

文件合并

功能:将多个TIFF文件合并成一个。
操作:按界面上标注的1、2、3、4操作即可。
说明:此功能除通常意义上的文件合并外,通过选项设置,还具有下列作用:
1、将JPG、BMP、PNG、GIF文件转换成TIFF。其中JPG转换是无损的,GIF支持多页。除JPG外,其他格式转换成TIFF时均采用zip压缩。
2、限制合并后的多页TIFF中的文件数。如用于Office 2003的OCR识别的TIFF文件,最好不要超过100页。

在合并TIFF文件时,能够自动跳过出错页。

文件拆分

功能:将多页TIFF文件每页拆分成一个单独的TIFF文件。
操作:按界面上标注的1、2、3、4操作即可。
说明:对于“JPEG压缩页”,如果:
选择“存为JPG文件”,则所有OJPEG/JPEG格式的TIFF文件将无损转换成JPG文件。
选择“合并成单一图像”,则所有分块的JPG图像将合并成一个,存入目标JPG。
选择“保持原样”,则所有分块的JPG图像在结果TIFF中保持原有分块。
采用JPEG压缩的TIFF文件可以说是这个世界上最说不清、道不明的东西,对不同的TIFF,只能是不同参数都试一下,然后选择一个较好的结果。通过“文件结构”可以查看TIFF文件是否使用的JPEG压缩。

文件结构

功能:导出TIFF文件结构,便于对TIFF内部数据进行分析。
操作:
1、选择需要操作的TIFF文件。
2、选择导出的文本文件存放位置。
3、点“开始导出”按钮。

三、操作示范

用Pdg2Pic获得TIFF文件,用TiffToy合并,用Office 2003进行OCR:

1、用Pdg2Pic将PDG转换成图像文件。
2、在转换出来的图像文件夹中执行如下DOS命令:
    del *.jpg
    ren *.000 *.tif
    del *.0*
3、用TiffToy合并转换出来的文件,注意选择“每合并100个文件生成一个新文件”,否则如果合并出来的TIFF文件页数太多,在Office 2003里OCR可能会有问题。
4、用Office 2003带的Microsoft Office Document Imaging打开合并后的TIFF文件,选择“工具->将文本发送到Word”,然后就可以在Word中收货了。注意在开始第一次OCR之前,务必要选选择“工具->选项”,在“OCR”页中,将“自动拉伸”、“自动旋转”这两个选项清除掉,不然不仅速度慢,而且OCR结果经常会出乎意料。
5、在Word里看到OCR出来的文本后,另存为为文本文件,然后退出Word。
6、重复步骤4、5直到OCR完,然后手工删除OCR过程中产生的临时HTML文件和图像文件夹。
7、用TextForever合并文本文件,并用批量替换进行初步清理,包括删除空格、在段首加两个中文空格等。其实用多了就知道,Office 2003的OCR容易产生某些固定的错误,批量替换是一个比较方便的解决办法。
8、OCR之后的校验建议用Word + ComicesViewer。Word的编辑、替换功能不用说,ComicsViewer的书签、现场保护功能谁用谁知道。

附录A 鸣谢

本软件的TIFF文件操作基于libtiff源代码,图像文件处理采用了Davide Pizzolato的CxImage,底层JPEG采用了Independent JPEG Group(独立JPEG小组)发布的JPEG LIB源代码,PNG采用了libpng组织提供的源代码,zlib采用了ASM版(其实只有两个文件是ASM的)。

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

附录B 版本更新记录

Version 1.09
错误修正:某些多页TIFF文件切分后页码顺序不正确。

Version 1.08
错误修正:按下F1键时,会显示错误的提示信息。

Version 1.07
错误修正:某些采用JPEG压缩的TIFF文件合并、拆分后出错。

Version 1.06
错误修正:某些JPEG压缩的TIFF文件合并后不能显示全部图像。

Version 1.05
功能增强:支持某些CMYK色彩空间的JPG文件。
功能调整:切分文件名缺省为6位数,原来为8位数。
错误修正:某些内嵌JPG在切分后显示不正确。

Version 1.04
功能修正:合并为TIFF时,除黑白图像采用CCITT G4压缩外,其他所有图像均采用LZW压缩,以获取最大兼容性。
功能修正:合并为TIFF时,透明背景GIF的背景色强制设置为白色,不再用GIF本身的背景色。

Version 1.03
功能增强:libpng源代码升级至v1.2.28。
错误修正:碰到某些破损PNG会出错。

Version 1.02
功能增强:“文件合并”时,“按结尾数字排序”支持多段文件名。
错误修正:拆分多页TIFF时,某些多页TIFF页码顺序错误。
错误修正:碰到某些破损GIF文件会出错退出。

Version 1.01
功能增强:在“文件拆分”里,允许对采用JPEG压缩的TIFF页,选择合并成单一图像、存为JPG文件、保持原样。
功能增强:兼容某些JPEG压缩的TIFF文件。
错误修正:某些特殊色彩空间的文件合并、拆分后,显示不正确。

Version 1.00
实现文件合并、文件拆分、结构导出。