在进行推荐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. loj2031 「SDOI2016」数字配对

    跑最大费用最大流,注意到每次 spfa 出来的 cost 一定是越来越少的,啥时小于 \(0\) 了就停了吧. #include <iostream> #include <cstri ...

  2. IOS开发之----全局变量extern的使用

    extern,作用在IOS中,为了使用全局变量.比写在appDelegate和定义单例方便一些: 举例: 1.MyExternClass.h添加这个类,并在.m文件添加 代码 #import &quo ...

  3. Node.js中测试mysql的代码var client = mysql.createClient运行出错:TypeError: Object # has no method ‘createClient’

    今天在WebStorm下熟悉一个node.js的项目,配置环境时,手一抖,将mysql包从0.8升级到了2.1.1,结果再运行时就出错了. [Fri Mar 14 2014 17:05:49] 连接数 ...

  4. [java开发篇][dom模块] 遍历解析xml

    http://blog.csdn.net/andie_guo/article/details/24844351 XML DOM节点树 XML DOM将XML文档作为树结构,树结构称为一个节点树.所有的 ...

  5. 【Luogu】P2447外星千足虫(高斯消元)

    题目链接 高斯消元解%2意义下的方程,Bitset优化一下. 在消的过程中就能顺便把有解的第一问求出来,记录一下访问过的最大行. #include<cstdio> #include< ...

  6. ECMA-262 Extractions

    For the purpose of this article, ECMA-262 refers to ECMAScript® 2017 Language Specification. ECMAScr ...

  7. POJ——2236Wireless Network(暴力并查集)

    Wireless Network Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 22107   Accepted: 928 ...

  8. mybatis学习(十)——缓存介绍

    与Hibernate一样,MyBatis 也提供了一级缓存和二级缓存的支持. 1.一级缓存:(本地缓存)SqlSession级别的缓存,默认一直开启的 , 与数据库同一次会话期间的数据会放到本地缓存中 ...

  9. 【前端学习笔记】2015-09-09~~~~nodejs中的require()和module.exports

    nodejs中一个js文件就可以看做是一个模块 在node环境中,可以直接var a=require('模块路径以及不带扩展名的模块名') exports---module.exports 其中nod ...

  10. 聊聊 Spring Boot 2.0 的 WebFlux

    聊聊 Spring Boot 2.0 的 WebFlux## 前言 对照下 Spring Web MVC ,Spring Web MVC 是基于 Servlet API 和 Servlet 容器设计的 ...