如何在富文本框中打开带有图像和项目符号的word文件

时间:2012-02-08 13:22:50

标签: c# winforms office-interop

您好我通过打开的对话框在富文本框中打开word文件2007(.doc文件)。 它工作正常,但图像和项目符号不会显示在富文本框中。 我想在富文本框中打开带有图像和项目符号的打开文件。

我正在使用此代码打开一个word文件并将其转换为逐句。

Microsoft.Office.Interop.Word.ApplicationClass wordObject = new Microsoft.Office.Interop.Word.ApplicationClass();
object File = txtfilepath.Text; //this is the path
object nullobject = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application wordobject = new Microsoft.Office.Interop.Word.Application();
wordobject.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
Microsoft.Office.Interop.Word._Document docs = wordObject.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();
                IDataObject data = Clipboard.GetDataObject();
                rtbgermanfile.Text = data.GetData(DataFormats.Text).ToString();
                string name = rtbgermanfile.Text.Trim();
                name = String.Join(Environment.NewLine, name.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries));
                string newtext = name.Replace("\n\n", "\n");
                string newtext2 = newtext.Replace("\n\n", "\n");
                rtbgermanfile.Text = newtext2.ToString();
                txtwriteingerman.Text = rtbgermanfile.Lines[0];
                docs.Close(ref nullobject, ref nullobject, ref nullobject);
                wordobject.Quit(ref nullobject, ref nullobject, ref nullobject);
                //wordobject.Quit(SaveChanges:false, OriginalFormat: false, RouteDocument: false);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(wordobject);

1 个答案:

答案 0 :(得分:0)

我认为这并不容易。如果我没记错(可能是任何TextDataFormat类型),RTF或ANSI是富文本框的文本数据格式。我无法与ANSI交谈,但RTF不是一个很好的工具。

建议使用word本身。 http://msdn.microsoft.com/en-us/office2010developertrainingcourse_gettingstartedlab_topic3.aspx

但是,如果RTF检查这个,以提示如何做到这一点。 Programmatically adding Images to RTF Document