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格式就行了
随机推荐
- a 标签提交表单
document.getElementById('ECS_FORMBUY').submit();
- OSPF笔记
OSPF:现实情况中99%的网络运行的是这种路由协议 OSPF有三张表:邻居表,链路状态数据库(LSDB),路由表 SPF算法 OSPF架构为花瓣形(不同area组成花瓣)就是为了防环,因为骨干区域运 ...
- Jackson解析XML
使用Jackson maven项目的pom.xml依赖 <dependency> <groupId>com.fasterxml.jackson.dataformat</g ...
- Java--实现单点登录
1 什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用 ...
- Matlab adaptive quadrature
% script to perform adaptive quadrature clear all, close all global pts % function to be integrated ...
- Java - 线程池设计与选择
http://ifeve.com/how-to-calculate-threadpool-size/ 任务一般可分为:CPU密集型.IO密集型.混合型,对于不同类型的任务需要分配不同大小的线程池. C ...
- 通过Eureka自带REST API强行剔除失效服务
1.确定需要强行剔除的服务 2.执行接口 方便复制: http://{ip}:{port}/eureka/apps/CONFIG-SERVER-TEST/tom:config-server-test: ...
- 内网访问已经启动的vue项目
1. 项目本机启动地址: http://localhost:8090/#/login 2.项目内网启动地址: http://192.168.1.172:8090/#/login 3. 在vue项目的 ...
- js之返回网页顶部
目标效果:浏览网页过程中,滑动滚轮,显示返回顶部按钮,点击返回顶部后,返回网页顶端. 代码如下: <!DOCTYPE html> <html lang="en"& ...
- 【读书笔记】iOS-对iOS应用进行模糊测试
一,模糊测试,是指通过反复向待测应用发送畸形的数据,对应用进行动态测试的过程. 二,模糊测试,也称动态分析,是一种构造非法输入并将其提供给应用,以期让应用暴露出某些安全问题的艺术和科学. 参考资料:& ...