Domanda

In un'app console C# ho la necessità di estrarre il testo da una stringa RTF, aggiungervi altro testo e quindi riconvertirlo in RTF.Sono riuscito a farlo utilizzando la classe System.Windows.Forms.RichTextBox, ma trovo un po' strano utilizzare un controllo Forms in un'app non Forms.Qualche modo migliore per farlo?

È stato utile?

Soluzione

Consulta la discussione su questo argomento:

Ripulire il testo RTF

Altri suggerimenti

Fare qualsiasi cosa con RTF è piuttosto difficile a meno che non si utilizzino i moduli di Windows.Come affermato sopra, utilizzare i moduli è il modo più semplice per procedere.

Potresti scrivere qualcosa tu stesso, ma le specifiche RTF sono piuttosto complicate.
http://www.biblioscape.com/rtf15_spec.htm

Oppure potresti utilizzare un oggetto di conversione DLL / ActiveX di cui è disponibile un gran numero.http://www.sautinsoft.com/

Oppure: se lo fai da Linux, ci sono anche strumenti disponibili.Uno sguardo superficiale fa apparire UnRTFhttp://www.gnu.org/software/unrtf/unrtf.html

Non ho incluso elementi per riportare il testo in RTF perché penso che le specifiche RTF trattino e formattino il testo correttamente.

Penso che dovresti semplicemente scrollarti di dosso questa sensazione di "strano".Non c'è niente di strano in questo.

Dipende da cosa intendi per "migliore".Stai già utilizzando il modo più semplice e più semplice per farlo.

Non c'è niente di sbagliato nell'usare un controllo dell'interfaccia utente in un'applicazione console o anche in un'applicazione web.I controlli di Windows fanno parte di .NET Framework, tanto vale usarli.Non è necessario che questi controlli siano ospitati in "moduli" per funzionare.

Reinventare la ruota, usare DLL/ActiveX/OCX e usare Linux semplicemente non sono risposte pratiche alla tua domanda.Il modo migliore è... fai quello che sai.In realtà esiste un vantaggio in termini di prestazioni e manutenzione nell'utilizzare i metodi del framework esistente rispetto all'utilizzo delle alternative suggerite.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top