- Регистрация
- 9 Май 2015
- Сообщения
- 1,551
- Баллы
- 155
Если вы хотите сохранить веб-страницу как необработанный HTML, вы должны выбрать «Веб-страница, только HTML (* .htm, * .html)». Он просто сохранит исходный HTML-код текущей страницы на вашем жестком диске. Это действие НЕ сохранит графику со страницы или других файлов, используемых на странице, а это означает, что если вы загрузили файл с локального диска, вы увидите неработающие ссылки на изображение.
Вот как сохранить веб-страницу как необработанный HTML с помощью кода Delphi:
Вот как сохранить веб-страницу как один файл (формат MHT) с помощью кода Delphi:
CDO_TLB является автоматически созданным модулем Delphi. Чтобы создать его, в главном меню выберите «Библиотека импорта типов», выберите «C: \ WINDOWS \ system32 \ cdosys.dll», затем нажмите кнопку «Создать единицу».
Вот как сохранить веб-страницу как необработанный HTML с помощью кода Delphi:
Код:
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 *)
Код:
procedure TForm1.LoadClick(Sender: TObject);
begin
WebBrowser1.Navigate('http://guardianelinks.dscloud.me') ;
end;
procedure TForm1.SaveClick(Sender: TObject);
begin
WB_SaveAs_HTML(WebBrowser1,'c:\test\WebBrowser1.html') ;
end;
Вот как сохранить веб-страницу как один файл (формат MHT) с помощью кода Delphi:
Код:
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 *)
Код:
//Load
WebBrowser1.Navigate('http://delphi.about.com') ;
//save
WB_SaveAs_MHT(WebBrowser1,'c:\WebBrowser1.mht') ;
CDO_TLB является автоматически созданным модулем Delphi. Чтобы создать его, в главном меню выберите «Библиотека импорта типов», выберите «C: \ WINDOWS \ system32 \ cdosys.dll», затем нажмите кнопку «Создать единицу».