• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Сохранение Веб-страницы В Формате Html Или Mht С Помощью Delphi

  • Автор темы Автор темы Sascha
  • Дата начала Дата начала

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,551
Баллы
155
Если вы хотите сохранить веб-страницу как необработанный HTML, вы должны выбрать «Веб-страница, только HTML (* .htm, * .html)». Он просто сохранит исходный HTML-код текущей страницы на вашем жестком диске. Это действие НЕ сохранит графику со страницы или других файлов, используемых на странице, а это означает, что если вы загрузили файл с локального диска, вы увидите неработающие ссылки на изображение.
Вот как сохранить веб-страницу как необработанный 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», затем нажмите кнопку «Создать единицу».
 
Вверх Снизу