Frage

In einer C#-Konsolen-App muss ich den Text aus einer RTF-Zeichenfolge extrahieren, etwas mehr Text hinzufügen und ihn dann wieder in RTF konvertieren.Ich konnte dies mithilfe der System.Windows.Forms.RichTextBox-Klasse tun, finde es jedoch etwas seltsam, ein Forms-Steuerelement in einer Nicht-Forms-App zu verwenden.Gibt es einen besseren Weg, dies zu tun?

War es hilfreich?

Lösung

Bitte sehen Sie sich die Diskussion zu diesem Thema an:

RTF-Text bereinigen

Andere Tipps

Irgendetwas mit RTF zu machen ist ziemlich schwierig, es sei denn, Sie verwenden die Windows-Formulare.Wie oben erwähnt, ist die Verwendung von Formularen der einfachste Weg.

Sie könnten selbst etwas schreiben, aber die RTF-Spezifikation ist ziemlich kompliziert.
http://www.biblioscape.com/rtf15_spec.htm

Oder Sie könnten eine Konvertierungs-DLL/ActiveX-Objekt verwenden, von denen es eine große Anzahl gibt.http://www.sautinsoft.com/

Oder – Wenn Sie dies unter Linux tun, stehen auch Tools zur Verfügung.Ein flüchtiger Blick wirft UnRTF aufhttp://www.gnu.org/software/unrtf/unrtf.html

Ich habe nichts eingefügt, um Text wieder in RTF umzuwandeln, weil ich denke, dass die RTF-Spezifikation Text korrekt behandelt und formatiert.

Ich finde, man sollte dieses Gefühl von „seltsam“ einfach abschütteln.Daran ist nichts Seltsames.

Es kommt darauf an, was Sie unter „besser“ verstehen.Sie verwenden bereits die einfachste und einfachste Art und Weise, dies zu tun.

Es ist nichts Falsches daran, ein Benutzeroberflächen-Steuerelement in einer Konsolenanwendung oder sogar in einer Webanwendung zu verwenden.Die Windows-Steuerelemente sind Teil des .NET Frameworks und können daher auch verwendet werden.Diese Steuerelemente müssen nicht in „Formularen“ gehostet werden, damit sie funktionieren.

Das Rad neu zu erfinden, DLL/ActiveX/OCX zu verwenden und Linux zu verwenden, sind einfach keine praktischen Antworten auf Ihre Frage.Der bessere Weg ist ... tun Sie, was Sie wissen.Die Verwendung bestehender Framework-Methoden bietet tatsächlich einen Leistungs- und Wartungsvorteil gegenüber der Verwendung der vorgeschlagenen Alternativen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top