RTF to HTML

Rund um die LCL und andere Komponenten
Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

RTF to HTML

Beitrag von Levario »

Hallo zusammen,

ich suche einen WYSIWYG für das versenden von HTML Mail. Ich habe bereits viel gesucht und nur kostenpflichtige Dinge gefunden.

Meine vorgehensweise Ideen zu dem Thema wäre

Rich Memo RTF To HTML - https://www.scroogexhtml.com/object_pascal.html (kenntd as jemand?)
oder einen HTML WYSIWYG Editor gibt es da fertige Komponenten? Ein Memofeld das HTML kann? mit Umwandlung in ein HTML Code mit SynEdit
oder eine Art Manipulation des COdes durch direkten Zugriff auf das HTMLmit

Code: Alles auswählen

 iframeNode.contentDocument.designMode = "on"; 


Bin mir da nicht sicher wie ich vorgehen kann? Mir fehlen hier die richtigen Konzepte / Komponenten usw.

Hoffe mal ich hab es einigermaßen Verständlich rüber gebracht.
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: RTF to HTML

Beitrag von wp_xyz »

In JVCL gibt es eine Unit JvRichEditToHtml. Mal sehen, ob die sich mit vertretbarem Aufwand nach Lazarus und TRichMemo konvertieren lässt...

Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

Re: RTF to HTML

Beitrag von Levario »

Erst einmal vielen Dank für deine Kenntnis.
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: RTF to HTML

Beitrag von theo »

Das ist ziemlich anspruchsvoll, so allgemein formuliert.

Wenn du mit wenigen Formatierungsoptionen zufrieden bist (Fett, Kursiv, Farbe, Zentriert etc.) könntest du vielleicht ein RichMemo dazu überreden, HTML statt RTF zu speichern.
Eine Demo, wie man einfaches HTML einliest ist ja schon dabei in "/richmemo/samples/mlparse/".
Ohne Anstrengung wird es aber mMn nicht gehen.
Eigentlich wundere ich mich, dass es ein solches HTML Export Plugin für RichMemo nicht gibt. Ich kenne es zumindest nicht.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: RTF to HTML

Beitrag von wp_xyz »

Also ich hab's mal probiert, und es war gar nicht so schwer. Ich habe alle Bezüge auf andere JVCL-Units entfernt, so dass das Ding, Unit RichMemoToHTML, autark verwendbar ist. Implementiert ist eigentlich alles, was man beim E-Mail-Schreiben braucht: Schriftart, Schriftgröße, fett/kursiv/unterstrichen, Schriftfarbe, Hintergrundfarbe, Bullet-Liste. Bilder sind nicht drin, sollten aber einfach nachzurüsten sein, wenn man findet, wie TRichMemo diese intern verwaltet.

Achja, RichMemo: Das ganze ist zugeschitten auf die TRichMemo-Komponente. Es gibt einige andere im Netz, dafür müsste die Unit entsprechend angepasst werden.

Im Anhang findest du einen kleinen RTF-Editor (nachgebaut: https://lazplanet.blogspot.com/2013/12/ ... rself.html) - ist etwas hakelig zu bedienen, aber für Demo-Zwecke reichts. Wenn du beim Speichern in der Dateiauswahl-Kombobox den Eintrag HTML auswählst, wird die Konvertierungsfunktion aufgerufen.
Dateianhänge
RichMemo_Editor.zip
(20.14 KiB) 60-mal heruntergeladen

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: RTF to HTML

Beitrag von sstvmaster »

Hallo wp,

ich verbeuge mich ganz tief, super Arbeit. Viele Dank.
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1431
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: RTF to HTML

Beitrag von fliegermichl »

Ich hab's mal getestet. Funktioniert soweit gut. Nur der allerletzte Buchstabe verliert seine Formatierung?!

Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

Re: RTF to HTML

Beitrag von Levario »

wp_xyz hat geschrieben:
Mi 31. Mai 2023, 13:15
lso ich hab's mal probiert, und es war gar nicht so schwer. Ich habe alle Bezüge auf andere JVCL-Units entfernt, so dass das Ding, Unit RichMemoToHTML, autark verwendbar ist. Implementiert ist eigentlich alles, was man beim E-Mail-Schreiben braucht: Schriftart, Schriftgröße, fett/kursiv/unterstrichen, Schriftfarbe, Hintergrundfarbe, Bullet-Liste. Bilder sind nicht drin, sollten aber einfach nachzurüsten sein, wenn man findet, wie TRichMemo diese intern verwaltet.
WOW vielen Dank für deine Mühe hatte es mir für heute vormittag vorgenommen es mal zu versuchen. Ich teste es nun direkt. Danke!!!
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: RTF to HTML

Beitrag von wp_xyz »

Naja, da gibt es noch einiges zu tun. Im Anhang zwar eine etwas erweiterte Version mit Absatzausrichtung und Zeichenhoch- und -tiefstellung. Dennoch - wenn man das beigefügte rtf (die Dokumentation von KMemo) nach html wandelt, meint man zuerst, dass der Rechner hängt - so elendig langsam ist die Routine... Manchmal werden die ersten Zeichen eines Absatzes verschluckt, und irgendwas bringt die Konvertierung außer Takt, so dass der Anfang einer Formatierung wandert immer weiter nach vorne wandert, je weiter man ans Ende des Dokuments kommt.

Ich weiß nicht, ob es sich lohnt, da noch viel Arbeit reinzustecken. Denn eigentlich sollte man das Problem unabhängig von TRichMemo angehen, denn sonst kommt als nächstes der User von TKMemo und hat dasselbe Anliegen, so dass man alles neu machen muss. Eigentlich sollte man die RTF-Datei parsen und die benötigte Information selbst extrahieren.
Dateianhänge
RichMemo_Editor-v2.zip
(29.56 KiB) 56-mal heruntergeladen

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: RTF to HTML

Beitrag von Roland Chastain »

Hallo zusammen!

Hier ist etwas, das ich getan habe. Es ist eine Anwendung, die Pandoc verwendet, um RTF-Dokumente in HTML zu konvertieren. Die HTML-Seite wird dann mit der Komponente TIpHtmlPanel visualisiert.

Ich habe mit diesem Beispiel eines ausgezeichneten Mitwirkenden begonnen. :wink:
Dateianhänge
iphtml-rtf-demo.zip
(9.46 KiB) 54-mal heruntergeladen
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

Re: RTF to HTML

Beitrag von Levario »

wp_xyz hat geschrieben:
Do 1. Jun 2023, 11:30
Naja, da gibt es noch einiges zu tun. Im Anhang zwar eine etwas erweiterte Version mit Absatzausrichtung und Zeichenhoch- und -tiefstellung. Dennoch - wenn man das beigefügte rtf (die Dokumentation von KMemo) nach html wandelt, meint man zuerst, dass der Rechner hängt
Ich verwende nur RIchMemo und möchte eine E-Mail mit RIch Memo erstellen und als HTML versenden. Ich werde mir deine Arbeit ab Montag mal genau ansehen. Das Ergebnis ist für mich sehr gut. Nochmals vielen lieben Dank!
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

Re: RTF to HTML

Beitrag von Levario »

Roland Chastain hat geschrieben:
Fr 2. Jun 2023, 07:23
Es ist eine Anwendung, die Pandoc verwendet, um RTF-Dokumente in HTML zu konvertieren.
Auch dir vielen lieben Dank für deine Anwendung. Ich kenne mich mit Pandoc allerdings gar nicht aus. Werde es mir aber ab Montag mal ansehen.
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: RTF to HTML

Beitrag von wp_xyz »

Es ist schon Wahnsinn, welches Kleinod man manchmal in den FPC-Verzeichnissen findet. Zu dem Thema dieses Thread passt die Unit RtfPars, die einen weitgehend kompletten Parser von RTF-Dateien zur Verfügung stellt. Hat etwas gedauert, bis ich herausgefunden habe, wie das Ding funktioniert, aber nun konnte ich das Beispiel der vorigen Posts so umschreiben, dass nicht mehr das RichMemo zum Umwandeln nach HTML verwendet wird, sondern eben dieser Parser. Und damit ist die Umwandlung so schnell wie man es erwartet.

Probiere mal das beigefügte Projekt aus. Ein Beispiel-RTF, erstellt vom RichMemo, zeigt, was alles unterstützt wird. Das erstellte HTML passt weitgehend, bis auf die im Memo eingegebenen Leerzeilen - da muss ich bei Gelegenheit nochmals nachfassen. Ich habe mich auch an Tabellen und Bildern versucht, aber ist im RTF so haarsträubend implementiert, dass ich das vorerst aufgegeben habe.

In dem Zip ist auch eine geringfügig überarbeitete Version des Parsers enthalten, denn die FPC-Version ignoriert ein paar Kommandos.
Dateianhänge
minieditor-v3.zip
(37.68 KiB) 71-mal heruntergeladen

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: RTF to HTML

Beitrag von theo »

Vielleicht sollte man noch einmal darüber nachdenken, im Team einen eigenen Rich Text Editor zu bauen.
Ich hatte vor 100 Jahren mal damit begonnen und bin einigermassen weit gekommen, aber das Ding ist mir über den Kopf gewachsen.
Es war eine Art "explorative Programmierung" (Keine Ahnung, ob es diesen Begriff gibt), also einfach mal losprogrammieren und schauen, wo überall Probleme auftauchen. Sonst eins ans Andere dranhängen - durchaus strukturiert, anders geht es gar nicht.
Für eine erste Phase ist das gar nicht so falsch. nur müsste man mit den Erkenntnissen nochmals sauber von vorne beginnen... :wink:
Aber einfach ist es nicht!

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: RTF to HTML

Beitrag von af0815 »

theo hat geschrieben:
Mi 7. Jun 2023, 17:10
Vielleicht sollte man noch einmal darüber nachdenken, im Team einen eigenen Rich Text Editor zu bauen.
RTE so richtig auch mit visuellen Interface (WYSIWYG) und das vielleicht noch nach einer Norm im Speicher-Format. Kann wirklich heftig werden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten