Sla een webpagina op als HTML of MHT met Delphi

Bij het werken met Delphi, de TWebBrowser component kunt u een aangepaste maken Web browsing applicatie of om mogelijkheden voor internet, bestanden en netwerken, documentweergave en het downloaden van gegevens toe te voegen aan uw toepassingen.

Hoe een webpagina op te slaan vanuit TWebBrowser

Wanneer u Internet Explorer gebruikt, mag u de HTML-broncode van een pagina bekijken en die pagina opslaan als een bestand op uw lokale schijf. Als u een pagina bekijkt die u wilt behouden, ga dan naar Bestand / Opslaan als... menu onderdeel. In het dialoogvenster dat wordt geopend, hebt u verschillende bestandstypen aangeboden. Het opslaan van de pagina als een ander bestandstype heeft invloed op hoe de pagina wordt opgeslagen.

De TWebBrowser-component (op de "Internet" -pagina van het Component-palet) biedt toegang tot de webbrowserfunctionaliteit vanuit uw Delphi-toepassingen. Over het algemeen wilt u het opslaan van een webpagina die in een webbrowser wordt weergegeven, als HTML-bestand op een schijf inschakelen.

instagram viewer

Een webpagina opslaan als onbewerkte HTML

Als u een webpagina alleen als onbewerkte HTML wilt opslaan, selecteert u "Webpagina, alleen HTML (* .htm, * .html)". Het slaat eenvoudig de bron-HTML van de huidige pagina intact op uw schijf op. Met deze actie worden de afbeeldingen van de pagina of andere bestanden die op de pagina worden gebruikt NIET opgeslagen, wat betekent dat als u het bestand vanaf de lokale schijf laadt, u verbroken afbeeldingslinks ziet.

U kunt als volgt een webpagina opslaan als onbewerkte HTML met Delphi-code:

Gebruiksvoorbeeld:

Opmerkingen

  • De IPersistStreamInit- en IStream-interfaces worden gedeclareerd in de ActiveX-eenheid.
  • De webpagina wordt als onbewerkte HTML opgeslagen in het WebBrowser1.html-bestand in de hoofdmap van de C-schijf.

MHT: Web Archive, Single File

Wanneer u een webpagina opslaat als "Webarchief, enkel bestand (* .mht)", wordt het webdocument opgeslagen in de Multipurpose Internet Mail Extension HTML (MHTML) -indeling met een .mht-bestandsextensie. Alle relatieve links op de webpagina worden opnieuw toegewezen en de ingesloten inhoud wordt opgenomen in het .mht-bestand, in plaats van in een aparte map te worden opgeslagen (zoals het geval is met "Webpagina, compleet (* .htm, * .html) ").

Met MHTML kunt u webpagina's en andere HTML-documenten verzenden en ontvangen met e-mailprogramma's zoals Microsoft Outlook en Microsoft Outlook Express; of zelfs uw aangepaste Delphi-oplossingen voor het verzenden van e-mail. Met MHTML kunt u afbeeldingen rechtstreeks in de hoofdtekst van uw e-mailberichten insluiten in plaats van ze als bijlage bij het bericht te voegen.

Hier leest u hoe u een webpagina als een enkel bestand (MHT-indeling) opslaat met Delphi-code:

Voorbeeldgebruik:

Notitie

  • De _Stream-klasse is gedefinieerd in ADODB_TLB-eenheid die u waarschijnlijk al hebt gemaakt. De IMessage- en IConfiguration-interfacecode uit de bibliotheek cdosys.dll. CDO staat voor Collaboration Data Objects - objectbibliotheken die zijn ontworpen om SMTP-berichten in te schakelen.

De CDO_TLB is een automatisch gegenereerde eenheid van Delphi. Om het te maken, selecteert u in het hoofdmenu "Import Type Library", selecteert u "C: \ WINDOWS \ system32 \ cdosys.dll" en klikt u vervolgens op de knop "Eenheid maken".

Geen TWebBrowser

U kunt de WB_SaveAs_MHT-procedure herschrijven om een ​​URL-reeks (niet TWebBrowser) te accepteren om een ​​webpagina rechtstreeks op te slaan - u hoeft de WebBrowser-component niet te gebruiken. De URL van de webbrowser wordt opgehaald met de eigenschap WB.LocationURL.