如何在C#下利用RichTextBox打开一个有文字格式和图片的Word文档
2012-06-22 11:44
931 查看
小知识点:.Net Framework 4.0 和.Net Framework 4.0 Client Profile区别:
.NET Framework Client Profile是.NET Framework的裁剪版本。它面向客户端应用程序。它提供 Windows Presentation Foundation (WPF)、Windows 窗体、Windows Communication Foundation (WCF)和 ClickOnce 功能的简化子集。这可以为面向.NET Framework Client Profile 的 WPF、Windows 窗体、WCF 和控制台应用程序实现快速部署方案。
主要内容:
当在 Visual Studio 2010 建立新项目时,如果发现 [添加引用] 中没有列出原本应该列出的组件时,可以先检查是否是项目的目标框架是否设成了 .NET 4.0 Client Profile (例如 System.Web.dll 就不在 .NET 4.0 Client Profile 套件中)。
1、添加引用:COM组件下的Microsoft Word 11.0 Object Library ,然后会出现Microsoft Office Core和Word以及VBIDE的引用,如下图
2、修改项目属性嵌入互操作类型为false,
3、接着在命名空间中写入如下内容:
这样就可以顺利使用下面代码,而不会出错!
修改RichTextBox内容后,另存为功能实现代码如下:
.NET Framework Client Profile是.NET Framework的裁剪版本。它面向客户端应用程序。它提供 Windows Presentation Foundation (WPF)、Windows 窗体、Windows Communication Foundation (WCF)和 ClickOnce 功能的简化子集。这可以为面向.NET Framework Client Profile 的 WPF、Windows 窗体、WCF 和控制台应用程序实现快速部署方案。
主要内容:
当在 Visual Studio 2010 建立新项目时,如果发现 [添加引用] 中没有列出原本应该列出的组件时,可以先检查是否是项目的目标框架是否设成了 .NET 4.0 Client Profile (例如 System.Web.dll 就不在 .NET 4.0 Client Profile 套件中)。
1、添加引用:COM组件下的Microsoft Word 11.0 Object Library ,然后会出现Microsoft Office Core和Word以及VBIDE的引用,如下图
2、修改项目属性嵌入互操作类型为false,
3、接着在命名空间中写入如下内容:
这样就可以顺利使用下面代码,而不会出错!
Word.ApplicationClass app = new Word.ApplicationClass(); Word.Document doc = null;
//用richTextBox打开带格式的word文档。 //先打开word文档,全选其中的内容并保存的剪切板中,最后在richTextBox中粘贴数据,并关闭文档,支持图片和文字格式显示 public void OpenWord(string fileName) { Word.ApplicationClass app = new Word.ApplicationClass(); Word.Document doc = null; object missing = System.Reflection.Missing.Value; object File = fileName; object readOnly = false; object isVisible = true; try { doc = app.Documents.Open(ref File, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing); doc.ActiveWindow.Selection.WholeStory();//全选word文档中的数据 doc.ActiveWindow.Selection.Copy();//复制数据到剪切板 richTextBox1.Paste();//richTextBox粘贴数据 //richTextBox1.Text = doc.Content.Text;//显示无格式数据 } finally { if (doc != null) { doc.Close(ref missing, ref missing, ref missing); doc = null; } if (app != null) { app.Quit(ref missing, ref missing, ref missing); app = null; } } }
修改RichTextBox内容后,另存为功能实现代码如下:
public void SaveAsWord(string fileName) { Word.ApplicationClass app = new Word.ApplicationClass(); Word.Document doc = null; object missing = System.Reflection.Missing.Value; object File = fileName; try { doc = app.Documents.Add(ref missing, ref missing, ref missing, ref missing); doc.ActiveWindow.Selection.WholeStory();//全选 richTextBox1.SelectAll(); Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);//复制RTF数据到剪贴板 doc.ActiveWindow.Selection.Paste(); doc.SaveAs(ref File, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); } finally { if (doc != null) { doc.Close(ref missing, ref missing, ref missing); doc = null; } if (app != null) { app.Quit(ref missing, ref missing, ref missing); app = null; } } }
相关文章推荐
- 老大要求把Word文档加上公司的标识,公司名文字或者logo图片都可以,但要求是用电脑打开(电子文档时)能看见标识,如果打印出来(纸质文档)就不显示出来,如何实现?
- 如何使用C#在Word文档中插入图片以及读取Word文档中的图片?
- C# 如何给Word文档设置背景颜色和背景图片
- 怎样将图片格式的PDF文档变成word 文字识别
- (转)如何利用书签向word文档读取或写入数据[C#]
- 用C#操作office组件库实现word文档的创建及文字 表格 图片的插入
- 利用C#如何给PDF文档添加文本与图片页眉
- 使用C#替换Word文档里的文字和图片
- 如何使用C#从word文档中提取图片
- 用C#将XML中的文字数据写如WORD文档,并控制其格式(包括字体的样式和字体大小)
- 如何利用书签向word文档读取或写入数据[C#](
- C#控制Word打开文档后,如何设置文档不可编辑
- 转载:C#如何实现把word文档内的图片提取出来
- 如何让word文档都在同一个窗口下打开 (反之亦可)
- C#一行代码打开任何格式的本地文档,word,ppt,mp3,remb都可以
- 如何利用C#实现在Word中插入竖排文字
- 用Word编辑一个长文档时如何有层次感让文字看起来有条理性
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
- 如何打开一个已存在的txt格式的文本文档 ,并显示在QTextEdit中
- C#程序如何修改一个打开的文档并保存