chm文件转换成html文件,解决chm文件无法使用浏览器打开的问题
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code
CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”。CHM是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。
CHM文件的好处就是轻量、便捷、只读等,通过目录,能很方便的定位到文件中的各个位置;但是它也有很大的缺陷,就是只能使用特定的阅读器打开,比如微软提供的HTMLHelpWorkshop(系统自带)、eTextWizard等。但是我们在使用过程中,会经常遇到需要把CHM文件放到网站上,供用户查看,但是浏览器却不支持CHM的文件,因此就需要把CHM文件转换成html格式放到网站上。
在将CHM文件转换为HTML时,我也使用了一些第三方的转码工具,但是效果并不理想,转换之后很多都乱码了,亦或者是样式全部乱掉了,没法使用。因此就查找资料,发现通过微软自带的工具能够很轻松的把CHM文件反编译成HTML文件,且保持了原有的样式不变,下面就给大家分享一下,希望能够帮助有需要的人。
1.使用win+R,打开“运行”对话框;
2.输入cmd,打开DOS命令窗口;
3.在DOS窗口下输入代码:
d:(跳转到CHM所在的工作磁盘;如果你的CHM文件在系统盘的话,此步骤可省略)
cd CHM文档的路径名(跳转到CHM所在的目录,即工作目录)
hh -decompile 转换后HTML的保存路径 CHM文件的名称(调用微软系统自带的工具,执行反编译命令)

4.至此,反编译工作就全部完成了,我们就可以使用反编译后的HTML了。
5.注意点:
以上步骤随着命令的执行,可以清晰的看到当前工作目录的变化,如上图红色标注,能够很方便的指导我们的命令执行成功与否;
路径尽量使用英文,因为中文可能会因为编码问题,导致乱码;
这种反编译,不支持过长的文件名,因此反编译之前需要将CHM文件的名称改的简短一些,且不要有中文;
反编译之后的文件在本地查看的时候,可能会因为某些浏览器的跨域兼容问题(file://),导致有些功能不好用,比如目录展开之类的;但是将文件上传到服务器之后,该问题就会消失,请放心使用。
使用的时候,可以根据自己的需求进行适当修改,但尽量不要随便删除反编译之后的任何文件,否则会影响页面的样式及内容的完整性。
chm文件转换成html文件,解决chm文件无法使用浏览器打开的问题的更多相关文章
- 将json文件转换成insert语句的sql文件
引入是要的maven依赖: <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <depend ...
- 将object转换成dyamic类型 解决long输出到浏览器过长精度丢失问题
需求: 数据库使用飘雪算法保存唯一标识 是一个18位长整形 将数据输出到浏览器时出现了精度丢失问题,这是一个重大的BUG.如果没解决好整个项目都要改一遍. 讨论有三个办法 1.把所有实体 数据模型的 ...
- 如何将md文件转换成带目录的html文件
配置环境node 去官网下一个node安装包,下一步下一步: 由于现在的node都自带npm,直接 npm install i5ting_toc 这样安装好了i5ting_toc这个包, 进入你实现准 ...
- 将jar文件转换成exe可执行文件[转]
将jar文件转换成exe可执行文件: exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性. 如果你坚持要转换成exe文件,请按以下方式进行: 利用exe4j ...
- JAVA将文件转换成byte数组(byte[])
/** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...
- 在windows 下将 chm 格式的文件 转换成 html 的文件
有时我们可能需要将 chm 格式的文件 转换成 html 格式的网页文件,这时,如果你使用的是 windows 操作系统,那就可以用 windows 操作系统自带的反编译工具来完成这项任务,具体步骤: ...
- 使用bootstrap的html文件转换成jsp…
问题:使用bootstrap的html文件转换成jsp时表单高度变窄 解决方法: 将jsp中html文档类型修改为<!DOCTYPE html> 问题即可解决. 也就是bootstrap只 ...
- Python3.6安装protobuf模块+将proto文件转换成pb2.py文件
Python对版本的对应即为苛刻,笔者第一次安装时遇到了很多坑,比如无法将proto文件转换成py文件,转换了之后文件无法使用,网上各种各样的解决办法都没有讲到重点.其实会出现各种各样的问题是由于版本 ...
- mpp文件转换成jpg图片,可以用pdf文件做中转站
用project软件做了一个表,发现不能转换成图片,先把mpp文件转换成pdf文件,然后用PS打开pdf文件,存储为jpg格式就行了
随机推荐
- [POI2006] PRO-Professor Szu
Description \(n\) 个别墅以及一个主建筑楼,从每个别墅都有很多种不同方式走到主建筑楼,其中不同的定义是(每条边可以走多次,如果走边的顺序有一条不同即称两方式不同). 询问最多的不同方式 ...
- js------科学计数法转换为正常小数
// toD.js文件export default (val) => { const e = String(val) let rex = /^([0-9])\.?([0-9]*)e-([0-9] ...
- SQL while循环
ALTER Proc [dbo].[p_GetServerDataCursor] AS BEGIN IF EXISTS ( SELECT * FROM sys.objects WHERE object ...
- 了解java虚拟机—G1回收器(9)
G1(Garbage-First)回收器是在JDK1.7中正式使用的全新垃圾回收器,G1拥有独特的垃圾回收策略,从分代上看,G1依然属于分代垃圾回收器,它会区分年代和老年代,依然有eden和survi ...
- BI怎么选?重点看这10个技术指标
2016年,商业智能市场火热,不管是投资圈还是IT圈,都在广泛关注着大数据和商业智能.宣传广告媒体报道见多了,不知道大家对BI选型的技术标准有谱了没.笔者对Gartner的BI魔力象限考评的15个关键 ...
- IOS7如何获取设备唯一标识
WWDC 2013已经闭幕,IOS7 Beta随即发布,界面之难看无以言表...,简直就是山寨Android. 更让IOS程序猿悲催的是,设备唯一标识的MAC Address在IOS7中也失效了. I ...
- 【转】用yum只下载rpm包而不安装
转自:http://liucheng.name/1950/ CentOS用yum安装软件是非常方便的,有时,我们只需要下载其中的rpm包,而不直接安装时咋办呢? 一般情况下,yum是不提供只下载的功能 ...
- Jenkins 开启用户注册机制及用户权限设置
Jenkins 开启用户注册机制及用户权限设置 by:授客 QQ:1033553122 步骤 1. 系统管理-Configure Global Security 2. 设置
- selenium 之百度搜索,结果列表翻页查询
selenium之百度搜索,结果列表翻页查询 by:授客 QQ:1033553122 实例:百度搜索,结果列表翻页查询 解决问题:解决selenium driver获取web页面元素时,元素过期问题 ...
- How to deploy kotlin in androidstudio?
Kotlin is a good language,more playable than Java.So how do we deploy kotlin? First,install the kotl ...