用C#实现将html文件转换为chm文件
这些天因为工作需要,要将一些html文件转换为chm文件,当然是需要和程序结合在一起。
后来找到NDoc,里头有一段代码是相关的,于是开始分析代码,写完之后,总结:主要是利用微软的hhc.exe来编译html文件,程序需要将具体的数据写入hhp和hhc文件。
主要代码如下:
public void CompileProject()
{
Process helpCompileProcess = new Process(); //创建新的进程,NDOC采用Process启动HHC.EXE来Compile一个CHM文件
try
{
判断文件是否存在并不被占用
try
{
string path = _chmFile; //chm生成路径
if (File.Exists(path))
{
File.Delete(path);
}
}
catch
{
throw new Exception("文件被打开!");
}
ProcessStartInfo processStartInfo = new ProcessStartInfo();
processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
processStartInfo.FileName = hhcFile; //调入HHC.EXE文件
processStartInfo.Arguments = "\"" + Path.GetFullPath(GetPathToProjectFile()) + "\"";//获取空的HHP文件
helpCompileProcess.StartInfo = processStartInfo;
//开始生成....
helpCompileProcess.Start();
helpCompileProcess.WaitForExit(); //组件无限期地等待关联进程退出
if (helpCompileProcess.ExitCode == 0)
{
MessageBox.Show(new Exception().Message );
}
}
finally
{
helpCompileProcess.Close();
}
}
public void OpenProjectFile()
{
FileStream fs = new FileStream(GetPathToProjectFile(),FileMode.Create);
streamHtmlHelp = new System.IO.StreamWriter(fs,System.Text.Encoding.GetEncoding("GB18030"));
streamHtmlHelp.WriteLine("[FILES]");
}
public void AddFileToProject(string filename)
{
streamHtmlHelp.WriteLine(filename);
}
public void CloseProjectFile(string title)
{
streamHtmlHelp.WriteLine();
streamHtmlHelp.WriteLine("[OPTIONS]");
streamHtmlHelp.WriteLine("Title="+title );
streamHtmlHelp.WriteLine("Compatibility=1.1 or later");
streamHtmlHelp.WriteLine("Compiled file=" + GetCompiledHtmlFilename()); //chm文件名
streamHtmlHelp.WriteLine("Contents file=" + GetContentsHtmlFilename()); //hhc文件名
streamHtmlHelp.WriteLine("Default topic=" + _defaultTopic); //默认页
streamHtmlHelp.WriteLine("Display compile progress=No"); //是否显示编译过程
streamHtmlHelp.WriteLine("Language=0x804 中文(中国)"); //chm文件语言
streamHtmlHelp.WriteLine();
streamHtmlHelp.WriteLine("[INFOTYPES]");
streamHtmlHelp.Close();
}
转载于:https://www.cnblogs.com/monthkey/archive/2004/06/15/15995.html
用C#实现将html文件转换为chm文件相关推荐
- 将CHM文件转换为HTML文件
将CHM文件转换为HTML文件 如果要处理CHM文件,直接对其处理好像不太方便,微软提供的ShowHelp() API功能有限.这时我们可以讲CHM文件转换为HTML文件以便进行处理. 微软在Wind ...
- python批量pdf转word,python批量实现Word文件转换为PDF文件
本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...
- Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)
目录 1.创建项目 2.将.ui文件生成.py文件 2.1.Eric 6编译 2.2.Python命令行编译 2.3.脚本编译 3.界面.逻辑分离思想 在开始本文之前提醒各位朋友,Python记得安装 ...
- python npy文件_python实现npy格式文件转换为txt文件操作
如下代码会将npy的格式数据读出,并且输出来到控制台: import numpy as np ##设置全部数据,不输出省略号 import sys np.set_printoptions(thresh ...
- GDCM:将PAPYRUS 3.0文件转换为dcm文件的的测试程序
GDCM:将PAPYRUS 3.0文件转换为dcm文件的测试 GDCM:将PAPYRUS 3.0文件转换为dcm文件的测试 GDCM:将PAPYRUS 3.0文件转换为dcm文件的测试 #includ ...
- GDCM:DICOM文件转换为QImage文件的测试程序
GDCM:DICOM文件转换为QImage文件的测试程序 GDCM:DICOM文件转换为QImage文件的测试程序 GDCM:DICOM文件转换为QImage文件的测试程序 #include &quo ...
- python 将excel文件转换为txt文件_python利用pandas将excel文件转换为txt文件的方法
python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...
- php jpg转换为pdf文件,php使用ImageMagick将PDF文件转换为JPG文件的方法_PHP
本文实例讲述了php使用Image Magick将PDF文件转换为JPG文件的方法.分享给大家供大家参考.具体如下: 这是一个非常简单的格式转换代码,可以把.PDF文件转换为.JPG文件,代码要起作用 ...
- php生成图片文件流,php如何将base64数据流文件转换为图片文件?
2017-03-07 在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片. 也就是说 ***image/后面的jpg是我们的图片文件格式,(base64,)后面的很大一 ...
- office文件转换为pdf文件
office文件转换为pdf文件 首先安装openoffice,自行百度 导入jar包,自行百度 引入坐标: <!-- 转pdf配置 --><dependency><gr ...
最新文章
- Win64 驱动内核编程-1.环境搭建
- Yii2 的小贴士用法
- [OS][FS]查看ext3文件系统分区的superblock
- ppt转html5 带动画_我复刻了IPhone12这页发布会PPT
- layer绑定回车事件(转)
- python按索引删除字符串,基于特定的索引字符串值选择记录,然后通过python删除后续字段...
- win10 如何锁定计算机,Win10 1909 专业版怎么锁定计算机屏幕
- 解决 Plugin with id 'com.github.dcendents.android-maven' not found.
- 大数据的“媒体玩法”
- python怎么安装json_python里面怎么安装json包
- 为什么你说的话别人不愿意听?
- Linux查看硬盘挂载
- cad2020打印样式放在哪个文件夹_压箱底!这些CAD打印设置技巧只能从老师傅身上学到...
- Spring MVC ajax请求
- Tony.SerialPorts.RS232串口参数配置模块:扫描事件例程
- 已解决:error: cannot connect to daemon
- Geekban极客班 第三周
- RabbitMQ管理平台功能说明文档
- 阿里巴巴自动驾驶三维点云分割PointNet实现
- 抖音中的搞笑BGM如何提取,MP3转换器怎么使用