Sla een webpagina op als HTML of MHT met Delphi

Wanneer u met Delphi werkt, kunt u met de TWebBrowser-component een aangepaste webbrowser-applicatie maken of internet-, bestands- en netwerkbrowsen, documentweergave en gegevensdownloadmogelijkheden toevoegen aan uw applicaties..

Een webpagina opslaan 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, gaat u naar het menu-item Bestand / Opslaan als ... In het dialoogvenster dat wordt geopend, hebt u verschillende bestandstypen aangeboden. Het opslaan van de pagina als een ander bestandstype heeft invloed op de manier waarop de pagina wordt opgeslagen.

De component TWebBrowser (op de "Internet" -pagina van het componentenpalet) 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 een HTML-bestand op een schijf inschakelen.

Een webpagina opslaan als onbewerkte HTML

Als u alleen een webpagina wilt opslaan als onbewerkte HTML, selecteert u "Webpagina, alleen HTML (* .htm, * .html)". Hiermee wordt de bron-HTML van de huidige pagina eenvoudig intact op uw schijf opgeslagen. 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 terug laadt vanaf de lokale schijf, u verbroken afbeeldingskoppelingen ziet.

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

Gebruik monster:

Notes

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

MHT: Webarchief, één bestand

Wanneer u een webpagina opslaat als "Webarchief, enkel bestand (* .mht)", wordt het webdocument opgeslagen in de indeling Multipurpose Internet Mail Extension HTML (MHTML) 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 te worden opgeslagen in een afzonderlijke map (zoals het geval is bij "Webpagina, compleet (* .htm, * .html)" ).

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

U kunt als volgt een webpagina opslaan als een enkel bestand (MHT-indeling) met Delphi-code:

Voorbeeld gebruik:

Notitie

  • De klasse _Stream is gedefinieerd in de ADODB_TLB-eenheid die u waarschijnlijk al hebt gemaakt. De IMessage- en IConfiguration-interfacecode van de cdosys.dll-bibliotheek. 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 op de knop "Create unit".

Geen TWebBrowser

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