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格式就行了
随机推荐
- Django之模型层(单表操作)
一.ORM简介 MVC和MTV框架中包含一个重要部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库. ORM是‘对象-关系- ...
- C++的静态联编和动态联编
联编的概念 联编是指一个计算机程序自身彼此关联的过程,在这个联编过程中,需要确定程序中的操作调用(函数调用)与执行该操作(函数)的代码段之间的映射关系. 意思就是这个函数的实现有多种,联编就是把调用和 ...
- MVC分部视图@Html.Partial
加载分布视图的方式: //1.以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹) @Html.Partial("_test") //加载对应文件 /Vie ...
- c# 对象集合转Json
/// <summary> /// 普通集合转换Json /// </summary> /// <param name="array">集合对象 ...
- git+github/码云+VSCode (转载)
VSCode中使用git,参见. Git安装 在初次使用时如果本地没有安装git会提示先安装git,然后重启vscode. 一.本地操作项目前提: 1)若本地没有git拉取下来的项目,用git克隆 ...
- .net MVC使用Session验证用户登录(转载)
.net MVC使用Session验证用户登录 用最简单的Session方式记录用户登录状态 1.添加DefaultController控制器,重写OnActionExecuting方法,每次访问 ...
- vb.bet 控件
TextBox1.BackColor = Color.White'设置控件的背景色(白色) TextBox1.BackColor = Color.Yellow'设置控件的背景色(黃色) TextBox ...
- 【Java】XML文件的解析
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- 如何完全卸载oracle和删除oracle在注册表中的注册信息
卸载步骤介绍 1.停止所有Oracle相关的服务 操作方法: 控制面板-->管理工具 -->服务 -->将所有oracle开头的服务均停止 2.卸载Oracle 10g数据库服务器组 ...
- maven+eclipse创建web项目
第一步,创建maven工程,如下图步骤 选择maven-archetype-webapp,然后next 输入GroupId和ArtifactId,Package可以为空,然后finish 新创建的ma ...