在前面的文章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批注的全部内容。
(本文完)
如需转载,请注明出处。
相关推荐
最新 雷电(Leidian) C#/VB.Net 操作模块,无依赖,可以直接使用,测试可用,可以开发自己的和 雷电(Leidian) 模拟器相关的晓游雷电操作模块
C#/VB .NET Coding Guidelines
最新 Genymotion C#/VB.Net 操作类,测试可用,可以开发自己的和模拟器Genymotion相关的程序
c/c++/c#/vb/vb.net全局钩子模块
最新 雷电(Leidian) C#/VB.Net 操作类,测试可用,可以开发自己的和 雷电(Leidian) 模拟器相关的程序
我收藏的AE+C#/VB/C++/VB.net/RES 开发的地图查询应用的源代码,很实用哦~~
一款小巧的NET代码生成工具,可生成各种数据库连接代码,支持VB、VB.NET、C#、C#.NET...
ASP.NET4入门经典——涵盖C#和VB.NET(第6版)
基恩士激光位移传感器C#/C++/VB.net的demo 很难找 找了很久才找到
程序针对的语言为.net winform下的C#和VB.net,不支持J#.c++尚未测试 在计算代码行数时可以选择忽略空行、忽略注释或者忽略visual studio所自动生成的文件。这样可以得到自己亲手写的真实的代码行数。 同时,...
SkinSharp 1.0.6.6 破解版 For C#/VB/VC .NET
ASP.Net MVC下开发示例 1.VS2012的解决方案,用到SuperWebSocket 2.是一个考场向页面发送数据的示例 3.先运行考场连接服务器,再运行页面进行连接
[Vb.Net/C#/J#] 需求:My_FastReport.dll/adodb.dll/Interop.My_FastReport.dll [C++] 需求:My_FastReport.dll/adodb.dll/Interop.My_FastReport.1.0.dll .net 本案例基于.net2005开发平台 QQ:122391458 E-mail:Hz...
一个支持VS2005和2008的重构工具,很好用的Refactor tool,但是只支持C#和VB.NET,安装完毕以后在菜单栏会出现一个“重构”选项,点击鼠标右键也可以看见!语言和你的VS一致! 附上源网址,感兴趣的可以自己去看...
主要介绍了C#/VB.NET 如何在Word中添加条码、二维码,代码中将分为在Word正文段落中、页眉页脚中等情况来添加。感兴趣的朋友可以了解下
[Vb.Net/C#/J#] 需求:My_FastReport.dll/adodb.dll/Interop.My_FastReport.dll [C++] 需求:My_FastReport.dll/adodb.dll/Interop.My_FastReport.1.0.dll .net 本案例基于.net2005开发平台 QQ:122391458 E-mail:Hz...
C#转换成vb.net软件解压后双击ConvertCSharp2VB.exe即可使用 将c#的代码粘贴到窗口中 点击右下角Convert即可看到VB.NET的代码 正确率90%左右 !
这篇文章主要讨论vb.net语言和c#.net语言在语法上的不同,vb.net和c#.net有一系列微妙的差异,变量的申明和赋值,数据类型,语句终止的方式,语句块的表述,使用的变量括号,操作符的不同,条件语句的不同,错误处理...
《ASP.NET3.5入门经典:涵盖C#和VB.NET》(第5版)是一本非常好的ASP.NET入门书籍。《ASP.NET3.5入门经典-涵盖C#和VB.NET》以建立一个实际的Web站点为主线,从最初的没有任何功能的简单站点开始,然后逐步增加功能和...