Как открыть файл слов с изображениями и маркерами в текстовом поле - PullRequest
1 голос
/ 08 февраля 2012

Привет, я открываю файл Word 2007 (файл .doc) в текстовом поле с помощью открытого диалогового окна. Он работает нормально, но изображения и маркеры не отображаются в текстовом поле. я хочу открыть файл открытого текста с изображениями и маркерами в поле для расширенного текста.

Я использую этот код для открытия файла слова и преобразования его в предложение за предложением.

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 голосов
/ 07 июля 2012

Не думаю, что все так просто.RTF или ANSI - это формат текстовых данных для расширенного текстового поля, если я правильно помню (возможно, любой из типов TextDataFormat).Я не могу говорить с ANSI, но RTF не очень хороший инструмент.

предлагает использовать само слово.http://msdn.microsoft.com/en-us/office2010developertrainingcourse_gettingstartedlab_topic3.aspx

Но если RTF, проверьте этот намеки, как это сделать. Программное добавление изображений в документ RTF

...