Hi,
nachdem ich für ein Projekt einen einfachen Konverter von
HTML nach RTF benötigt habe, habe ich mir eine kleine Klasse dafür programmiert. Diese Klasse,
TCXHtmlConverter, befindet sich nun im Anhang.
Ich stelle das Projekt unter die
MIT-Lizenz. D.h. ihr dürft die Klasse gerne in euren Programmen verwenden, unabhängig davon, ob ihr OpenSource- oder ClosedSource-Programme veröffentlicht. Die Bedingung ist, dass mein Name im Programm genannt wird.
Die Verwendung ist denkbar einfach:
Delphi-Quellcode:
var
HtmlConverter: TCXHtmlConverter;
begin
HtmlConverter := TCXHtmlConverter.Create;
try
// String mit den HTML-Daten
HtmlConverter.HtmlData := '
[b]Dieser Text ist fett.[/b] Dieser nicht.';
// RichEdit, in dem die Daten angezeigt werden sollen
HtmlConverter.RichEdit := RichEdit1;
// true, wenn das RichEdit vorher geleert werden soll
HtmlConverter.ClearBeforeConvert := true;
// Konvertieren
HtmlConverter.Convert;
finally
HtmlConverter.Free;
end;
end;
Derzeit werden folgende Tags unterstützt:
- b / strong
- i / em
- u
- strike
- h1..h3
- ol -> li
Das waren so für mich die Wichtigsten. Unter Umständen werde ich - je nach Feedback - noch weitere Implementieren. Aber wer sich den Code ansieht, wird feststellen, dass es nicht allzu schwer ist, entsprechende Änderungen zu machen.
Der Code ist vollständig dokumentiert (auf Deutsch) und eigentlich relativ verständlich. Ich weiß, dass es viele hardcoded Strings gibt, aber wenn man aufpasst, braucht einen das eigentlich nicht interessieren.
Bin auf Feedback gespannt.
Chris