在前面的文章C# 如何插入、修改、删除Word批注一文中介绍了如何操作Word批注的一些方法,在本篇文章中继续介绍操作Word批注的方法。分以下三种情况来介绍:
1. 插入图片到Word批注
2. 读取Word批注
3. 回复Word批注
所需工具
- Spire.Doc for .NET 6.3(社区版)
- Visual Studio
示例代码
1. 插入图片到Word批注
【C#】
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System.Drawing; namespace InsertImgToComment_Doc { class Program { static void Main(string[] args) { //实例化Document类,加载文档 Document doc = new Document(); doc.LoadFromFile("testfile.docx"); //获取需要添加批注的段落 Paragraph paragraph = doc.Sections[0].Paragraphs[2]; //添加文本批注内容、批注作者 Comment comment = paragraph.AppendComment("探索黑科技,小米为发烧而生!"); comment.Format.Author = "Administor"; //实例化DocPicture类,加载图片 DocPicture docPicture = new DocPicture(doc); Image img = Image.FromFile("mi.png"); docPicture.LoadImage(img); //插入图片到批注 comment.Body.AddParagraph().ChildObjects.Add(docPicture); //保存文件并打开文档 doc.SaveToFile("result.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("result.docx"); } } }
【VB.NET】
Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Imports System.Drawing Namespace InsertImgToComment_Doc Class Program Private Shared Sub Main(ByVal args As String()) Dim doc As Document = New Document() doc.LoadFromFile("testfile.docx") Dim paragraph As Paragraph = doc.Sections(0).Paragraphs(2) Dim comment As Comment = paragraph.AppendComment("探索黑科技,小米为发烧而生!") comment.Format.Author = "Administor" Dim docPicture As DocPicture = New DocPicture(doc) Dim img As Image = Image.FromFile("mi.png") docPicture.LoadImage(img) comment.Body.AddParagraph().ChildObjects.Add(docPicture) doc.SaveToFile("result.docx", FileFormat.Docx2013) System.Diagnostics.Process.Start("result.docx") End Sub End Class End Namespace
测试下效果:
2.读取Word批注内容
【C#】
using System.Text; using System.IO; using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; namespace ExtractComments { class Program { static void Main(string[] args) { //创建实例,加载文档 Document doc = new Document(); doc.LoadFromFile("test.docx"); //实例化StringBuilder类 StringBuilder SB = new StringBuilder(); //遍历所有word批注,将批注内容写入Txt文档 foreach (Comment comment in doc.Comments) { foreach (Paragraph p in comment.Body.Paragraphs) { SB.AppendLine(p.Text); } } File.WriteAllText("CommentExtraction.txt", SB.ToString()); System.Diagnostics.Process.Start("CommentExtraction.txt"); } } }
【VB.NET】
Imports System.Text Imports System.IO Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Namespace ExtractComments Class Program Private Shared Sub Main(ByVal args As String()) Dim doc As Document = New Document() doc.LoadFromFile("test.docx") Dim SB As StringBuilder = New StringBuilder() For Each comment As Comment In doc.Comments For Each p As Paragraph In comment.Body.Paragraphs SB.AppendLine(p.Text) Next Next File.WriteAllText("CommentExtraction.txt", SB.ToString()) System.Diagnostics.Process.Start("CommentExtraction.txt") End Sub End Class End Namespace
读取结果:
3.回复Word批注
【C#】
using Spire.Doc; using Spire.Doc.Fields; namespace ReplyComment_Doc { class Program { static void Main(string[] args) { //实例化Document类,加载文件 Document doc = new Document(); doc.LoadFromFile("test.docx"); //获取第一个批注 Comment comment = doc.Comments[0]; //实例化Comment类,添加批注回复作者以及回复内容 Comment replyComment = new Comment(doc); replyComment.Format.Author = "Adam"; replyComment.Body.AddParagraph().AppendText("这条批注内容请再丰富一下,内容有些单调"); comment.ReplyToComment(replyComment); //保存文件并打开 doc.SaveToFile("ReplyToComment.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("ReplyToComment.docx"); } } }
【VB.NET】
Imports Spire.Doc Imports Spire.Doc.Fields Namespace ReplyComment_Doc Class Program Private Shared Sub Main(ByVal args As String()) Dim doc As Document = New Document() doc.LoadFromFile("test.docx") Dim comment As Comment = doc.Comments(0) Dim replyComment As Comment = New Comment(doc) replyComment.Format.Author = "Adam" replyComment.Body.AddParagraph().AppendText("这条批注内容请再丰富一下,内容有些单调") comment.ReplyToComment(replyComment) doc.SaveToFile("ReplyToComment.docx", FileFormat.Docx2013) System.Diagnostics.Process.Start("ReplyToComment.docx") End Sub End Class End Namespace
测试结果:
以上为本次关于操作Word批注的全部内容。
(本文完)
如需转载,请注明出处。
相关推荐
Microsoft.Office.Interop.Word是.NET Framework中的一部分,它允许程序员通过C#、VB.NET等编程语言与Microsoft Office应用程序进行交互,包括Word。这个组件提供了丰富的API,可以用来创建、编辑、格式化和操作Word...
9. **编程接口**:提供易于使用的.NET API,通过C#、VB.NET或其他.NET兼容语言进行调用。 10. **性能优化**:优化的代码库确保在处理大量或大型PDF文件时具有高效性能。 11. **跨平台兼容**:由于是基于.NET ...
这个SDK提供了.NET Framework上的类库,允许开发者在C#、VB.NET或其他.NET语言中方便地创建、读取、修改和验证Open XML文档。 **Open XML基础知识** Open XML是微软定义的一种开放标准文件格式,它将Office文档内容...
这些示例涵盖了多种编程语言,包括Visual Basic(VB)和C#,并针对不同的.NET Framework版本(2005、2008和2010)提供了解决方案文件(.sln)。这意味着无论你是VB程序员还是C#程序员,无论你正在使用哪个版本的.NET...
ASP.NET支持多种编程语言,如C#和VB.NET,且提供了多种开发模式,如Web Forms、MVC和Blazor,其中Web Forms是最传统的,而MVC更适合现代、分离关注点的开发。 SQL(Structured Query Language)是用于管理和处理...
"GIOS PDF .NET Lib" 是一款专门针对.NET框架设计的PDF处理库,它为开发者提供了在C#、VB.NET或其他.NET支持的语言中创建、编辑和操作PDF文档的强大功能。这款库的核心目标是帮助程序员高效地集成PDF文档处理能力到...
Spire.PDF是一款功能强大的PDF文档处理库,主要用于.NET开发者,它提供了丰富的API接口,使得在C#、VB.NET或其他.NET兼容的语言中创建、编辑、转换、读取和打印PDF文档变得轻而易举。标题中的"spire.pdf.dll可用版....
8. **编程接口API**: Foxit PDF SDK 提供了详细的API文档和示例代码,帮助开发者快速理解和使用这些功能,API通常支持多种编程语言如C++, C#, VB.NET等。 9. **性能优化**: 由于Foxit PDF SDK 4.0 Pro的高性能特性...
9. **编程语言支持**:Aspose.PDF主要针对.NET Framework开发,支持C#、VB.NET等语言,同时也适用于其他.NET兼容环境,如ASP.NET和Windows Forms应用程序。 10. **性能优化**:Aspose.PDF 17.7 版本可能包含了性能...
NTKO OFFICE文档控件支持在线编辑,痕迹保留,手写签名,电子印章,全屏批注,电子签名[数字签名,数字证书签名],简单OCR等实用功能,支持PHP,ASP,JSP,C#,VB.NET,DOMINO等各种web编程语言和服务器。 NTKO OFFICE文档...
1. **什么是NPOI**:NPOI允许开发者在C#或VB.NET等.NET环境中创建、修改和读取Excel文件。它不仅支持基本的单元格操作,还包含对样式、公式、图表和打印设置的处理。 2. **版权说明**:NPOI遵循Apache 2.0许可证,这...
- **代码示例**:每个操作均附带有具体的 C# 和 VB 代码示例,便于开发者直接运行查看效果。 - **逐步指导**:从简单的单元格操作到复杂的高级数据处理,逐步引导开发者掌握 Spread 控件的各种功能。 - **中英文对照...
打印预览控件通常适用于多种编程环境,如C++、C#、VB.NET等,可以集成到如MFC、Windows Forms、WPF、WinUI等不同的开发框架中。 5. **兼容性**: 良好的打印预览控件应支持多种文件格式,如DOC、PDF、XLS、TXT等...