Zapisz stronę internetową jako HTML lub MHT za pomocą Delphi

Podczas pracy z Delphi, TWebBrowser komponent umożliwia utworzenie niestandardowego Aplikacja do przeglądania stron internetowych lub w celu dodania do aplikacji możliwości przeglądania Internetu, przeglądania plików i sieci, przeglądania dokumentów i pobierania danych.

Jak zapisać stronę internetową z TWebBrowser

Korzystając z przeglądarki Internet Explorer, możesz przeglądać źródłowy kod HTML strony i zapisywać ją jako plik na dysku lokalnym. Jeśli przeglądasz stronę, którą chcesz zachować, przejdź do Plik / Zapisz jako... pozycja w menu. W otwartym oknie dialogowym dostępnych jest kilka typów plików. Zapisanie strony jako innego rodzaju pliku wpłynie na sposób zapisywania strony.

Komponent TWebBrowser (znajdujący się na stronie „Internet” palety składników) zapewnia dostęp do funkcji przeglądarki internetowej z poziomu Aplikacje Delphi. Ogólnie rzecz biorąc, chcesz włączyć zapisywanie strony internetowej wyświetlanej w programie WebBrowser jako pliku HTML na dysku.

Zapisywanie strony internetowej jako nieprzetworzonego HTML

instagram viewer

Jeśli chcesz tylko zapisać stronę internetową jako nieprzetworzony HTML, wybierz „Strona internetowa, tylko HTML (* .htm, * .html)”. Po prostu zapisze nienaruszony źródłowy kod HTML bieżącej strony na dysku. Ta czynność NIE spowoduje zapisania grafiki ze strony ani żadnych innych plików użytych na stronie, co oznacza, że ​​jeśli ponownie załadujesz plik z dysku lokalnego, zobaczysz uszkodzone łącza do obrazów.

Oto jak zapisać stronę internetową jako nieprzetworzony HTML przy użyciu kodu Delphi:

Przykład użycia:

Notatki

  • Interfejsy IPersistStreamInit i IStream są deklarowane w jednostce ActiveX.
  • Strona internetowa jest zapisywana jako nieprzetworzony kod HTML do pliku WebBrowser1.html w folderze głównym dysku C.

MHT: Archiwum sieciowe, pojedynczy plik

Po zapisaniu strony internetowej jako „Archiwum WWW, pojedynczy plik (* .mht)” dokument internetowy zostaje zapisany w formacie HTML (MHTML) z rozszerzeniem .mht. Wszystkie względne łącza na stronie internetowej są ponownie mapowane, a osadzona treść jest zawarta w pliku .mht, zamiast zapisywania w osobnym folderze (jak w przypadku „Strony internetowej, kompletna (* .htm, * .html) ”).

MHTML umożliwia wysyłanie i odbieranie stron internetowych i innych dokumentów HTML za pomocą programów e-mail, takich jak Microsoft Outlook i Microsoft Outlook Express; a nawet niestandardowe rozwiązania wysyłania wiadomości e-mail Delphi. MHTML umożliwia osadzanie obrazów bezpośrednio w treści wiadomości e-mail zamiast dołączania ich do wiadomości.

Oto jak zapisać stronę internetową jako pojedynczy plik (format MHT) za pomocą kodu Delphi:

Przykładowe użycie:

Uwaga

  • Klasa _Stream jest zdefiniowana w jednostce ADODB_TLB, którą prawdopodobnie już utworzyłeś. Kod interfejsów IMessage i IConfiguration z biblioteki cdosys.dll. CDO oznacza Collaboration Data Objects - biblioteki obiektów zaprojektowane w celu umożliwienia wysyłania wiadomości SMTP.

CDO_TLB jest jednostką generowaną automatycznie przez Delphi. Aby go utworzyć, w menu głównym wybierz „Importuj bibliotekę typów”, wybierz „C: \ WINDOWS \ system32 \ cdosys.dll”, a następnie kliknij przycisk „Utwórz jednostkę”.

Brak TWebBrowser

Możesz przepisać procedurę WB_SaveAs_MHT, aby zaakceptować ciąg adresu URL (nie TWebBrowser), aby móc bezpośrednio zapisać stronę internetową - nie trzeba używać komponentu WebBrowser. Adres URL z przeglądarki WebBrowser jest pobierany za pomocą właściwości WB.LocationURL.