如何使用C ++以编程方式在Word文档中使用注释?

2023-11-15

Microsoft Word使您能够向Word文档添加注释。在诸如建议改进文档或共享文本思想等情况下,注释可能会有所帮助。在某些情况下,需要以编程方式管理评论。为此,本文将教您如何使用C ++在Word文档中使用注释。

让我们探索以下有关的内容:

  • 使用C ++向Word文档添加注释
  • 阅读Word文档中的注释
  • 使用C ++修改Word文档中的注释
  • 使用C ++从Word文档中删除注释

Aspose.Words for C ++ 是本机C ++库,允许您创建,读取,修改和转换Microsoft Word文档。此外,它还支持处理DOCX和DOC文件中的注释。

>>你可以下载Aspose.Words for C ++ 最新版测试体验。


使用C ++向Word文档添加注释

Aspose.Words for C ++ API提供了添加带有作者姓名,缩写和日期/时间的注释的功能。以下是将注释添加到Word文档的步骤。

  • 首先,使用Document类加载Word文档。
  • 通过传递在上一步中创建的Document对象,创建DocumentBuilder类的实例。
  • 使用Comment类创建注释。
  • 使用DocumentBuilder-> get_CurrentParagraph()-> AppendChild(System :: SharedPtrnewChild)方法将注释添加到文档中。
  • 最后,使用Document-> Save(System :: String fileName)方法保存文档。

下面的示例代码演示了如何使用C ++向Word文档添加注释。

// Directory paths.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Load the Word file
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");

// Create an instance of the DocumentBuilder class
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);

// Add comment
System::SharedPtr<Comment> comment = System::MakeObject<Comment>(doc, u"Aspose", u"AFFA", System::DateTime::get_Today());
builder->get_CurrentParagraph()->AppendChild(comment);
comment->get_Paragraphs()->Add(System::MakeObject<Paragraph>(doc));
comment->get_FirstParagraph()->get_Runs()->Add(System::MakeObject<Run>(doc, u"Comment text."));

// Save the document.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");

下面是示例代码生成的输出图像。

Word开发工具Aspose.Words功能演示:使用C ++以编程方式在Word文档中使用注释

阅读Word文档中的注释

以下是从Word文档中读取注释的步骤。

  • 使用Document类加载Word文档。
  • 使用Document-> GetChildNodes(Aspose :: Words :: NodeType nodeType,bool isDeep)方法检索注释。
  • 遍历注释并检索单个注释的信息。

以下是使用C ++从Word文档中读取注释的示例代码。

// Directory paths.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Load the Word file
System::SharedPtrdoc = System::MakeObject(sourceDataDir + u"SampleComments.docx");

// Retrieve comments
System::SharedPtrcomments = doc->GetChildNodes(NodeType::Comment, true);

// Loop through all comments
for (System::SharedPtrcomment : System::IterateOver(comments))
{
	// Print comment information
	std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast(comment)->ToString(SaveFormat::Text);
}

使用C ++修改Word文档中的注释

为了修改注释,请使用NodeCollection-> idx_get(int32_t index)方法对其进行检索,然后根据需要进行更改。以下是修改Word文档中的注释的步骤。

  • 首先,使用Document类加载Word文档。
  • 使用Document-> GetChildNodes(Aspose :: Words :: NodeType nodeType,bool isDeep)方法检索注释。
  • 使用NodeCollection-> idx_get(int32_t index)方法获取所需的注释,并将结果转换为Comment。
  • 更新评论。
  • 最后,使用Document-> Save(System :: String fileName)方法保存文档。

下面的示例代码显示了如何使用C ++修改Word文档中的注释。

// Directory paths.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Load the Word file
System::SharedPtrdoc = System::MakeObject(sourceDataDir + u"SampleComments.docx");

// Retrieve comments
System::SharedPtrcomments = doc->GetChildNodes(NodeType::Comment, true);

// Get comment
System::SharedPtrcomment = System::DynamicCast(comments->idx_get(0));

// Update comment text
comment->SetText(u"Updated Text");

// Save the document.
doc->Save(outputDataDir + u"UpdatedComment.docx");

使用C ++从Word文档中删除注释

可以使用NodeCollection-> Clear()方法一次删除所有注释,而不是删除单个注释。以下是删除Word文档中所有注释的步骤。

  • 使用Document类加载Word文档。
  • 使用Document-> GetChildNodes(Aspose :: Words :: NodeType nodeType,bool isDeep)方法检索注释。
  • 使用NodeCollection-> Clear()方法删除所有注释。
  • 最后,使用Document-> Save(System :: String fileName)方法保存文档。

下面的示例代码演示了如何使用C ++从Word文档中删除所有注释。

// Directory paths.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Load the Word file
System::SharedPtrdoc = System::MakeObject(sourceDataDir + u"SampleComments.docx");

// Retrieve comments
System::SharedPtrcomments = doc->GetChildNodes(NodeType::Comment, true);

// Remove all comments.
comments->Clear();

// Save the document.
doc->Save(outputDataDir + u"DeleteAllComments.docx");

以下是删除特定注释的步骤。

  • 使用Document类加载Word文档。
  • 使用Document-> GetChildNodes(Aspose :: Words :: NodeType nodeType,bool isDeep)方法检索注释。
  • 使用NodeCollection-> idx_get(int32_t index)方法获取要删除的注释,并将结果转换为Comment。
  • 使用Comment-> Remove()方法删除注释。
  • 使用Document-> Save(System :: String fileName)方法保存文档。

下面的示例代码显示了如何使用C ++从Word文档中删除特定的注释。

// Directory paths.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";

// Load the Word file
System::SharedPtrdoc = System::MakeObject(sourceDataDir + u"SampleComments.docx");

// Retrieve comments
System::SharedPtrcomments = doc->GetChildNodes(NodeType::Comment, true);

// Get comment
System::SharedPtrcomment = System::DynamicCast(comments->idx_get(2));

// Remove comment
comment->Remove();

// Save the document.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");

 


如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用C ++以编程方式在Word文档中使用注释? 的相关文章

随机推荐

  • SkyWalking链路追踪中Trace概念以及Trace与span的关系

    基本概念 在SkyWalking链路追踪中 Trace 追踪 是指一个请求或者一个操作从开始到结束的完整路径 它涵盖了分布式系统中所有相关组件的调用关系和性能信息 具体来说 Trace包含了一系列的span 跨度 每个span代表了一个组件
  • kibana使用_从kibana迁移到grafana作为elasticsearch的展现

    今天说说 我们为什么会选择从kibana迁移到grafana 并选用grafana作为elasticsearch的图表展现工具 文章中关于kinaba和grafana的对比会有些片面 勿喷 最一开始使用kibana ElasticSearc
  • java 正则表达式_a-z_0-9 validation,掌握Java-Bean Validation

    数据校验虽然简单 但是却是一个繁琐的事 我在无数的代码看到if判断参数 然后错了打日志抛异常 一片一片的这种代码 如果有点重复了 再弄出N个xxUtil来归纳代码 虽然这种做法可以达到效果 但是代码散乱 一个是编写麻烦 一个是不易阅读 Ja
  • Pyqt5设计打开电脑摄像头+拍照(转载)

    本片为利用Pyqt5设计一个可以打开摄像头进行拍照的Demo 我感觉以后可能会有用 记录一下 Demo运行视频 哈哈感觉很好玩 用到的模块安装 库 安装 作用 PyQt5 pip install PyQt5 界面设计 opencv pyth
  • [网络安全自学篇] 三十五.恶意代码攻击检测及恶意样本分析

    本文主要结合作者的 系统安全前沿 作业 论文及绿盟李东宏老师的博客 从产业界和学术界分别详细讲解恶意代码攻击溯源的相关知识 在学术界方面 用类似于综述来介绍攻击追踪溯源的不同方法 在产业界方面 主要参考李东宏老师从企业恶意样本分析的角度介绍
  • 单调递增队列(全过程图文实现 另附习题)

    什么是单调队列 有什么用 不妨用一个问题来说明单调队列的作用和操作 不断地向缓存数组里读入元素 也不时地去掉最老的元素 不定期的询问当前缓存数组里的最小的元素 最直接的方法 普通队列实现缓存数组 进队出队都是O 1 一次查询需要遍历当前队列
  • 手把手教你如何 远程控制另一台电脑 保姆教程

    现在win10可以实现两台电脑之间的远程控制 下面我就分享一下如何利用快速助手进行远程控制另一台电脑 每一步都有截图 实验环境 两台win10系统的电脑 一 打开电脑后 需要设置允许电脑进行远程控制 进入 控制面板 系统和安全 系统 远程控
  • python文件操作图形化——python实战项目:单词练习系统

    python 文件操作与图形化编程 目录 python 文件操作与图形化编程 文件基本操作 图形化界面tkinter 单词练习系统 文件基本操作 D Python example txt 文件路径 D Python 文件名 example
  • 并行计算出现 pickle.PicklingError

    from multiprocessing import Pool def my function x return x x if name main inputs 1 2 3 4 5 with Pool 2 as p results p m
  • Unity面试题

    Unity基础面试题 1 什么是协同程序 2 Unity3D中碰撞器和触发器的区别 3 物体发生碰撞的必要条件 4 ArrayList和list的区别 5 如何安全的在不同工程间迁移Asset 6 OnEnable Awake Start的
  • Dubbo高级应用-服务治理

    目录 1 dubbo admin 2 7 x版本安装部署 1 1 下载源码 1 2 部署访问 2 路由规则 2 1 Dubbo API配置 2 2 管理控制台配置 3 规则动态配置 3 1 应用粒度 3 2 服务粒度 4 服务降级 5 集群
  • 集成 CUDA 实现 GPU 加速 OpenCV 计算机视觉

    特点 详细概述了将 OpenCV 与 CUDA 集成以用于实际应用 理解GPU与CUDA编程 通过一些实际示例 探索使用GPU和CUDA的OpenCV加速 熟悉在 NVIDIA Jetson TX1 上部署 OpenCV 应用程序 介绍了
  • python 类装饰器和函数装饰器区别_Python各种类型装饰器详解说明

    装饰器说明 Python中的装饰器是一种可以装饰其它对象的工具 该工具本质上是一个可调用的对象 callable 所以装饰器一般可以由函数 类来实现 装饰器本身需要接受一个被装饰的对象作为参数 该参数通常为函数 方法 类等对象 装饰器需要返
  • -day15--内置模块与开发规范

    day15 内置模块和开发规范 目标 掌握常见的内置模块的使用及了解软件开发的规范 今日概要 内置模块 json time datetime re 开发规范 主文件 配置文件 数据 附件 业务代码 1 内置模块 1 1 json json模
  • Win10+mingw64条件下编译和使用TBB(环境变量太神奇了!)

    Win10 mingw64 VSCode条件下编译和使用TBB Win10 mingw64条件下编译和使用TBB 编译TBB 环境变量的设置 TBB使用示例 总结与展望 Win10 mingw64条件下编译和使用TBB 本文记录在Win10
  • java中.xlsx或者.xls格式的Excel导入(servlet中处理的)

    1 第一步 在pom xml文件中添加maven依赖
  • 二、Node.js---模块化

    目录 模块化的基本概念 Node js中模块化 Node js 中模块的分类 加载模块 Node js 中的模块作用域 模块作用域 向外共享模块作用域中的成员 Node js 中的模块化规范 npm与包 在项目中安装包 包的语义化版本规范
  • 运放-滞回(迟滞)比较器全流程实战计算

    比较器之滞回 迟滞 比较器实战计算 下面我们进行一个电池低电压保护的电路设计 其中会介绍到滞回比较器的实际用法以及详细计算推导过程 假设我们定18 5V为电池欠压保护电压 也就是说在当前负载情况下电池电压低于18 5V时 其他功能会被限制住
  • linux中如何重新configure(或去除已configure的文件)

    linux中如何重新configure 或去除已configure的文件 linux中 在安装源码软件前 需要configure命令来进行安装配置 有时configure后需要重新configure 这时需要进行一些操作 已放置出错 以在f
  • 如何使用C ++以编程方式在Word文档中使用注释?

    Microsoft Word使您能够向Word文档添加注释 在诸如建议改进文档或共享文本思想等情况下 注释可能会有所帮助 在某些情况下 需要以编程方式管理评论 为此 本文将教您如何使用C 在Word文档中使用注释 让我们探索以下有关的内容