序
在前面的文章C# 如何插入、修改、删除Word批注一文中介绍了如何操作Word批注的一些方法,在本篇文章中继续介绍操作Word批注的方法。分以下三种情况来介绍:
1. 插入图片到Word批注
2. 读取Word批注
3. 回复Word批注
所需工具
Visual Studio
PS:下载安装Free Spire.Doc 后,注意在你的程序中添加引用Spire.Doc.dll(dll文件可以在安装路径下的Bin文件夹中获取)
示例代码
1. 插入图片到Word批注
步骤 1:添加using指令
using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;using System.Drawing;
步骤 2:创建文档,加载测试文件
Document doc = new Document();
doc.LoadFromFile("testfile.docx");步骤 3 :获取段落
Paragraph paragraph = doc.Sections[0].Paragraphs[2];
步骤 4 :添加文本、图片到批注
Comment comment = paragraph.AppendComment("探索黑科技,小米为发烧而生!");
comment.Format.Author = "Administor";
DocPicture docPicture = new DocPicture(doc);
Image img = Image.FromFile("mi.png");
docPicture.LoadImage(img);//插入图片到批注comment.Body.AddParagraph().ChildObjects.Add(docPicture);步骤 5 :保存文件
doc.SaveToFile("result.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("result.docx");
测试结果:
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.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsImports System.DrawingNamespace 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 ClassEnd Namespace
2.读取Word批注
步骤 1 :添加using指令
using System.Text;using System.IO;using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;
步骤 2 :创建实例,加载文档
Document doc = new Document();
doc.LoadFromFile("test.docx");步骤 3 :将批注内容写入Txt文档
//实例化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");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.TextImports System.IOImports Spire.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsNamespace 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 ClassEnd Namespace
3. 回复Word批注内容
步骤 1 :添加using指令
using Spire.Doc;using Spire.Doc.Fields;
步骤 2 :创建实例
Document doc = new Document();
doc.LoadFromFile("test.docx");步骤 3 :获取批注
Comment comment = doc.Comments[0];
步骤 4 :回复批注
Comment replyComment = new Comment(doc);
replyComment.Format.Author = "Adam";
replyComment.Body.AddParagraph().AppendText("这条批注内容请再丰富一下,内容有些单调");
comment.ReplyToComment(replyComment);步骤 5 :保存文件
doc.SaveToFile("ReplyToComment.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("ReplyToComment.docx");
测试结果:
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.DocImports Spire.Doc.FieldsNamespace 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 ClassEnd Namespace以上为本次关于操作Word批注的全部内容。
(本文完)
如需转载,请注明出处。
原文出处:C#/VB.NET 操作Word批注(二)——如何插入图片、读取、回复Word批注内容
點擊查看更多內容
1人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦





