[转]用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();
}

 

转自:http://www.cnblogs.com/monthkey/archive/2004/06/15/15995.aspx

时间: 2024-08-22 14:09:11

[转]用C#实现将HTML文件转换为CHM文件的相关文章

win7系统把PDF文件转换为TXT文件的教程

  win7系统把PDF文件转换为TXT文件的教程          1.在网上搜索到类似的,可以将PDF格式文件转换成TXT文件的工具,这个功能是Windows系统中没有的,需要借助第三方软件来完成.搜索到类似的格式转换工具之后,下载安装即可. 2.我们这里以其中的一款工具为例,做一个详细的介绍,打开该工具,之后,看到左侧窗格中拥有多种选项,这里是需要将PDF文件转换为TXT文件,因此,这里就需要对应选择文件转TXT; 3.完成选择之后,可以看到右侧窗口中会有一个添加按钮,点击这个添加按钮,然

php使用Image Magick将PDF文件转换为JPG文件的方法

 这是一个非常简单的格式转换代码,可以把.PDF文件转换为.JPG文件,代码要起作用,服务器必须要安装Image Magick 扩展. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $pdf_file = './pdf/demo.pdf'; $save_to = './jpg/demo.jpg'; //make sure that apache has permissions to write in this folder! //(common problem)   //ex

将pdf文件转换为word文件的最简单方法

很多网友想知道怎么把PDF文件转换为word文件,方便编辑和使用,小编这里就教大家使用"福昕阅读器"这款软件可以轻松一步搞定.当然前提是你安装了word和福昕阅读器. 福昕阅读器是一款小巧高效的pdf阅读器,主要用于阅读.搜索和打印PDF文件.您可以通过福昕阅读器测量距离.插入图片.添加链接.创建注释.高亮文本.发送PDF邮件等. 方法步骤: 首先,用福昕阅读器打开你想要转换的pdf文件(这里以360云盘使用说明为例); 点击工具栏菜单的"文本查看器" ,把pdf文

reg2vbs.vbs 将Reg文件转换为VBS文件保存 脚本之家修正版本_vbs

复制代码 代码如下: '***************************************************************************** ' FileName: Reg2Vbs.VBS ' Author: baomaboy ' Abstract: 将Reg文件转换为VBS文件保存 '***************************************************************************** Dim WshSh

h264-将H264文件转换为Mp4文件

问题描述 将H264文件转换为Mp4文件 实现h264文件转换为mp4文件,不需要播放出来.用getnextnal()函数实现,不要用ffmpeg函数做. 解决方案 打开.h264文件流,新建一个mp4流,设置相关参数,dostart(),通过getnextnal函数获取nalu的长度,进行关键帧判断,用ProcessEncodedVideoFrame函数读取每一帧信息,dostop().也不知道思路对不对,求大神指导.总体效果是对话框中的一个按钮点击一下,实现文件的自动转换

php使用Image Magick将PDF文件转换为JPG文件的方法_php技巧

本文实例讲述了php使用Image Magick将PDF文件转换为JPG文件的方法.分享给大家供大家参考.具体如下: 这是一个非常简单的格式转换代码,可以把.PDF文件转换为.JPG文件,代码要起作用,服务器必须要安装Image Magick 扩展. $pdf_file = './pdf/demo.pdf'; $save_to = './jpg/demo.jpg'; //make sure that apache has permissions to write in this folder!

使用doc2help把DOC文件转换为CHM电子书

CHM电子书的制作实际上很简单,有了本篇文章介绍的一个小软件--(doc2help)就可以轻松实现,不需要其它复杂的软件,只要会使用WORD软件就可以了! 先将它下载下来,安装并运行之后我们可以看到它的界面非常小巧简洁(如图1). 相信大家对WORD都比较熟悉,由WORD制作出来的DOC文件,可以很容易的使用doc2help这个工具软件转换为CHM格式的电子书,CHM格式的电子书,一般来说都是各个软件的帮助文件所使用的格式. 另外,这款软件可以直接将DOC文件转换为HTML格式的网页文件,这样一

高人知道哪有HTML文件转换为XML文件的转换器不?

问题描述 我想通过配置文件的配置就可以让HTML文件转换为不同的XML文件内容谢谢! 解决方案 解决方案二:Xerces+nekohtml解决方案三:几乎没有这样得工具!自己解析HTML,取内容转换为XML.

如何将PDF文件转换为Word文件

第一步:下载安装捷速图片文字转换成word软件. 第二步:将PPT文件中的文字图片保存为图片格式,或者直接将文字图片截图保存下来. 第三步:打开捷速图片文字转换成word软件,点击"添加PDF/图像"按钮,找到保存的PPT文字图片,将其添加到软件界面中. 第四步:选择转换文件的保存位置.用户可以通过"浏览"按钮自定义文件的保存位置,也可以选择保存在原文件夹内. 第五步:点击"开始转换"按钮进行文件转换,用户可以等待片刻,然后就可以看到转换完成的提