C# html转mht
项目中引入cdosys.dll组件,位置: C:\Windows\System32\cdosys.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;
}
最新文章
- Xamarin.Forms listview中的button按钮,实现带着参数返回上一级页面
- C#并行编程中的Parallel.Invoke
- DP:Making the Grade(POJ 3666)
- 使用ASP.Net WebAPI构建REST服务(四)——参数绑定
- Flex应用一览表
- PMP考试的过与只是
- Ext JS学习第六天 Ext_window组件(三)
- google chrome字体最小12px的问题
- CVTE后台开发实习生岗位面试经验(2017.3)
- Maven简介(一)
- LTP语法分析
- windows下C++连接mysql
- layui xtree 实现一级节点单选 ,子节点复选
- Linux系统基础5周入门精讲(服务器介绍)
- Redis-安装时问题整理
- 关于Unity中坐标系的种类
- POJ 2752 KMP中next数组的理解
- 安装Nginx并为node.js设置反向代理
- 转载:【原译】Erlang性能的八个误区(Efficiency Guide)
- jquery 属性操作 attr( ) prop()css( )区别