Word控件Spire.Doc 【评论】教程(3):在C#、VB.NET中从Word文档中提取注释并保存在TXT文件中

news2025/5/15 0:11:28

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。

Spire.Doc for.NET 最新下载(qun:767755948)icon-default.png?t=M85Bhttps://www.evget.com/product/3368/download

文字评论可以是对部分内容的评论或思考,也可以是作者对特定词组、句子或段落的解释或引用。此外,可以从文档中提取现有评论,本指南中的解决方案演示了如何通过 Spire.Doc for .NET 在 C# 和 Visual Basic 中提取 Word 评论并保存到 TXT 文件。

Spire.Doc for .NET是一个易于使用的 .NET Word 组件,用于执行 Word 任务,它提供了一个 Comment 类,使用户能够在 Word 中获取评论和评论正文的段落。下面的屏幕截图显示了带有两条评论的原始文档。

下载并安装 Spire.Doc for .NET并按照步骤提取 Word 注释。首先,初始化一个 StringBuilder 实例来保存提取的评论。其次,使用一个foreach 语句获取Word 中的所有评论,并使用另一个foreach 语句获取每个评论正文的每个段落。然后,调用 StringBuilder.AppendLine 方法将后跟默认行终止符的注释字符串的副本附加到当前 StringBuilder 对象的末尾。传递给此方法的参数是字符串值,即注释段落文本。第三,调用 File.WrtieAllText 方法创建一个新的 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)
{
//Load Document
Document doc = new Document();
doc.LoadFromFile(@"E:\Work\Document\A GOOD MAN IS HARD TO FIND.docx");

//Extract Comment
StringBuilder SB = new StringBuilder();

foreach(Comment comment in doc.Comments)
{
foreach (Paragraph p in comment.Body.Paragraphs)
{
SB.AppendLine(p.Text);
}
}

//Save to TXT File
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
Friend Class Program
Shared Sub Main(ByVal args() As String)
'Load Document
Dim doc As New Document()
doc.LoadFromFile("E:\Work\Document\A GOOD MAN IS HARD TO FIND.docx")

'Extract Comment
Dim SB As New StringBuilder()

For Each comment As Comment In doc.Comments
For Each p As Paragraph In comment.Body.Paragraphs
SB.AppendLine(p.Text)
Next p
Next comment

'Save to TXT File
File.WriteAllText("CommentExtraction.txt", SB.ToString())
System.Diagnostics.Process.Start("CommentExtraction.txt")
End Sub
End Class
End Namespace

调试后会出现如下结果:

Spire.Doc,一个专业的Word组件,使开发人员/程序员能够操作Word文档,例如在.NET、WPF和Silverlight应用程序上生成、打开、保存和修改

以上便是在C#、VB.NET中从Word文档中提取注释并保存在TXT文件中,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Leetcode] 合并两个有序数组、链表

1.合并两个有序数组 原地合并数组,即不使用额外的空间 --> 使用三个指针,从尾部往前处理 题目链接:https://leetcode.cn/problems/merge-sorted-array/ nums1 总长度 mn,自身长度m;nums2 自身长度n, 使…

SSRF渗透与攻防(一)

目录 前言 SSRF是什么 危害(利用方式): SSRF漏洞原理: CURL协议: SSRF常见场景 社会化分享功能: 如何发现SSRF漏洞 工具利用: 如何防御SSRF漏洞 前言 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是…

rocketmq 实战问题汇总

rocketmq 实战过程会遇到这样或者那样的问题,今天我们专门抽出一篇文章来分析一下汇总一下,避免以后踩同样的坑: 1、找不到JDK的问题: 综合分析,是因为JDK安装的目录有空格导致的:Program Files 两个单词之…

电子招标采购系统源码—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明&#xff0…

CANoe—基于DoIP通过CAPL实现与ECU通信测试

如下连接是在CANoe中基于DoIP通过加载诊断数据库实现CANoe与待测ECU诊断通信: CANoe链接 本文继续此话题,通过一个简单的CAPL Demo,实现CANoe与ECU进行DoIP通信。 首先在CANoe新建Ethernet工程: 在CANoe “Simulation Setup”中新建CAPL Test Module: 在此例中采用CANo…

DHCP原理和实验

目录 DHCP基本认识和原理 场景一、同网段DHCP 场景二、不同段DHCP(中继DHCP) DHCP基本认识和原理 DHCP(Dynamic Host Configuration Protocol动态主机协议)。 作用:为局域网络中主机动态分发地址,以及…

C#里使用ExcelDataReader读取EXCEL文件的简单方法

C#里使用ExcelDataReader读取EXCEL文件的简单方法 读取EXCEL文件是比较常见的需求,所以在C#里也会经常遇到。 比如客户需要保存的条码数据,他们可以使用EXCEL来扫码进去,并且进行修改和核验, 然后软件就需要读取这些EXCEL文件,并且从这里得到所需要的条码。 要从EXCEL里…

Android 查看隐私权限方法调用者集合

背景 辛辛苦苦迭代完当前版本,准备推送 App 到应用市场上架,却收到拒审通知:App隐私合规上架护航版检测报告, 报告内容: 场景2:APP以隐私政策弹窗的形式向用户明示收集使用规则,未经用户同意,…

页面崩溃了!记录一次测试中出现的前端内存溢出现象

前情回顾 前几天在一次web应用测试过程中,前端发起了向后端接口的查询请求,由于后端响应较慢,前端一直处于等待响应返回状态。在几分钟后,突然页面出现让人惊悚的“噢噢,页面崩溃了”几个大字。 看到这几个字的一瞬间…

基于GitLab构建企业级CICD-Gitlab-Runner

背景 在过往企业开发中,大部分企业从开发到测试,到部署目前还是手工进行在一些某些中大型企业中,目前构建及部署还是直接使用二进制包部署,或直接单机运行在某些场合下,仓库中代码的编译需要硬件支持,致使…

SSM框架学习记录-Maven_day01

1.分模块开发 将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享:比如有订单和商品两个模块,它们都需要使用到商品的模型类,如果在这两个模块中都写模型类,就会出现重复代码&#xff0c…

Doris部分列更新在广告行业应用

背景:业务需要在不同的时间点对同一个session_id上的广告行为(展示、点击、转换等)数据的更新。 基于HBase归因 更新原理:以session_id为Key在HBase中写入数据,数据更新是先点查到历史数据,补齐当前数据后…

风已起,待云涌---多维度理解云安全

Fix the Unknown,Before You Know it. 新时代大门开启的时候,蜂拥而上的大都是勇士,风已起,待云涌! 1.云安全: 未来安全的能力将成为计算、存储、网络之外的第四大基础设施,并全部融入到云基础设施中&…

Python爬虫入门 ~ selenium访问元素信息与交互基本使用

访问元素信息 前面我们成功定位到了页面的标签元素,那接下来就该轮到获取元素的信息了,常用的函数有以下几种: get_attributetexttag_name 前置准备 from selenium import webdriver from selenium.webdriver.chrome.service import Service from sel…

【Django项目开发】用户认证功能开发(四)

一、JWT Token配置 1、下载djangorestframework-jwt pip install djangorestframework-jwt2、settings.py指定使用的认证类JSONWebTokenAuthentication REST_FRAMEWORK {# 指定使用的认证类# a、在全局指定默认的认证类(认证方式)DEFAULT_AUTHENTICA…

企业金融App评测系列——微众银行以App构筑企业金融服务新生态,成为企业的随身数字银行

易观分析:近年来,疫情驱动小微企业线上化需求不断提升,经营面临的财力、人力、信息获取的紧迫性进一步提升。为更好发展普惠小微金融的商业银行对公服务,正聚焦更好满足小微企业的数字化需求,加快打造企业手机银行等移…

mybatis xml接收日期格式参数

实现方式一&#xff1a; mapper List<AsLLjgcfVO> selectjgcf(Param("rq")Date rq)mapper.xml <select id"selectjgcf" parameterType"string" resultType"com.bysen.mes.domain.VO.AsLLjgcfVO"> where ${rq} between …

使用openEuler系统 搭建Nginx服务器

文章目录1 Nginx服务器1.1 概述1.2 安装1.3 管理nginx1.3.1 概述1.3.2 前提条件1.3.3 启动服务1.3.4 停止服务1.3.5 重启服务1.3.6 验证服务状态1.4 配置文件说明1.5 管理模块1.5.1 概述1.5.2 加载模块1.6 验证web服务是否搭建成功1 Nginx服务器 1.1 概述 Nginx 是一款轻量级…

【Vue】course_3

13.vue3过渡效果 学习&#xff1a;Vue3过渡效果开发&#xff08;内置组件 、内置组件 &#xff09; Vue 提供了两个内置组件&#xff0c;可以帮助你制作基于状态变化的过渡和动画&#xff1a; <Transition> 会在一个元素或组件进入和离开 DOM 时应用动画。本章节会介绍…

算法设计与分析

目录 7-1 汉诺塔问题 7-2 逆序对 7-3 前t个组合结果 7-4 跳马问题 7-5 加油站之最小加油次数 7-6 删数问题 7-1 因子分解 7-2 英雄出场王 7-3 最佳组队问题 7-4 回文串的切割 7-5 和谐宿舍 7-6 h0221.激光炸弹 7-1 小H分糖果 7-2 子集和问题 7-3 数列游戏 7-4 叠…