`

C#/VB.NET 操作Word批注(二)——如何插入图片、读取、回复Word批注内容

阅读更多

 

在前面的文章C# 如何插入、修改、删除Word批注一文中介绍了如何操作Word批注的一些方法,在本篇文章中继续介绍操作Word批注的方法。分以下三种情况来介绍:

1. 插入图片到Word批注

2. 读取Word批注

3. 回复Word批注

 

所需工具

 



 示例代码

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批注的全部内容。

(本文完)

如需转载,请注明出处。

  • 大小: 20.6 KB
  • 大小: 58.3 KB
  • 大小: 116.1 KB
  • 大小: 67.8 KB
0
0
分享到:
评论

相关推荐

    Word文档合并(有合并进度显示)

    Microsoft.Office.Interop.Word是.NET Framework中的一部分,它允许程序员通过C#、VB.NET等编程语言与Microsoft Office应用程序进行交互,包括Word。这个组件提供了丰富的API,可以用来创建、编辑、格式化和操作Word...

    PDF-ProDLRin.NET4-英文版.rar

    9. **编程接口**:提供易于使用的.NET API,通过C#、VB.NET或其他.NET兼容语言进行调用。 10. **性能优化**:优化的代码库确保在处理大量或大型PDF文件时具有高效性能。 11. **跨平台兼容**:由于是基于.NET ...

    Open XML SDK OpenXML Tool 开发工具

    这个SDK提供了.NET Framework上的类库,允许开发者在C#、VB.NET或其他.NET语言中方便地创建、读取、修改和验证Open XML文档。 **Open XML基础知识** Open XML是微软定义的一种开放标准文件格式,它将Office文档内容...

    Aspose.Words.NET Examples

    这些示例涵盖了多种编程语言,包括Visual Basic(VB)和C#,并针对不同的.NET Framework版本(2005、2008和2010)提供了解决方案文件(.sln)。这意味着无论你是VB程序员还是C#程序员,无论你正在使用哪个版本的.NET...

    ASP.NET+SQL通用作业批改系统设计(源代码+论文).zip

    ASP.NET支持多种编程语言,如C#和VB.NET,且提供了多种开发模式,如Web Forms、MVC和Blazor,其中Web Forms是最传统的,而MVC更适合现代、分离关注点的开发。 SQL(Structured Query Language)是用于管理和处理...

    Gios PDF NET Lib

    "GIOS PDF .NET Lib" 是一款专门针对.NET框架设计的PDF处理库,它为开发者提供了在C#、VB.NET或其他.NET支持的语言中创建、编辑和操作PDF文档的强大功能。这款库的核心目标是帮助程序员高效地集成PDF文档处理能力到...

    NTKO文档在线编辑控件4.0.1.2

    NTKO OFFICE文档控件支持在线编辑,痕迹保留,手写签名,电子印章,全屏批注,电子签名[数字签名,数字证书签名],简单OCR等实用功能,支持PHP,ASP,JSP,C#,VB.NET,DOMINO等各种web编程语言和服务器。 NTKO OFFICE文档...

    spire.pdf.dll可用版.zip

    Spire.PDF是一款功能强大的PDF文档处理库,主要用于.NET开发者,它提供了丰富的API接口,使得在C#、VB.NET或其他.NET兼容的语言中创建、编辑、转换、读取和打印PDF文档变得轻而易举。标题中的"spire.pdf.dll可用版....

    Foxit PDF SDK ActiveX 4.0 Pro

    8. **编程接口API**: Foxit PDF SDK 提供了详细的API文档和示例代码,帮助开发者快速理解和使用这些功能,API通常支持多种编程语言如C++, C#, VB.NET等。 9. **性能优化**: 由于Foxit PDF SDK 4.0 Pro的高性能特性...

    Aspose.PDF 17.7 PDF

    9. **编程语言支持**:Aspose.PDF主要针对.NET Framework开发,支持C#、VB.NET等语言,同时也适用于其他.NET兼容环境,如ASP.NET和Windows Forms应用程序。 10. **性能优化**:Aspose.PDF 17.7 版本可能包含了性能...

    NPOI使用手册.doc

    1. **什么是NPOI**:NPOI允许开发者在C#或VB.NET等.NET环境中创建、修改和读取Excel文件。它不仅支持基本的单元格操作,还包含对样式、公式、图表和打印设置的处理。 2. **版权说明**:NPOI遵循Apache 2.0许可证,这...

    Spread for WinForms 表格控件 V7.0 使用指南

    - **代码示例**:每个操作均附带有具体的 C# 和 VB 代码示例,便于开发者直接运行查看效果。 - **逐步指导**:从简单的单元格操作到复杂的高级数据处理,逐步引导开发者掌握 Spread 控件的各种功能。 - **中英文对照...

    打印预览控件

    打印预览控件通常适用于多种编程环境,如C++、C#、VB.NET等,可以集成到如MFC、Windows Forms、WPF、WinUI等不同的开发框架中。 5. **兼容性**: 良好的打印预览控件应支持多种文件格式,如DOC、PDF、XLS、TXT等...

Global site tag (gtag.js) - Google Analytics