在进行推荐chm转pdf的软件之前,首先来了解一下为什么我们要将chm转为pdf。

  CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”。CHM是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。

  CHM文件格式微软1998年推出的基于HTML文件特性的帮助文件系统,以替代早先的WinHelp帮助系统,它在Windows 98中把CHM类型文件称作“已编译的HTML帮助文件”。被IE浏览器支持的JavaScript、VBScript、ActiveX、Java Applet、Flash、常见图形文件(GIFJPEGPNG)、音频视频文件(MID、WAV、AVI)等等,CHM同样支持,并可以通过URL与Internet联系在一起。(来源:百度百科)

  从以上的介绍得知,chm有很多优点,但是chm格式也不是万能的。

  部分缺点如下:

    1.  跨平台性比较差,只能在微软平台下使用。
    2.  Chm修改起来不方便。
    3.  Chm阅读起来不方便,字体小,特别是针对高分辨率的电脑,chm的字体如蚂蚁,可以建议微软官方出软件或者改进chm阅读器,可以设置字体大小。

  针对这三个缺点,我们逐一击破。

  1. 跨平台性差的解决方法

    1)转为word

    2)转为pdf

2. Chm修改不方便的解决方法

  1)转为word

3. Chm阅读起来不方便的解决方法

    1)反编译为网页

    2)转为pdf

    3)转为word

    4)使用chm字体放大器(推荐使用free chmzoomer,国产免费软件)

综上所述,一共有4种方式来解决chm的缺点,但是我们应找到适合自己的方式。

  1. 排除反编译为网页的方法

比较麻烦,而且很多软件在进行反编译后,即使能够识别网页网页之间的关系,在将这反编译后的文件编译为pdf时,本人能力有限,没能找到合适的能够识别网页之间关系的转换工具,因而抛弃。

2. 转为word的方法

转为word的软件很多,缺点也很多,转为word之后,标签之类的就会消失,而标签是chm格式的优点,显然得不偿失,小文件还可以,比如十几页的或者几十页的,比如我所使用的softany chm to word,转换效果不错(可以再次将其转为pdf,自己加标签,也比较麻烦)

  3. 使用chm字体放大器,

对于IT工作者来说,阅读chm格式的帮助文档是家常事,目前有两款chm比较好的chm字体放大器,一个是chmzoomer,另一个是free chmzoomer,区别如下表

软件名称

软件生产基地

收费情况

chmzoomer

国外

收费

free chmzoomer

国内

免费

4.转为pdf

      到了正题,转为pdf,推荐软件以及差别如下表

软件名称

软件生产基地

收费情况

测试平台

处理文件大小

缺点

ABC Amber chm converter

国外

收费(可破解)

win7 64位 旗舰版

不大于几兆的文件

内存使用率高

softany chm to pdf

国外

收费(可破解)

不大于几十兆的文件

1.转换期间不能使用剪切板2.内存使用率高3.大文件耗时

chm to pdf pilot

未知

未知

未知

与我测试的系统不兼容

总结:上网搜索了六七个小时,才找到了适合自己的软件,有点浪费时间,个人推荐使用softany chm to pdf,能处理几十兆的文件,在处理88兆的chm时,总是出问题,推荐使用方式,在晚上休息前,电脑待机时转换,我的笔记本4G内存,使用率都达到了50%。友情提示,softany chm to pdf在使用时,软件默认的转换排版效果不是最佳,如下配置,可以达到与原chm相对一致的效果

chm 转 pdf 工具推荐与对比的更多相关文章

  1. 工具软件发现(编写chm 文件的工具)

    编写chm 文件的工具 1.PrecisionHelper 安装之后,发现 编写的很不方便,直接在html 上编写-- 不好用 2.Winchm (推荐) 很好用,赞!至少对比了上面那个复杂的操作之后 ...

  2. 五个免费UML建模工具推荐

    UML工具很多是商用的,价格不菲:而免费的UML建模工具,功能完善的很少.以下推荐的是五个免费的UML建模工具,相对而言还算功能比较不错. 1.免费UML建模工具推荐:JUDE – community ...

  3. Mac iOS Mac Watch 应用和游戏编程开发工具推荐

    今日分享「iOS / Mac / Watch 应用和游戏开发工具」推荐,这期专题主要为iOS开发者推荐一些优秀的设计和开发工具,这些工具包含移动原型的设计.程序的开发等,可以大大提高开发的效率!专题会 ...

  4. Java8 Stream性能如何及评测工具推荐

    作为技术人员,学习新知识是基本功课.有些知识是不得不学,有些知识是学了之后如虎添翼,Java8的Stream就是兼具两者的知识.不学看不懂,学了写起代码来如虎添翼. 在上篇<Java8 Stre ...

  5. 2015年最佳的12个 CSS 开发工具推荐

    CSS所能做的就是改变网页的布局.排版和调整字间距等,但编写 CSS 并不是一项容易的任务,当你接触新的 CSS3 属性及其各自的浏览器前缀的时候,你会发现很伤脑经.值得庆幸的是一些优秀的开发人员提供 ...

  6. 优秀工具推荐:超实用的 CSS 库,样板和框架

    当启动一个新的项目,使用 CSS 框架或样板,可以帮助您节省大量的时间.在这篇文章中,我编译整理了我最喜欢的 CSS 样板,框架和库,帮助你在建立网站或应用程序时更加高效. 您可能感兴趣的相关文章 精 ...

  7. 优秀工具推荐:两款很棒的 HTML5 游戏开发工具

    HTML5 众多强大特性让我们不需要多么高深技术就能创建好玩的网页游戏,同时证明了开放的 Web 技术能与任何其他在游戏开发中使用的技术竞争.正如标题所说,这篇文章推荐的几款很棒 HTML5 游戏开发 ...

  8. 生成chm文档工具- Sandcastle -摘自网络

    Sandcastle是微软官方的文档生成工具,NDoc开发停止后,这个貌似也是唯一的一个这方面的工具.它从dll文件及其xml注释文件能够 生成完整的帮助文档,支持多种生成格式(Helpe1x:chm ...

  9. 实用工具推荐(Live Writer)(2015年05月26日)

    1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...

随机推荐

  1. P3388 【模板】割点(割顶)

    P3388 [模板]割点(割顶) 题目背景 割点 题目描述 给出一个n个点,m条边的无向图,求图的割点. 输入输出格式 输入格式: 第一行输入n,m 下面m行每行输入x,y表示x到y有一条边 输出格式 ...

  2. CodeForces 500E New Year Domino

    题意: 从左到右排列着\(n\)个多米诺骨牌,它们分别站在\(x\)轴上的位置\(p_i\)上且高度为\(l_i\). 当第\(i\)个多米诺骨牌向右倒下时,如果\(p_i < p_j \leq ...

  3. Python中的魔法函数__repr__和__str__的实质性区别

    str 和 repr 方法:是自定义类的字符串描述,这两种都是比较 Pythonic 的方式去控制对象转化为字符串的方式. 调用这两个方法,返回的都是字符串.但是这两个方法又有一些区别 ** 1 两种 ...

  4. day04_08 while循环02

    练习题: 1.输出九九乘法表 2.使用#号输出一个长方形,用户可以指定宽和高,如果长为3,高为4,则输出一个 横着有3个#号,竖着有4个#号 的长方形. 3.如何输出一个如下的直角三角形,用户指定输出 ...

  5. ACM-ICPC 2018 沈阳赛区网络预赛 J树分块

    J. Ka Chang Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero p ...

  6. Android线程中使用Toast、dialog、loading

    代码改变世界 Android线程中使用Toast.dialog.loading Loading: Thread t1 = new Thread(new Runnable() { @Override p ...

  7. Problem 1004: 蛤玮打扫教室(区间覆盖端点记录)

    Problem 1004: 蛤玮打扫教室 Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger IO format:  %l ...

  8. 面试题之redis单线程为什么性能很高

    原因是,使用了多路复用技术. 什么是多路复用技术:多个客户端使用一个信道,并且通过一个信道进行传输

  9. 处理登录和cookie

    做法 1: 可以一步一步cookies,毫无疑问,这非常麻烦. import requests params = {'',''} r = requests.post('',params) r = re ...

  10. 使用 PHPMailer 发邮件

    /** * 发邮件 * * @param array $receiver 接收人信息 * @param array $attachment_info 附件信息 * @param string $is_ ...