WPF RichTextBox Paste text
От: dsalodki Беларусь http://dsalodki.wix.com/resume
Дата: 07.11.22 14:21
Оценка: -1
как ни пытаюсь, не могу текст с форматированием скопировать в RichTextBox, помогите, пожалуйста



 Application application = new Application();
            object File = "D:\\DOCs\\test.docx"; //this is the path
            object nullobject = System.Reflection.Missing.Value;
            application.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone; 
            Microsoft.Office.Interop.Word._Document docs =
            application.Documents.Open(ref File, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject); 
            docs.ActiveWindow.Selection.WholeStory();
            docs.ActiveWindow.Selection.Copy();
            //Clipboard.SetText(docs.ActiveWindow.Selection.Text, TextDataFormat.Rtf);

            //rtfMain.Paste();

            rtfMain.AppendText(Clipboard.GetText(TextDataFormat.Rtf));

            //rtfMain.Document.Blocks.Clear();
            //rtfMain.Document.Blocks.Add(new Paragraph(new Run(Clipboard.GetText(TextDataFormat.Rtf))));

            docs.Close(ref nullobject, ref nullobject, ref nullobject);
            application.Quit(ref nullobject, ref nullobject, ref nullobject);
Re: WPF RichTextBox Paste text
От: kov_serg Россия  
Дата: 07.11.22 17:51
Оценка: 3 (1) +1
Здравствуйте, dsalodki, Вы писали:

D>как ни пытаюсь, не могу текст с форматированием скопировать в RichTextBox, помогите, пожалуйста


Так пробывали?
...
static Stream StringStream(string s) {
    var stream = new MemoryStream();
    var writer = new StreamWriter(stream);
    writer.Write(s);
    writer.Flush();
    stream.Position = 0;
    return stream;
}
static void setRtf(RichTextBox tb,string rtf) {
    tb.Document.Blocks.Clear();
    tb.Selection.Load(StringStream(rtf), DataFormats.Rtf);
}
void example() {
    var rtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}{\colortbl;\red0\green0\blue0;\red255\green0\blue0; }\viewkind4\uc1\pard\qc\cf1\fs16 test \b bold \cf2\b0\i italic\cf0\i0\fs17\par }";
    setRtf(richTextBox,rtf);
}
...
Re[2]: WPF RichTextBox Paste text
От: dsalodki Беларусь http://dsalodki.wix.com/resume
Дата: 08.11.22 08:08
Оценка:
да, спасибо, уже получилось
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.