C#如何实现网页快照

gongyiqin 2010-07-21 10:25:05
最近接了一个新任务
任务的中有一个很大的难点,那便是要用C#.net来实现网页快照的功能,并且要求可以通过该网页快照来链接相应网站。
...全文
1341 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivi沧海月明 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hangang7403 的回复:]
帮忙顶起
[/Quote]

我也用过这种方式,但是webbrowser无法获取其document的高度和宽度,所以截取的快照是固定大小的,有所缺陷,不知道阁下有没有什么好的解决方法?
heszh 2010-07-21
  • 打赏
  • 举报
回复

public class CreateHtmlHelper
{
public CreateHtmlHelper()
{ }

/// <summary>
/// 根据原文件生成指定的静态文件
/// </summary>
/// <param name="_SourceFileName">原文件【虚拟路径】,如aspx</param>
/// <param name="_TargetFileName">目标静态文件【虚拟路径】,如html</param>
/// <param name="_Ed"></param>
/// <returns></returns>
public static bool CreateHtml(string _SourceFileName,string _TargetFileName,Encoding _Ed)
{
return WriteFile(HttpContext.Current.Server.MapPath(_TargetFileName), RenderPage(_SourceFileName), _Ed);
}

#region 辅助方法

private static string RenderPage(string LocationPage)
{
StringBuilder v_Result = new StringBuilder();
HttpContext.Current.Server.Execute(LocationPage, new HtmlTextWriter(new StringWriter(v_Result)));
return v_Result.ToString();
}

private static bool WriteFile(string _FilePath, string _FileValue, Encoding _Encoding)
{
try
{
StreamWriter sw = new StreamWriter(_FilePath, false, _Encoding);
sw.Write(_FileValue);
sw.Close();
}
catch
{
return false;
}
return true;
}

#endregion
}


给你段代码吧!

这样调用:
CreateHtmlHelper.CreateHtml("快照网页", "网页名称", System.Text.Encoding.UTF8);

mayonglong 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 computerfox 的回复:]
参考,希望对你有帮助:
1、基于Asp.net C#实现HTML转图片(网页快照)
http://blog.sina.com.cn/s/blog_4b8d35b70100j91b.html

2、c#如何获取网页快照
http://social.microsoft.com/Forums/zh-CN/2212/thread/b0f83b46-4193-4134-8f2d-5d39c2c1b……
[/Quote]

~~~~
卧_槽 2010-07-21
  • 打赏
  • 举报
回复
快照就是把网页另存为么。
wuyq11 2010-07-21
  • 打赏
  • 举报
回复
快照是搜索引擎在收录网页时,对网页做的一个备份
WebSnap
http://topic.csdn.net/u/20081210/12/89c0c3cf-a5f8-4736-940c-30c311ae20ef.html
捷哥1999 2010-07-21
  • 打赏
  • 举报
回复
参考,希望对你有帮助:
1、基于Asp.net C#实现HTML转图片(网页快照)
http://blog.sina.com.cn/s/blog_4b8d35b70100j91b.html

2、c#如何获取网页快照
http://social.microsoft.com/Forums/zh-CN/2212/thread/b0f83b46-4193-4134-8f2d-5d39c2c1b927
hangang7403 2010-07-21
  • 打赏
  • 举报
回复
帮忙顶起
gongyiqin 2010-07-21
  • 打赏
  • 举报
回复
回复computerfox
你发的两份资料我有 不过还是谢谢了哦

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧