Salvați o pagină web ca HTML sau MHT folosind Delphi

Când lucrați cu Delphi, componenta TWebBrowser vă permite să creați o aplicație de navigare Web personalizată sau să adăugați funcții de navigare pe internet, fișiere și rețele, vizualizarea documentelor și descărcarea datelor în aplicațiile dvs..

Cum să salvați o pagină web de la TWebBrowser

Când utilizați Internet Explorer, vi se permite să vizualizați codul HTML sursă al unei pagini și să îl salvați ca fișier în unitatea locală. Dacă vizualizați o pagină pe care doriți să o păstrați, accesați elementul de meniu File / Save As ... În caseta de dialog care se deschide, aveți mai multe tipuri de fișiere oferite. Salvarea paginii ca un alt tip de fișier va afecta modul de salvare a paginii.

Componenta TWebBrowser (localizată pe pagina „Internet” a Paletei de componente) oferă acces la funcționalitatea browserului Web din aplicațiile dvs. Delphi. În general, veți dori să activați salvarea unei pagini web afișate în interiorul unui WebBrowser ca fișier HTML pe un disc.

Salvarea unei pagini Web ca HTML brut

Dacă doriți doar să salvați o pagină web ca HTML brut, ați selecta „Pagina Web, numai HTML (* .htm, * .html)”. Va salva pur și simplu sursa HTML a paginii curente pe unitatea dvs. intactă. Această acțiune NU va salva graficele din pagină sau din orice alte fișiere utilizate în cadrul paginii, ceea ce înseamnă că dacă ați încărcat fișierul înapoi de pe discul local, veți vedea legături de imagine sparte.

Iată cum puteți salva o pagină web ca HTML brut folosind codul Delphi:

Eșantion de utilizare:

notițe

  • Interfețele IPersistStreamInit și IStream sunt declarate în interiorul unității ActiveX.
  • Pagina web este salvată ca HTML brut în fișierul WebBrowser1.html din folderul rădăcină al unității C.

MHT: Web Archive, Single File

Când salvați o pagină Web ca „Arhivă Web, un singur fișier (* .mht)”, documentul web este salvat în formatul multifuncțional Internet Mail Extension HTML (MHTML) cu o extensie de fișier .mht. Toate link-urile relative din pagina Web sunt reaplicate, iar conținutul încorporat este inclus în fișierul .mht, în loc să fie salvat într-un folder separat (cum este cazul cu „Pagina web completă (* .htm, * .html)" ).

MHTML vă permite să trimiteți și să primiți pagini Web și alte documente HTML folosind programe de e-mail, cum ar fi Microsoft Outlook și Microsoft Outlook Express; sau chiar soluțiile dvs. personalizate de trimitere prin e-mail Delphi. MHTML vă permite să încorporați imagini direct în corpul mesajelor dvs. de e-mail, în loc să le atașați la mesaj.

Iată cum puteți salva o pagină web ca un singur fișier (format MHT) folosind codul Delphi:

Modul de utilizare:

Notă

  • Clasa _Stream este definită în unitatea ADODB_TLB pe care probabil că ați creat-o deja. Codul interfețelor IMessage și IConfiguration din biblioteca cdosys.dll. CDO reprezintă obiecte de colaborare - biblioteci de obiecte concepute pentru a permite mesageria SMTP.

CDO_TLB este o unitate generată automat de Delphi. Pentru ao crea, din meniul principal selectați "Import Type Library", selectați "C: \ WINDOWS \ system32 \ cdosys.dll", apoi faceți clic pe butonul "Creare unitate".

Fără TWebBrowser

Puteți rescrie procedura WB_SaveAs_MHT pentru a accepta un șir URL (nu TWebBrowser) pentru a putea salva direct o pagină web - nu este nevoie să utilizați componenta WebBrowser. Adresa URL de la WebBrowser este preluată folosind proprietatea WB.LocationURL.