AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Richtext in HTML und/oder Plaintext umwandeln

Richtext in HTML und/oder Plaintext umwandeln

Ein Thema von ioster · begonnen am 18. Mai 2021 · letzter Beitrag vom 19. Mai 2021
Antwort Antwort
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#1

Richtext in HTML und/oder Plaintext umwandeln

  Alt 18. Mai 2021, 11:33
Moin,

ich habe gerade die Suchfunktion bemüht, um mit einfachen Mitteln einen Langtext im RTF-Format in HTML- oder Plaintext umwandeln zu können.

Hintergrund dabei ist, dass ein Beschreibungstext in einer Anwendung mit Absatzformatierungen gespeichert werden soll, damit die Belege akzentuiert werden können. Für den Druck von Etiketten oder einfachen Druckausgaben benötige ich denselben Text, aber in einer einheitlichen Schrift und ohne Effekte, wenn man von Nummerierungen und Einrückungen absieht.

Im Programm habe ich zur Bearbeitung und Speicherung zwei Datenbankfelder und zwei Controls - ein DBRichEdit und ein DBMemo. Im OnEditValueChanged habe ich eine Zuweisung DBMEMO1.Text := DBRICHEDIT.Text vorgenommen, die ansatzweise das gewünschte umsetzt. Allerdings werden Listenformatierungen unterschlagen und wenn man den Text per Zwischenablage einkopiert, erscheint anstelle des Punktes für eine Aufzählung ein Kästchen, weil die Zeichensätze nicht wirklich zusammenpassen.

On top benötige ich nun auch noch eine Konvertierung des RTF-Inhalts in HTML, da die Textinhalte auch im Internet genauso dargestellt werden sollen.

Hat jemand Erfahrung mit der Umwandlung der Textformatierungen?

Danke im Voraus.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 18. Mai 2021, 12:24
Hallo,
meinst Du sowas?

https://www.delphipraxis.net/112611-...t-formats.html
https://stackoverflow.com/questions/...-from-richedit
Heiko
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.400 Beiträge
 
Delphi 7 Professional
 
#3

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 18. Mai 2021, 12:32
Nur unreife Gedanken:

Steht auf dem Rechner, auf dem die Software läuft, Word zur Verfügung?

Wenn ja, dann RTF mit Word laden und als HTML speichern.

Könnte auch mit RTF und Text gehen, habe aber keine Ahnung, was da an Formatierungen erhalten bleibt bzw. verloren geht.

Zitat:
anstelle des Punktes für eine Aufzählung ein Kästchen
Da kann man ja einfach mal schauen, welches Zeichen das ist und es entsprechend austauschen (sofern das tatsächlich das einzige Problem sein sollte).

Aus einer fremden Welt, aber sicherlich mit vertretbarem Aufwand portierbar: RTF TO HTML

Von Torry - T. Skovmand Eriksen - Rtf2Html v.1.0 das Altertümchen für Delphi 2 nehmen und an die eigenen Bedürfnisse anpassen.

JVCL Help: TJvRichEditToHtml Class

Datenbanklösung: Convert RTF to Plain Text (T-SQL)
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 18. Mai 2021, 14:29
Moin,

MS Office oder andere Fremdprogramme möchte ich bei der Lösung ausschließen, weil ich nicht voraussetzen kann, dass der Anwender diese auf seinem Rechner hat. Zudem habe ich schlechte Erfahrungen bei Versionswechseln mit Word, Outlook und Konsorten gemacht.

Ich habe dieses Portal schon nach bestimmten Stichworten abgeklopft, konnte dabei DIE Lösung aber nicht finden.

Bei der Umformatierung sollen eben auch Listungen wie
  • erste Zeile
  • zweite Zeile
oder
  1. erste Zeile
  2. zweite Zeile
stehenbleiben.

Mit meiner Syntax, die Text-Eigenschaft des RichEdit-Objekts auszulesen, gehen diese Formatierungen leider unter.

Die Lösung mit einem Stream habe ich vorhin versucht umzusetzen, aber dabei ist am anderen Ende gar nichts rausgekommen. Ich hatte die Lines des RichEdit-Objektes in einem Stream geschrieben und diesen in einem ungebundenen Memo-Objekt geladen. Auf dem Bildschirm kam aber kein Text an.

Über T-SQL kann ich es auch nicht umsetzen, weil ich es direkt über die Anwendung generieren möchte. FireDAC bereitet mir schon genug Grummeln in der Magengegend und bei einer anderen Datenbank als MS SQL würde könnte ich bei der Lösung auch gegen die Wand laufen.

Es ist schon ein wenig verwunderlich, dass weder Embarcadero noch ein anderer Komponentenhersteller eine Methode an die Objekte angefügt hat, die eine Umformatierung ohne großen Aufwand erlaubt.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 18. Mai 2021, 14:37
Hallo,
es sollen also bestimmte Formatierungen doch erhalten bleiben

Zitat:
Bei der Umformatierung sollen eben auch Listungen wie
- erste Zeile
- zweite Zeile
oder
1. erste Zeile
2. zweite Zeile
stehenbleiben.
PlainText, also ohne Formatierung ist das aber nicht.
Deshalb bleibt dir hier wohl nur übrig, das selber zu bauen
und das genau so so vereinfachen, wie du es brauchst.

Bsp.
StringReplace(s,'<br>','',[rfReplaceAll]);
StringReplace(s,'</br>','',[rfReplaceAll]);

Um z.B. fett "auszumerzen".


zu dem vorherigen Post noch:
Zitat:
RichEdit-Objektes in einem Stream geschrieben und diesen in einem ungebundenen Memo-Objekt geladen
Warum?
RichEdit.PlainText benutzen.
Beim Laden ins Memo hast Du vielleicht Position nicht auf 0 zurückgesetzt?.
Lade das mal in ein "gebundenes" Memo, um überhaupt rauszufinden, was im Memo ankommt.
Heiko

Geändert von hoika (18. Mai 2021 um 14:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.163 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 18. Mai 2021, 18:20
Man kann evtl. auf eine fertige Lösungen setzen, die sich in der Praxis bewährt hat und sich u.U. damit größeren Aufwand sparen.
ScroogeXHTML für Delphi
Ich nutze diese Komponenten schon ziemlich lange und bin sehr zufrieden damit.
Auch Konvertierung in Plaintext wird unterstützt.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 19. Mai 2021, 08:19
Man kann evtl. auf eine fertige Lösungen setzen, die sich in der Praxis bewährt hat und sich u.U. damit größeren Aufwand sparen.
ScroogeXHTML für Delphi
Ich nutze diese Komponenten schon ziemlich lange und bin sehr zufrieden damit.
Auch Konvertierung in Plaintext wird unterstützt.
Moin,

die Infos auf der Webseite klingen interessant. Ich werde mit der Demo-Version ausprobieren, ob ich damit das HTML-Problem gelöst bekomme.

Was den Plaintext anbetrifft, werde ich wohl die Steuercodes mit Replace rauswerfen müssen und die Absatzformatierungen mit entsprechenden Zeichenketten ersetzen.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.163 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Richtext in HTML und/oder Plaintext umwandeln

  Alt 19. Mai 2021, 11:19
Was den Plaintext anbetrifft, werde ich wohl die Steuercodes mit Replace rauswerfen müssen und die Absatzformatierungen mit entsprechenden Zeichenketten ersetzen.
Ingo
Wie gesagt, auch das konvertieren in Plaintext wird mit dieser Komponente unterstützt.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz