Konvertieren von Rich-Text-Format in Nur-Text-Probleme

Wir haben derzeit eine Anwendung (Windows-Dienst), die eine Verbindung zu einer anderen unserer Anwendungen herstellt und Rechnungen entgegennimmt. In den Rechnungen gibt es ein RTF-Feld für die Fußzeilen- / Kopfzeilenfelder. Wenn wir die Daten abrufen, wird die RTF mit dem folgenden Code in einfachen Text konvertiert:

<code>public static string ConvertFromRTFToPlainText(string rtfString)
{
    if (rtfString == null)
        return null; 

    System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox();

    if (rtfString.StartsWith("{\\rtf1"))
        rtBox.Rtf = rtfString;
    else
        rtBox.Text = rtfString;

    return rtBox.Text;
}
</code>

Dies hat größtenteils funktioniert, aber in einigen Fällen (ein bestimmter Kunde bekommt es jedes Mal) erhalte ich diese Ausnahme:

<code>Exception Message:Error creating window handle.
Stack trace:
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.TextBoxBase.CreateHandle()
at System.Windows.Forms.RichTextBox.set_Rtf(String value)
at SmartTrade.Common.API.Tools.RTFHelperUtility.ConvertFromRTFToPlainText(String rtfString)
at SmartTrade.Desktop.Proxy.API.ObjectMapper.InvoiceObjectMapper.CovertToAPIInvoice(Invoice domainInvoice)
</code>

Jede Hilfe darüber, warum dies geschieht oder wie wir es umgehen können, wäre sehr dankbar.

Bearbeiten: Danke an Jeremy für die Erklärung, ich bin nach Vorschlägen für RTF-Konvertierungsalternativen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage