源代码在线翻译:TextForever

来源:百度文库 编辑:偶看新闻 时间:2024/05/04 08:01:28
TextForever: An application to format text file, including convert HTML file to text file, merge text files, paragraph and reparagragh,etc.
作者:马健
邮箱:stronghorse@tom.com主页:老马的原创空间
FAQ使用说明   一、软件安装/删除   二、软件使用附录A 鸣谢附录B 正则表达式语法附录C 版本更新记录
FAQ
Q:TextForever是什么?
A:这是一个专为整理电子版小说而开发的工具,包括HTML到文本文件的转换、文件合并、文件切分、段落合并、段落切分、内码转换(只能在Win 2k/XP下用)、文本替换、HTML整理、文本抽取、正则表达式(需要IE 5.5以上版本的支持)、批量OCR、tcr文件压缩/解压等功能。
Q:TextForever收费吗?
A:TextForever是一个“友情软件”(Friendware),用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的条件下,不需要为使用该软件支付任何费用,最多是在某个讨论区看到我发帖子灌水时(我的ID一般是strnghrs),进去捧个人场,作为友情回报;或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用TextForever的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。
Q:TextForever在使用上有什么限制?
A:部分功能对软件环境有所要求:
在“编码转换”功能中,为了省事,转码过程使用的是Windows本身提供的标准API接口。由于转码过程中需要用Unicode作为中间码,因此此功能不能在对Unicode支持非常有限的Windows 95/98/me下使用,只能在支持GBK/Big5/Shift JIS代码页的2000/XP下使用。正常情况下,只要IE能够正常显示中文简体、中文繁体、日文网页,即可正常转换。 “正则表达式”功能需要IE 5.5以上版本的支持。 所有功能均针对ANSI编码的纯文本文件,不支持UNICODE编码的文件。
Q:文件转换、文件合并功能好理解,段落合并、段落切分是干什么的?
A:段落合并其实就是某些软件所吹嘘的“自动分段”功能:在转换、识别出来的文本文件中,往往在一个自然段中间加入了若干回车/换行符,成了一行一行的了,因此需要将这些多余的回车/换行符去掉,只在自然段结尾才出现回车/换行符。有人喜欢把这个功能称为“自动分段”,我更喜欢称为“段落合并”。
段落切分是段落合并的逆过程。段落合并完成后,在某些软件下阅读时可能因为行太长,给阅读带来不便,因此需要按照指定的行长对段落进行切分,切成一个一个短行。
Q:如何OCR繁体中文、日文、韩文书籍?
A:参见《在简体中文Office 2003下OCR繁体中文、日文、韩文》。
Q:如何提高OCR的识别率?
A:参见《用Pdg2Pic、TextForever实现批量OCR》。
Q:tcr功能是干什么用的?
A:tcr的全称是Text Compression for Reader,是一种在手机和PDA上看的电子书格式,此功能用来将txt文件打包成tcr格式,或将tcr格式解包。如果您只打算在PC上看书,相信您不会用到这个功能。tcr虽然也是一种文本压缩格式,但是专门针对手机和PDA这种存储空间和处理能力都很有限的环境,压缩能力和zip、rar当然不能比,不过总比没有强。所以在手持设备能够处理象zip和rar这样复杂的文件之前,我相信都会保持其流行趋势。
Q:为什么要开发TextForever?
A:我曾经极度热衷于在PC上看小说,但是从网上下载的网页多半不适合直接离线浏览,需要进行转换、整理等,然后才能符合我的收藏标准。现成的HTML到TXT的转换工具有不少,但是集转换、合并、分段、替换等功能于一体的好像还没有,尤其是分段工具,多半分完段后都会有哭笑不得的感觉,所以我才自己开发了这个工具。后来我又开始在手机上看小说,所以又加了tcr压缩/解压、文件切分等功能。
使用说明
一、软件安装/删除
本软件为纯正的绿色软件,不需要安装,下载ZIP包后直接展开、运行即可。删除时删除可执行文件和帮助文件即可。
软件包中仅包含下列两个文件,如果有其它的,保证不是我加的,请不要犹豫,立刻删除:
TextForever.exe。可执行文件。 TextForever.htm。本帮助文件。
另外如果在运行过程中改变了参数值,会自动生成TextForever.ini文件,删除时可以一起删除。
单独删除TextForever.ini文件后重新运行TextForever,所有参数将恢复成缺省值,相当于点击了“恢复”按钮。
二、软件使用
注意:TextForever会自动记忆您所设置的参数值(记录在TextForever.ini文件中),点击“恢复”按钮可以将所有参数恢复到缺省值。
1、HTML文件到文本文件的转换(HTML->Text)
根据需要设置选项(也可以什么不选,直接使用预设值),点击“转换选定文件”按钮,在弹出的对话框中选择需要转换的文件(按住Ctrl键或Shift键点击文件,即可选多个),然后点“打开”或“Open”按钮即可;或点“转换选定文件夹”按钮,在弹出的对话框中选择起始文件夹,然后点“确定”或“OK”按钮即可。
如果点的是“转换选定文件夹”按钮,并事先选了“包括子文件夹”选项,则转换时会自动转换所有子文件夹中的htm、html、shtml文件,否则只转换所选文件夹下的文件。
如果转换出来的内容不对,可能是因为真正的内容是用JavaScript动态生成的,可以选择“使用IE内核”,然后再点“开始转换”,重新试一遍。这个选项相当于IE的“另存为文本文件”功能,用缺省选项搞不定的网页,都可以用这个选项试试看。与在IE中打开网页不同的是,如果网页中有错,这里不会弹出错误对话框要求调试网页,而是直接跳过,反正错误对获取文本没有什么影响。
对于使用UTF-8编码的HTML文件(这种文件似乎越来越多了),情况有点复杂:
如果没有选择“使用IE内核”,则转换结果取决于“UTF-8转ANSI”选项:如果该选项被选中,则结果是ANSI编码的文本文件,否则是UTF-8编码的文本文件。
如果选择了“使用IE内核”,则转换结果一律是ANSI编码的文本文件。
如果在简体中文Windows下转换简体UTF-8编码的HTML文件,或者在繁体中文Windows下转换繁体UTF-8编码的HTML文件,转换出来的ANSI编码文件都不会有任何问题,所以缺省情况下“UTF-8转ANSI”选项是被选中的。但是如果要在简体中文Windows下转换繁体UTF-8编码的HTML文件,或在繁体中文Windows下转换简体UTF-8编码的HTML文件,直接转成ANSI多半会出现乱码,在这种情况下,只能不选“使用IE内核”、不选“UTF-8转ANSI”,将UTF-8编码的HTML转换成UTF-8编码的文本文件,然后再用“编码转换”功能,先将UTF-8转换成Unicode,再将Unicode转换成GB或Big5编码。
2、文件合并(Merge Files)
一般网站刊登电子版小说时,都是一章一个文件,因此在将HTML文件转换成TXT文件后,一般还需要按照章节顺序将转换出来的诸多TXT文件合并成一个文件。
使用方法:按照界面上标示出来的1、2、3、4、5顺序,先选择需要合并的文件,再合并后的文件,并根据需要设置选项,点“开始合并”按钮即可开始合并。
需要注意的是,如果在第1步选择的是“合并文件”而不是“合并文件夹”,可以指定对文件按照中文数字进行排序,这是专门为了处理像“第二十七章.txt”、“第三十一章.txt”这样的文件名而设置的。
3、段落合并(Paragraph)
在把HTML转换成TXT文件后,由于去掉了HTML中的段落控制,转出来的文件看起来可能会参差不齐,需要重新合并、分段。
使用方法:按照界面上标示出来的1、2、3顺序,先设置“源文件段落开始标志”选项,再设置“输出文件段落控制”选项,最后选择源文件。如果是对单个文件进行处理,则在“选择源文件”框中,先点“选择...”按钮选择源文件(如果前面做过文件合并,这里会自动填入合并后的文件名,则不再需要选择),再点“开始合并”按钮开始合并;如果是对多个文件进行操作,直接点“对多个文件中的段落进行合并...”按钮,然后在弹出的对话框中选择需要操作的所有文件(按住Ctrl键或Shift键点击文件,即可选多个)。
选项说明:
“源文件段落开始标志”框指定分段条件,即在输入文件中,满足什么样的条件算一个段落。这样的条件可以有4个:
以2个或指定个数的中文空格开头。 以4个或指定个数的英文空格开头。 上一行的长度比平均行长短少1/20。一般这个条件用于OCR出来、没有整理过的文件。如下面这段文字:
他很专注的检阅着自己刚获得的新领土。
虽然自己对空气中的这股刺鼻甜味并不是很喜欢,但只要习惯之后也就没什么。
他在这块领地上绕了整整一圈。看来这里似乎没有任何敌人的样子。
他抬起头来望着一道闸门,刚才自己就是从这里出发的。虽然他看不懂门上那块
牌子的文字,不过那里确实是写着'海德伯爵城馆:帝国中最小不隆咚的贵族城
馆。'
他端正的坐在门前,并盼望那扇门能够马上开启。因为自己一路睡到刚刚才醒的
关系,被关在门外也是不得已的。
然而,那扇门却没有任何开启的迹象。
很显然,每一段的最后一行都要比其它行短。 后面跟一个空行。 行末是指定的字符。这些字符可以编辑、记忆。
“输出文件段落控制”框指定输出格式,可以指定的内容包括:
段落的引导字符:可以是2个中文空格、4个英文空格或者什么也没有。 在段落后面加一个空行。 删除原文文本行的引导空格。 删除原文文本行的末尾空格。
4、段落切分(Reparagraph)
有时候在用段落合并功能对原文中的段落进行合并、整理后,还需要按照指定的行宽,对段落进行分行,避免在没有自动环绕功能的浏览器上出现横向滚动条。
段落合并功能与段落切分功能互为逆过程,如果对切分结果不满意,可以合并后重新切分。
使用方法:按照界面上标示出来的1、2、3顺序,先设置“输出段落”选项,再设置源文件是否保留备份,最后选择源文件。如果是对单个文件进行处理,则在“选择源文件进行操作”框中,先点“选择...”按钮选择源文件(如果前面做过文件合并,这里会自动填入合并后的文件名,则不再需要选择),再点“开始切分”按钮开始切分;如果是对多个文件进行操作,直接点“对多个文件中的段落进行切分...”按钮,然后在弹出的对话框中选择需要操作的所有文件(按住Ctrl键或Shift键点击文件,即可选多个)。
如果切分结果出现行末最后一个字节是半个汉字,则该汉字被分到下一行,以免出现乱码;如果切分结果中,行末会出现把一个英文单词劈成两半,则整个单词分到下一行;如果行末是英文空白、标点符号,则按照习惯,即使这些字符超出最大行长,也不分到下一行。
选项说明:
“最大行长”项说明分行的行长,以英文字符为单位。注意一个中文字符等于两个英文字符。 “段落开头添加”选项设置分行后段落的引导字符,可以是2个中文字符、4个英文字符或者什么也没有。 “在段落后添加空行”选项说明是否需要在段落后加一个空行。
5、编码转换(GB/GBK/Big5)
这个功能可以实现GB、GBK、Big5、Unicode码的相互转换,及从日文Shift JIS到中文GB 2312、UTF-8到Unicode的单向转换。为了省事,转码过程使用的是Windows本身提供的标准API接口。由于转码过程中需要用Unicode作为中间码,因此此功能不能在对Unicode支持非常有限的Windows 95/98/me下使用,只能在支持GBK/Big5/Shift JIS代码页的2000/XP下使用。正常情况下,只要IE能够正常显示中文简体、中文繁体、日文网页,即可正常转换。
使用方法:先设置文件选项、转码选项,然后点“转换选定文件”按钮,在弹出的对话框中选择需要转换的文件(按住Ctrl键或Shift键点击文件,即可选多个),然后点“打开”或“Open”按钮即可;或点“转换选定文件夹”按钮,在弹出的对话框中选择起始文件夹,然后点“确定”或“OK”按钮即可。
如果点的是“转换选定文件夹”按钮,并事先选了“包括子文件夹”选项,则转换时会自动转换所有子文件夹中的txt文件,否则只转换所选文件夹下的文件。
转码后如果出现固定的错别字,可以用“文本替换”功能进行修正。
文件选项说明:
覆盖原文件:转换后的文件将覆盖转换前的文件。 原文件另存为 bak 文件:转换后的文件不会覆盖转换前的文件,转换完成后将在原文件名后加后缀.bak。
转码选项说明:左侧为原文件中的汉字编码,右侧为转换后的汉字编码。
GB码:按照国家标准GB2312-80编排,包括全部简体字及常用符号。在中文简体版的Windows下显示为简体,在繁体版Windows下显示为乱码。 GBK码:是国家技术监督局1995年为中文Windows 95所制定的新的汉字内码规范(其中GB表示国标,K表示扩展)。该规范在字汇一级上支持ISO10646和GB13000中的全部中日韩(CJK)汉字,并与国家标准GB2312-80信息处理交换码相兼容。如果在中文简体版的Windows