使用TWebBrowser组件保存网页为html和mht文件 收藏
使用TWebBrowser組件保存網(wǎng)頁為html和mht文件 收藏
一、保存為HTML文件
uses ActiveX;
...
procedure WB_SaveAs_HTML(WB : TWebBrowser; const FileName : string) ;
var
? PersistStream: IPersistStreamInit;
? Stream: IStream;
? FileStream: TFileStream;
begin
? if not Assigned(WB.Document) then
? begin
??? ShowMessage('Document not loaded!') ;
??? Exit;
? end;
? PersistStream := WB.Document as IPersistStreamInit;
? FileStream := TFileStream.Create(FileName, fmCreate) ;
? try
??? Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;
??? if Failed(PersistStream.Save(Stream, True)) then ShowMessage('SaveAs HTML fail!') ;
? finally
??? FileStream.Free;
? end;
end; (* WB_SaveAs_HTML *)
使用方法:
WebBrowser1.Navigate('http://www.uufax.com') ;
//then save
WB_SaveAs_HTML(WebBrowser1,'c:/WebBrowser1.html') ;
二、另存為MHT單一文件
uses CDO_TLB, ADODB_TLB;
...
procedure WB_SaveAs_MHT(WB: TWebBrowser; FileName: TFileName) ;
var
? Msg: IMessage;
? Conf: IConfiguration;
? Stream: _Stream;
? URL : widestring;
begin
? if not Assigned(WB.Document) then Exit;
? URL := WB.LocationURL;
? Msg := CoMessage.Create;
? Conf := CoConfiguration.Create;
? try
??? Msg.Configuration := Conf;
??? Msg.CreateMHTMLBody(URL, cdoSuppressAll, '', '') ;
??? Stream := Msg.GetStream;
??? Stream.SaveToFile(FileName, adSaveCreateOverWrite) ;
? finally
??? Msg := nil;
??? Conf := nil;
??? Stream := nil;
? end;
end; (* WB_SaveAs_MHT *)
使用方法:
//first navigate
WebBrowser1.Navigate('http://www.uufax.com') ;
//then save
WB_SaveAs_MHT(WebBrowser1,'c:/WebBrowser1.mht') ;
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/sunstone/archive/2009/11/09/4788743.aspx
總結(jié)
以上是生活随笔為你收集整理的使用TWebBrowser组件保存网页为html和mht文件 收藏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2016年第2期】大数据背景下的治理现
- 下一篇: 作者:邹本友,男,中国人民大学信息学院博