如何使用C ++以编程方式在Word文档中使用注释?
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文档中的注释
以下是从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 informationstd::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),我们很高兴为您提供查询和咨询。
如何使用C ++以编程方式在Word文档中使用注释?相关推荐
- Word开发工具Aspose.Words功能演示:在C ++中以编程方式在Word文档中添加或删除页眉和页脚
Word文档中的页眉和页脚用于格式化和显示重要信息,例如主题,章节,页码,Copywrite等.以编程方式使用Word文档时,可能需要添加或删除页眉和页脚.为此,本文将教您如何使用C ++在Word文 ...
- Word处理控件Aspose.Words功能演示:用Java从Word文档中提取文本
Aspose.Words For .NET是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsof ...
- C# Word文档中插入、提取图片,文字替换图片
Download Files: http://www.c-sharpcorner.com/UploadFile/26b237/image-operations-using-word-document- ...
- Word处理控件Aspose.Words功能演示:从 C# 中的 Word 文档中提取图像
图像在说明 Word 文档中的关键信息方面发挥着重要作用.此外,它们使文档更具吸引力并改善其呈现方式.作为一名程序员,您可能会得到一份工作来提取嵌入在 Word DOCX 或 DOC 文档中的图像.为 ...
- Word开发工具Aspose.Words功能演示:使用C ++在Word文档中使用目录
目录(TOC)是Word文档的重要组成部分.它提供了文档内容的概述,并允许您快速导航到所需的部分.您可能会遇到需要以编程方式从Word文档中添加,提取,更新或删除目录的情况.为此,本文将教您如何使用C ...
- Word处理控件Aspose.Words功能演示:在 C# 中从 Word 文档中提取文本
从 Word 文档中提取文本通常在不同的场景中执行.例如,分析文本,提取文档的特定部分并将它们组合成单个文档,等等.在本文中,您将学习如何使用 C# 以编程方式从 Word 文档中提取文本.此外,我们 ...
- python环绕文字_Java 设置 Word 文档中图片文字环绕方式
Java 设置 Word 文档中图片文字环绕方式 在Word文档中插入图片时,选择合理的图片文字环绕方式可以使图片的展示效果更好,也能使页面的排版更加美观.本文就将介绍如何使用Free Spire.D ...
- Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...
- WORD文档中的表格:自定义方式的批处理,增删行列和内容
WORD文档中的表格:自定义方式的批处理,增删行列和内容: 大家有没有遇到需要处理WORD文档中的表格,表格多,需要大量的重复性工作: office提供了宏录制方式,可以编辑风格,内容,但是针对增删表 ...
最新文章
- 第一章 Mysql 简介及安装和配置
- 阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer
- R语言ggplot2可视化分面图(facet_wrap)、使用size参数自定义设置分面图标签栏(灰色标签栏)中的标签文本的字体大小
- SQLSERVER中修复状态为Suspect的数据库
- 报错:SyntaxError: Non-UTF-8 code starting with '\xbc' in file
- ASP读取ini文件的实现方法
- 解决redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
- 跨域调用WebService
- android学习一---搭建开发环境
- 大学一年级计算机教程视频教程,大学一年级公开课《计算机基础教程》期末试题复习.doc...
- python struct pack string_struct (String) – Python 中文开发手册
- windows2003密码忘记了该如何处理
- 图片保存为YUV格式
- 家用linux 版本哪个好,Ubuntu到底哪个版本最好用?
- 朋友圈点赞图在线生成源码
- uni-app中view和text组件和动画的使用
- java excelhandle oschina,基于alibab的easyexcel进行excel表的导出(可自定义handler去设计excel格式)...
- 聚焦:ZK-SNARK 技术
- No pyvenv.cfg file
- 记一次:9i数据库,/home目录满,tossing监控出问题,导致脑裂
热门文章
- 计算机职称考试图片,2017职称计算机考试WPS技巧:图片合并
- 失业日记 11月22日
- 基础教学丨UiBot主界面、可视化、源代码视图操作
- 5G无线路由器在智慧水利监测中的应用
- 计算机毕业论文乐谱播放器,基于乐谱输入的弦乐播放系统 的设计与实现毕业论文.doc...
- 福袋试用2.0(野火霸天虎stm32f407、正点原子miniSTM32F103...)
- Mysql中空间扩展 - 查询你附近的餐厅或酒店
- 我的HTML基础总结-2
- 【genius_platform软件平台开发】第八十八讲:arm公司的V架构和内核发展史(整理)
- 新媒体运营部门的工作内容及人员分工