|
zzhh612
中级用户
积分 278
发帖 103
注册 2006-10-21
状态 离线
|
『楼 主』:
关于txt转htm的问题,欢迎大家讨论
本人平时喜欢收集一些文本文档的资料,本想做一个txt转htm的批处理,将收集的大量东西转为htm,再编译成CHM的电子书,没想到刚着手,却先被txt转htm的问题难住了,本要在批处理专栏发帖的,想想这又不是DOS的问题,所以就在这发了,望版主不要说我发错地方了..
一种方法是一些电子书制作软件本身支持对txt的编译,它保持了文本的原样,但有一个致命的弱点就是不能支持全文搜索.这对于较大的CHM来说是相当不好的.弱点二是对于单行较长的,在浏览时不能自动换行,要通过横向滚动条拖动才能看完.
网上也很少有这种小软件,华军有一个也不过是通过在<pre></pre>间插入文本的方法,这种方法转成的htm可以保持txt的原始风格,且编译成CHM后可以支持全文搜索,但也是对于单行较长的,在浏览时不能自动换行.感觉很不便.
我到是用了一个笨点的方法,就是先用 替换文本内所有的空格,然后将文本每行行首加上<br>再将整个文本放入<p></P>之间,最后加上开始和结尾的代码,将扩展名改为htm就可以了.这先将文本转成htm再编译成chm,保持了文本的原有风格,而对于较长的行也能自动换行,并且也支持全文搜索,可有一点不足,就是转换后的htm文件比原来的txt文件大了近两倍(这是由于空格的替换造成的,但这是为了保持文本原有风格的代价),这对于大量的文本来说也是不太理想的,由于我网页方面知识有限,希望能有更精通的人来说一说文本转htm的最佳方法.
最好方法简单,易于实现,并且克服上述的缺点.
[ Last edited by zzhh612 on 2007-4-6 at 11:50 AM ]
|
|
2007-4-6 11:09 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
2 楼』:
楼主的想法先赞一个!
楼主可以搜索一下论坛,以前有过txt2html的相关讨论。
另外,可以把自己写的bat代码发出来,让大家来帮你逐步完善。
|
|
2007-4-6 12:23 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
3 楼』:
每2个西文空格可替换成1个全角汉字空格,这样体积上一致。整个文件体积会因此比“空格转 ”小一些。
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2007-4-6 21:16 |
|
|
estar
中级用户
积分 346
发帖 103
注册 2004-4-6
状态 离线
|
『第
4 楼』:
txt2html.vbs
'By est, electronicstar@126.com
'Copyright CN-DOS
set oSh=CreateObject("WScript.Shell")
If lcase(right(WScript.FullName,11))="wscript.exe" Then
oSh.Run "cmd /ccscript //NoLogo //e:vbscript " & WScript.ScriptFullName
WScript.Quit
End If
Set objDOM = CreateObject("htmlfile")
objDOM.write "<html><body><div id='targetDiv'></div></body></html>"
Set targetDiv=objDOM.getElementById("targetDiv")
targetDiv.innerText=WScript.StdIn.ReadAll
WScript.Echo objDOM.documentElement.outerHTML 用法
cscript //nologo < D:\test.txt > D:\test.htm
|
|
2007-4-6 22:42 |
|
|
zzhh612
中级用户
积分 278
发帖 103
注册 2006-10-21
状态 离线
|
『第
5 楼』:
楼上的方法与我的方法相似,只是用的是DIV标签代替了P,这种方法的缺点是对于文本格式中有较多的空格时,转换出来的文档会比原文档大很多,试了一下,40k的文本转换成htm后变成了57k.虽然只有17k 之差,可对于大量的文件就可观了.而用PRE标签基本可以保持大小不变化不大,只是不能自动换行,能两者兼顾吗,当然不是苛求,仅是探讨而已.
|
|
2007-4-7 09:56 |
|
|
estar
中级用户
积分 346
发帖 103
注册 2004-4-6
状态 离线
|
『第
6 楼』:
那么你zip一下嘛
今天懒得写pre版的了,明天再来
|
|
2007-4-7 13:20 |
|
|