zoukankan      html  css  js  c++  java
  • C# html转mht

    项目中引入cdosys.dll组件,位置:  C:WindowsSystem32cdosys.dll

    CDO、ADODB 这些类都来自于cdosys.dll组件

    /// <summary>
    /// 把Html格式二进制流转换成Mht格式的二进制流
    /// </summary>
    /// <param name="htmlUrl">Html格式的二进制流</param>
    /// <returns>Mht格式的二进制流</returns>
    public static byte[] ConvertHtmlUrlToMht(string htmlUrl)
    {
    string _CharSet = "gb2312";
    string strMhtContent = string.Empty;
    byte[] BytMhtContent = null;
    CDO.Message message = new CDO.MessageClass();
    ADODB.Stream stream = null;
    message.MimeFormatted = true;
    message.CreateMHTMLBody(htmlUrl, CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
    stream = message.GetStream();
    stream.Charset = _CharSet;
    strMhtContent = stream.ReadText(stream.Size);
    BytMhtContent = Encoding.GetEncoding(_CharSet).GetBytes(strMhtContent);
    return BytMhtContent;
    }
    /// <summary>
    /// 把Html格式二进制流转换成Mht格式的二进制流,成功返回true,失败返回false
    /// </summary>
    /// <param name="htmlUrl">Html格式的二进制流</param>
    /// <param name="filePath">Mht文件的保存路径</param>
    /// <returns>操作结果 成功:true,失败;false</returns>
    public static bool ConvertHtmlUrlToMht(string htmlUrl, string filePath)
    {
    bool isConvertHtmlBytesToMht = false;
    CDO.Message message = new CDO.MessageClass();
    ADODB.Stream stream = null;
    message.MimeFormatted = true;
    message.CreateMHTMLBody(htmlUrl, CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
    stream = message.GetStream();
    stream.SaveToFile(filePath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
    message = null;
    stream.Close();
    isConvertHtmlBytesToMht = true;
    return isConvertHtmlBytesToMht;
    }

  • 相关阅读:
    C++ Primer 读书笔记 第六章
    C++ Primer 读书笔记 第十章
    面试题笔记
    C++ Primer 读书笔记 第八章
    ZedGraph源码学习(三)
    一个简单的代码生成器XML与XLST的应用测试。
    信息导到Execl上.
    SQL相关功能实现.
    ZedGraph源码学习(二)
    EXECL导入(检查服务器版本.包括NPOI方式导入.可以通过配置文件信息导入EXECL)代码记录下.
  • 原文地址:https://www.cnblogs.com/wq3if2in/p/3625930.html
Copyright © 2011-2022 走看看