Convertir du HTML en texte brut avec MSHTML
Par Delphi Source - March 22, 2026 · Vues: 12 · Catégories: Snippets · Tags: #Html #Texte

Convertir du HTML en texte brut avec MSHTML

Il arrive souvent qu’on récupère du contenu HTML (API, fichiers, Etc…) et qu’on souhaite en extraire uniquement le texte lisible.

Delphi permet de le faire très simplement grâce à MSHTML, le moteur d’Internet Explorer encore disponible dans Windows.


Voici une fonction compacte qui transforme du HTML en texte brut :

uses
  Windows, SysUtils, MSHTML, ActiveX, ComObj;

function HTMLToPlainText(const HTML: string): string;
var
  Doc: IHTMLDocument2;
  v: OleVariant;
begin
  // Initialiser COM si ce n’est pas déjà fait
  CoInitialize(nil);
  try
    // Créer une instance du document HTML
    Doc := CreateComObject(CLASS_HTMLDocument) as IHTMLDocument2;

    // Injecter le HTML dans le document
    v := HTML;
    Doc.write(v);
    Doc.close;

    // Extraire le texte brut du corps
    Result := Doc.body.innerText;
  finally
    CoUninitialize;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  HTML, TexteBrut: string;
begin
  HTML := '<html><body><h1>Bonjour</h1><p>Ceci est <b>un test</b>.</p></body></html>';
  TexteBrut := HTMLToPlainText(HTML);
  ShowMessage(TexteBrut);  // Affiche : Bonjour Ceci est un test.
end;


Un petit clic (J'aime) qui fait plaisir !