为什么要转CHM?

  1. 有些书,TXT的资源非常好找,而CHM的资源非常难找(先不论PDF格式的,只是话说PDF格式的没有一个书签文件夹看起来也非常难受)
  2. 而CHM格式在左側有一个文件夹结构,我最喜欢这个文件夹结构,这让我对全书有个大概的了解,做到了心中有数
  3. 我是一个先整体在局部的人,因此我喜欢CHM

过程

  1. 经过搜索我找到了Qucikchm这款软件来进行TXT转CHM
  2. 可是这款软件中每一个章节标签内的内容是不自己主动换行的..这样看起来非常变扭,看内容还须要左右拖拉
  3. 经过长时间的鼓捣,还是没有好的解决的方法(里面的格式选项没法点,全是unabled)
  4. 于是换软件,换成"CHM文件生成器",攻克了这个问题...
  5. 但与Qucikchm一样的是,这个软件也是1个TXT文件生成一个文件夹标签
  6. 于是仅仅有想办法切割原TXT文件...
  7. 期间尝试了N个TXT文本切割软件,终于选择"TXT杀手终于标题版本号"
  8. 原因有二
    1. 能够依据章节切割TXT文本
    2. 对终于生成N个TXT章节文本的名称能够用正则来控制,这就能够由用户来自己选择将来生成的CHM文件的标签文件夹中的内容

须要解决的难点?

  1. CHM中每一个章节的自己主动换行
  2. CHM每一个章节,以章节名称为索引,而不是以第一章,第二章,第三章为名称为索引
    1. 解决方式:TXT切割成以章节名称为文件名称的各个TXT文本

解决的总体方案


从TXT-->CHM,使用两款软件

  1. TXT杀手(终于标题版本号),下载http://www.pc6.com/softview/SoftView_57222.html
  2. CHM文件生成器,下载http://www.onlinedown.net/soft/107880.htm?src=360
前者切割TXT文件
后者把切割的N个TXT文件转为总体的CHM文件...

样例


把梁文道的<常识>一书的TXT转为CHM

1.先建立"常识"目录,内有"常识.txt","常识 单独章节"目录,如图




2.打开"TXT杀手终于标题版本号",例如以下




3.依据自己的需求进行设置,例如以下




4.依据设置分析TXT文件,例如以下




5.输出单独章节

在"常识 单独章节"中将生成N个txt文本,例如以下



6.此时,能够关闭"TXT杀手终于标题版本号",打开"CHM文件生成器",例如以下




7.单击"演示",学会使用"CHM文件生成器",例如以下

8.依据教程使用"CHM文件生成器",例如以下

9.生成"常识.chm",例如以下

10.常识内容展示,例如以下

不足与局限

当然,这样的方案也有非常多的局限,至少
当结构层次多了,整个生成过程就没那么简单了...(但个人也觉得,能够把这样的层次的整理,当做对书本的第一次吸收)...


关于TXT转CHM的完整解决方式的更多相关文章

  1. SafeNet推出行业首款白盒password软件保护解决方式

    数据保护领域的全球率先企业SafeNet公司日前宣布,推出行业首款採用白盒安全技术的的软件保护方案.SafeNet 圣天诺 软件授权与保护解决方式如今纳入了新的功能,可在"白盒" ...

  2. Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)

    补遗 关于网络接收的软中断负载均衡,已经有了成熟的方案,可是该方案并不特别适合数据包转发,它对server的小包处理非常好.这就是RPS.我针对RPS做了一个patch.提升了其转发效率. 下面是我转 ...

  3. 升级iOS8系统后,保险箱Pro、私人保险箱、私密相冊打开就闪退的官方解决方式

    升级iOS8系统后,保险箱Pro.私人保险箱.私密相冊打开就闪退的官方解决方式   写在前面的话: 1.   本文适用条件    适用于:您的保险箱Pro.私人保险箱.私密相冊在iPhone或iPad ...

  4. WEB安全实战(五)XSS 攻击的第二种解决方式(推荐)

    序 说到 XSS 攻击,前边已经有两篇文章在讲这个事了,这次又拿出来说,主要是针对近期工作中的一些新的问题.那么之前是怎么解决问题的呢?为什么又要换解决方式?以下就具体的跟大家分享一下. 旧方案 公司 ...

  5. Linux转发性能评估与优化(转发瓶颈分析与解决方式)

    线速问题 非常多人对这个线速概念存在误解. 觉得所谓线速能力就是路由器/交换机就像一根网线一样. 而这,是不可能的.应该考虑到的一个概念就是延迟. 数据包进入路由器或者交换机,存在一个核心延迟操作,这 ...

  6. JavaScript跨域解决方式

    平时工作中经常被JavaScript跨域问题所困扰,其实有很多种解决方式,下面给大家介绍常用的几种: 1.jsonp解决跨域问题 客户端代码: <!DOCTYPE html> <ht ...

  7. 自学Linux Shell9.3-基于Red Hat系统工具包:RPM属性依赖的解决方式-YUM在线升级

    点击返回 自学Linux命令行与Shell脚本之路 9.3-基于Red Hat系统工具包:RPM属性依赖的解决方式-YUM在线升级 本节主要介绍基于Red Had的系统(测试系统centos) yum ...

  8. 移动基于Percona XTRADB Cluster的大数据解决方式

    移动基于Percona XTRADB Cluster的大数据解决方式          一.移动的去IOE之旅      近期由于"棱镜门"事件的曝光.引起了国家对信息安全问题的注 ...

  9. 使用AndroidStudio编译NDK的方法及错误解决方式

    參考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article ...

随机推荐

  1. 5805 NanoApe Loves Sequence(想法题)

    传送门 NanoApe Loves Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/131072 K ( ...

  2. C# string.Split对于换行符的分隔正确用法

    C# string.Split对于换行符的分隔正确用法 tmpCase "11117144-8c91-4817-9b92-99ec2f9d784a\r\n23D95A26-012C-4332 ...

  3. Jquery easyui-combobox 的一个BUG

    通过easyui-combobox的loadData方法,easyui-combobox可以实现一个带字符搜索的下拉框,如下图: 但是这个下拉框中的字符串如果包含一些特殊字符的时候,就会出现BUG,通 ...

  4. Java中的匿名类

    我们知道接口一般用于定义一种规范或操作协议,然后子类实现接口的所有功能.如下面的简单代码: 定义IMessage接口 package org.lyk.entities; public interfac ...

  5. OpenWrt刷机

    http://blog.163.com/l1_jun/blog/static/14386388201441344612/ http://blog.chinaunix.net/uid-25073805- ...

  6. Effective C++_笔记_条款05_了解C++默认编写并调用哪些函数

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 直接上代码: 1: class Empty{}; 如果你写了这样 ...

  7. jQuery中的.height()、.innerHeight()和.outerHeight()

    jQuery中的.height()..innerHeight()和.outerHeight()和W3C的盒模型相关的几个获取元素尺寸的方法.对应的宽度获取方法分别为.width()..innerWid ...

  8. iOS:UIWebView scrollView 的分页滑动问题

    最近在弄一个native webview+html的项目,感觉这种尝试还是挺不错的,特被是适合内容类app.如杂志.电子书等.其实native搭的就是一个框架,主体还是在html的内容上,所以花在ht ...

  9. 2.let 和 const

    Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行. Babel 提供一个REPL在线编译器,可以在线将 ES6 代码转为 ES5 代码.转换后的 ...

  10. ASP.NET Core 添加统一模型验证处理机制

    一.前言 模型验证自ASP.NET MVC便有提供,我们可以在Model(DTO)的属性上加上数据注解(Data Annotations)特性,在进入Action之前便会根据数据注解,来验证输入的数据 ...