Sample code for 30+ languages & platforms
Delphi DLL

Extract all HTML Objects from a Web Page

See more MHT / HTML Email Examples

Demonstrates how to download a Web page (at a URL) and extract all HTML objects. Eg. images, links, CSS files, JavaScript files, etc.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Mht;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
mht: HCkMht;
mhtDoc: PWideChar;
unpackDir: PWideChar;
htmlFilename: PWideChar;
partsSubdir: PWideChar;

begin
success := False;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

mht := CkMht_Create();

// Download a URL into an in-memory MHT web archive contained
// in a string variable.
// The following URL is randomly picked and was valid at the time of writing this example:
mhtDoc := CkMht__getMHT(mht,'https://www.tetonlodge.com/');
if (CkMht_getLastMethodSuccess(mht) <> True) then
  begin
    Memo1.Lines.Add(CkMht__lastErrorText(mht));
    Exit;
  end;

// Extract the HTML and embedded objects:
unpackDir := 'C:/AAWorkarea/mhtTesting/';
htmlFilename := 'lodge.html';
partsSubdir := 'objects';

// Extract to C:/AAWorkarea/mhtTesting/lodge.html.
// images and other embedded objects are placed in
// C:/AAWorkarea/mhtTesting/objects.  Directories are automatically
// created if they don't already exist.
success := CkMht_UnpackMHTString(mht,mhtDoc,unpackDir,htmlFilename,partsSubdir);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkMht__lastErrorText(mht));
  end
else
  begin
    Memo1.Lines.Add('Unpacked!');
  end;

CkMht_Dispose(mht);

end;