Salvare una pagina Web come HTML o MHT usando Delphi

Quando si lavora con Delphi, il TWebBrowser componente consente di creare un personalizzato Applicazione di navigazione Web o per aggiungere alle applicazioni Internet, la navigazione di file e reti, la visualizzazione di documenti e il download di dati.

Come salvare una pagina Web da TWebBrowser

Quando si utilizza Internet Explorer, è possibile visualizzare il codice HTML di origine di una pagina e salvarla come file sull'unità locale. Se stai visualizzando una pagina che desideri conservare, vai su File / Salva con nome... elemento del menu. Nella finestra di dialogo che si apre, sono disponibili diversi tipi di file. Il salvataggio della pagina come tipo di file diverso influirà sulla modalità di salvataggio della pagina.

Il componente TWebBrowser (situato nella pagina "Internet" della tavolozza dei componenti) consente di accedere alla funzionalità del browser Web dal Applicazioni Delphi. In generale, ti consigliamo di abilitare il salvataggio di una pagina Web visualizzata all'interno di un browser Web come file HTML su un disco.

instagram viewer

Salvataggio di una pagina Web come HTML non elaborato

Se si desidera salvare solo una pagina Web come HTML non elaborato, selezionare "Pagina Web, solo HTML (* .htm, * .html)". Salverà semplicemente il codice sorgente HTML della pagina corrente sul tuo disco intatto. Questa azione NON salverà la grafica dalla pagina o qualsiasi altro file utilizzato all'interno della pagina, il che significa che se si carica nuovamente il file dal disco locale, si vedrebbero collegamenti di immagini interrotti.

Ecco come salvare una pagina Web come HTML non elaborato utilizzando il codice Delphi:

Esempio di utilizzo:

Appunti

  • Le interfacce IPersistStreamInit e IStream sono dichiarate all'interno dell'unità ActiveX.
  • La pagina Web viene salvata come HTML non elaborato nel file WebBrowser1.html nella cartella principale dell'unità C.

MHT: Archivio Web, file singolo

Quando si salva una pagina Web come "Archivio Web, file singolo (* .mht)", il documento Web viene salvato nel formato HTML (MHTML) di estensione posta Internet multiuso con estensione .mht. Tutti i collegamenti relativi nella pagina Web vengono rimappati e il contenuto incorporato è incluso nel file .mht, anziché essere salvato in una cartella separata (come nel caso di "Pagina Web, completa (* .htm, * .Html) ").

MHTML consente di inviare e ricevere pagine Web e altri documenti HTML utilizzando programmi di posta elettronica come Microsoft Outlook e Microsoft Outlook Express; o anche le tue soluzioni personalizzate di invio e-mail Delphi. MHTML ti consente di incorporare le immagini direttamente nel corpo dei tuoi messaggi di posta elettronica piuttosto che allegarli al messaggio.

Ecco come salvare una pagina Web come un singolo file (formato MHT) utilizzando il codice Delphi:

Esempio di utilizzo:

Nota

  • La classe _Stream è definita nell'unità ADODB_TLB che probabilmente hai già creato. Il codice delle interfacce IMessage e IConfiguration dalla libreria cdosys.dll. CDO sta per Collaboration Data Objects - librerie di oggetti progettate per abilitare la messaggistica SMTP.

Il CDO_TLB è un'unità generata automaticamente da Delphi. Per crearlo, dal menu principale selezionare "Importa libreria dei tipi", selezionare "C: \ WINDOWS \ system32 \ cdosys.dll", quindi fare clic sul pulsante "Crea unità".

Nessun TWebBrowser

È possibile riscrivere la procedura WB_SaveAs_MHT per accettare una stringa URL (non TWebBrowser) per poter salvare direttamente una pagina Web - non è necessario utilizzare il componente WebBrowser. L'URL da WebBrowser viene recuperato utilizzando la proprietà WB.LocationURL.