Konwersja z formatu tekstu sformatowanego do zwykłego tekstu
Obecnie mamy aplikację (usługę Windows), która łączy się z inną z naszych aplikacji i pobiera faktury. W fakturach znajduje się pole RTF dla pól stopki / nagłówka. Po pobraniu danych RTF jest konwertowany na zwykły tekst z następującym kodem:
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;
}
Działało to w przeważającej części, ale w niektórych przypadkach (jeden konkretny klient otrzymuje go za każdym razem) Dostaję ten wyjątek:
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)
Jakakolwiek pomoc dotycząca tego, dlaczego tak się dzieje lub jak możemy to obejść, byłaby mile widziana.
Edytować: Dzięki Jeremy'emu za wyjaśnienie, jestem po sugestiach dotyczących alternatywnych konwersji RTF.