Speichern Sie eine Webseite als HTML oder MHT mit Delphi

Wenn Sie mit Delphi arbeiten, können Sie mit der TWebBrowser-Komponente eine angepasste Webbrowser-Anwendung erstellen oder Ihren Anwendungen Funktionen zum Surfen im Internet, in Dateien und im Netzwerk, zum Anzeigen von Dokumenten und zum Herunterladen von Daten hinzufügen.

So speichern Sie eine Webseite von TWebBrowser

Bei Verwendung von Internet Explorer können Sie den HTML-Quellcode einer Seite anzeigen und diese Seite als Datei auf Ihrem lokalen Laufwerk speichern. Wenn Sie eine Seite anzeigen, die Sie behalten möchten, wechseln Sie zum Menüpunkt Datei / Speichern unter. In dem sich öffnenden Dialogfeld werden verschiedene Dateitypen angeboten. Das Speichern der Seite als anderer Dateityp wirkt sich darauf aus, wie die Seite gespeichert wird.

Die TWebBrowser-Komponente (auf der Seite "Internet" der Komponentenpalette) bietet Zugriff auf die Webbrowser-Funktionalität aus Ihren Delphi-Anwendungen. Im Allgemeinen möchten Sie das Speichern einer in einem WebBrowser angezeigten Webseite als HTML-Datei auf einer Festplatte aktivieren.

Speichern einer Webseite als unformatiertes HTML

Wenn Sie eine Webseite nur als Roh-HTML speichern möchten, wählen Sie "Webseite, nur HTML (* .htm, * .html)". Das Quell-HTML der aktuellen Seite wird einfach intakt auf Ihrem Laufwerk gespeichert. Diese Aktion speichert NICHT die Grafiken von der Seite oder anderen Dateien, die auf der Seite verwendet werden. Wenn Sie die Datei von der lokalen Festplatte zurückladen, werden daher fehlerhafte Bildverknüpfungen angezeigt.

So speichern Sie eine Webseite mit Delphi-Code als unformatiertes HTML:

Anwendungsbeispiel:

Anmerkungen

  • Die Schnittstellen IPersistStreamInit und IStream werden in der ActiveX-Einheit deklariert.
  • Die Webseite wird als unformatiertes HTML in der Datei WebBrowser1.html im Stammordner des Laufwerks C gespeichert.

MHT: Web Archive, Single File

Wenn Sie eine Webseite als "Webarchiv, einzelne Datei (* .mht)" speichern, wird das Webdokument im MHTML-Format (Multipurpose Internet Mail Extension HTML) mit der Dateierweiterung .mht gespeichert. Alle relativen Links auf der Webseite werden neu zugeordnet und der eingebettete Inhalt wird in die MHT-Datei aufgenommen, anstatt in einem separaten Ordner gespeichert zu werden (wie bei "Webseite, vollständig (* .htm, * .html)"). ).

Mit MHTML können Sie Webseiten und andere HTML-Dokumente mit E-Mail-Programmen wie Microsoft Outlook und Microsoft Outlook Express senden und empfangen. oder sogar Ihre benutzerdefinierten Delphi-E-Mail-Versandlösungen. Mit MHTML können Sie Bilder direkt in den Text Ihrer E-Mail-Nachrichten einbetten, anstatt sie an die Nachricht anzuhängen.

So speichern Sie eine Webseite als einzelne Datei (MHT-Format) mit Delphi-Code:

Beispielnutzung:

Hinweis

  • Die _Stream-Klasse ist in der ADODB_TLB-Unit definiert, die Sie wahrscheinlich bereits erstellt haben. Der IMessage- und IConfiguration-Schnittstellencode aus der cdosys.dll-Bibliothek. CDO steht für Collaboration Data Objects - Objektbibliotheken, die SMTP-Messaging ermöglichen.

Das CDO_TLB ist eine automatisch generierte Unit von Delphi. Um es zu erstellen, wählen Sie im Hauptmenü "Import Type Library", wählen Sie "C: \ WINDOWS \ system32 \ cdosys.dll" und klicken Sie dann auf die Schaltfläche "Create unit".

Kein TWebBrowser

Sie können die Prozedur WB_SaveAs_MHT so umschreiben, dass sie eine URL-Zeichenfolge (nicht TWebBrowser) akzeptiert, um eine Webseite direkt speichern zu können - die WebBrowser-Komponente muss nicht verwendet werden. Die URL von WebBrowser wird mithilfe der WB.LocationURL-Eigenschaft abgerufen.