Spara en webbsida som HTML eller MHT med hjälp av Delphi

När du arbetar med Delphi låter TWebBrowser-komponenten skapa en anpassad webbläsarapplikation eller lägga till internet-, fil- och nätverkssökning, dokumentvisning och datahämtningsfunktioner i dina applikationer.

Hur man sparar en webbsida från TWebBrowser

När du använder Internet Explorer får du se källens HTML-kod för en sida och spara den sidan som en fil på din lokala enhet. Om du visar en sida som du vill behålla, gå till menyalternativet File / Save As .... I dialogrutan som öppnas har du flera filtyper som erbjuds. Spara sidan som en annan filtyp påverkar hur sidan sparas.

TWebBrowser-komponenten (som finns på sidan "Internet" i komponentpaletten) ger åtkomst till webbläsarfunktionen från dina Delphi-applikationer. I allmänhet vill du aktivera spara en webbsida som visas i en WebBrowser som en HTML-fil på en disk.

Spara en webbsida som en rå HTML

Om du bara vill spara en webbsida som en rå HTML väljer du "Webbsida, endast HTML (* .htm, * .html)". Det sparar helt enkelt den nuvarande sidans käll-HTML på din enhet intakt. Den här åtgärden sparar INTE grafiken från sidan eller andra filer som används på sidan, vilket innebär att om du laddade filen tillbaka från den lokala disken, skulle du se trasiga bildlänkar.

Så här sparar du en webbsida som rå HTML med hjälp av Delphi-kod:

Användningsprov:

anteckningar

  • Gränssnitten IPersistStreamInit och IStream deklareras i ActiveX-enheten.
  • Webbsidan sparas som en rå HTML i WebBrowser1.html-filen i rotmappen på C-enheten.

MHT: Webbarkiv, enda fil

När du sparar en webbsida som "webbarkiv, enstaka fil (*. Mht)" sparas webbdokumentet i HTML-formatet Multipurpose Internet Mail Extension HTML (MHTML) med en filtillägg .mht. Alla relativa länkar på webbsidan omappas om och det inbäddade innehållet ingår i .mht-filen istället för att sparas i en separat mapp (som fallet är med "Webbsida, komplett (* .htm, * .html)" ).

Med MHTML kan du skicka och ta emot webbsidor och andra HTML-dokument med hjälp av e-postprogram som Microsoft Outlook och Microsoft Outlook Express; eller till och med dina anpassade Delphi-e-postsändningslösningar. Med MHTML kan du bädda in bilder direkt i kroppen på dina e-postmeddelanden snarare än att koppla dem till meddelandet.

Så här sparar du en webbsida som en enda fil (MHT-format) med Delphi-kod:

Exempel på användning:

Notera

  • Klassen _Stream definieras i ADODB_TLB-enheten som du antagligen redan har skapat. IMessage- och IConfiguration-gränssnittskoden från cdosys.dll-biblioteket. CDO står för Collaboration Data Objects - objektbibliotek utformade för att aktivera SMTP-meddelanden.

CDO_TLB är en auto-genererad enhet av Delphi. För att skapa den, välj "Importtypbibliotek" från huvudmenyn, välj "C: \ WINDOWS \ system32 \ cdosys.dll" och klicka sedan på knappen "Skapa enhet".

Ingen TWebBrowser

Du kan skriva om WB_SaveAs_MHT-proceduren för att acceptera en URL-sträng (inte TWebBrowser) för att kunna spara en webbsida direkt - du behöver inte använda WebBrowser-komponenten. URL: en från WebBrowser hämtas med egenskapen WB.LocationURL.