返回顶部
首页 > 资讯 > 精选 >Java怎么获取Word中所有的插入和删除修订
  • 770
分享到

Java怎么获取Word中所有的插入和删除修订

2023-06-29 20:06:26 770人浏览 独家记忆
摘要

这篇文章主要介绍“Java怎么获取Word中所有的插入和删除修订”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么获取Word中所有的插入和删除修订”文章能帮助大家解决问题。在 Word 文

这篇文章主要介绍“Java怎么获取Word中所有的插入和删除修订”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么获取Word中所有的插入和删除修订”文章能帮助大家解决问题。

    在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入、删除、替换和格式更改。对插入或删除的内容,可通过本文中介绍的方法来获取。

    引入jar

    方法1

    手动引入:将Free Spire.Doc for Java下载到本地,解压,找到lib文件夹下的Spire.Doc.jar文件。在idea中打开如下界面,将本地路径中的jar文件引入Java程序:

    Java怎么获取Word中所有的插入和删除修订

    方法2

    通过Maven仓库下载。如下配置pom.xml:

    <repositories><repository><id>com.e-iceblue</id><url>https://repo.e-iceblue.cn/repository/Maven-public/</url></repository></repositories><dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.doc.free</artifactId><version>5.2.0</version></dependency></dependencies>

    获取插入、删除的修订

    • 创建一个Document 实例并使用Document.loadFromFile() 方法加载一个示例 Word 文档。

    • 创建一个StringBuilder 对象,然后使用StringBuilder.append() 方法记录据。

    • 遍历所有Section 和 section 中 body 下的每一个元素。

    • 使用Paragraph.isInsertRevision() 方法确定段落是否为插入修订。如果是,请使用Paragraph.getInsertRevision() 方法获取插入修订。然后使用EditRevision.getType() 方法和EditRevision.getAuthor() 方法获取修订类型、作者。

    • 使用Paragraph.inDeleteRevision() 方法确定段落是否为删除修订。如果是,请使用Paragraph.getDeleteRevision() 方法获取删除修订。然后使用EditRevision.getType() 方法和EditRevision.getAuthor() 方法获取修订类型、作者。

    • 遍历段落中的所有元素以获取文本范围的修订。

    • 使用FileWriter.write() 方法将StringBuilder 的内容写入 txt 文档。

    Java

    import com.spire.doc.*;import com.spire.doc.documents.Paragraph;import com.spire.doc.fields.TextRange;import com.spire.doc.fORMatting.revisions.EditRevision;import com.spire.doc.formatting.revisions.EditRevisionType;import java.io.FileWriter;public class GetAllRevisions {public static void main(String[] args)throws Exception {//加载示例 Word 文档Document document = new Document();document.loadFromFile("test.docx");//创建一个 StringBuilder 对象以获取插入修订StringBuilder insertRevision = new StringBuilder();insertRevision.append("INSERT REVISIONS:"+"\n");int index_insertRevision = 0;//创建一个 StringBuilder 对象以获取删除修订StringBuilder deleteRevision = new StringBuilder();deleteRevision.append("DELETE REVISIONS:"+"\n");int index_deleteRevision = 0;//遍历所有节for (Section sec : (Iterable<Section>) document.getSections()){//遍历section中body下的元素for(DocumentObject docItem : (Iterable<DocumentObject>)sec.getBody().getChildObjects()){if (docItem instanceof Paragraph){Paragraph para = (Paragraph)docItem;//确定段落是否为插入修订if (para.isInsertRevision()){index_insertRevision++;insertRevision.append("Index: " + index_insertRevision + " \n");//获取插入修订EditRevision insRevison = para.getInsertRevision();//获取插入的段落文本内容String insertRevisionString = para.getText();//获取插入修订类型EditRevisionType insType = insRevison.getType();insertRevision.append("Type: " + insType + " \n");//获取插入修订作者String insAuthor = insRevison.getAuthor();insertRevision.append("Author: " + insAuthor + " \n" + "InsertPara:"+ insertRevisionString );}//确定段落是否为删除修订if (para.isDeleteRevision()){index_deleteRevision++;deleteRevision.append("Index: " + index_deleteRevision + " \n");EditRevision delRevison = para.getDeleteRevision();EditRevisionType delType = delRevison.getType();deleteRevision.append("Type: " + delType + " \n");String delAuthor = delRevison.getAuthor();deleteRevision.append("Author: " + delAuthor + " \n");}//遍历段落中的元素for(DocumentObject obj : (Iterable<DocumentObject>)para.getChildObjects()){if (obj instanceof TextRange){TextRange textRange = (TextRange)obj;//确定文本范围是否为删除修订,并获取删除修订的类型、作者及删除的文本内容。if (textRange.isDeleteRevision()){index_deleteRevision++;deleteRevision.append("Index: " + index_deleteRevision +" \n");EditRevision delRevison = textRange.getDeleteRevision();EditRevisionType delType = delRevison.getType();deleteRevision.append("Type: " + delType+ " \n");String delAuthor = delRevison.getAuthor();deleteRevision.append("Author: " + delAuthor + " \n");String deletetext = textRange.getText();deleteRevision.append("Delete text:" + deletetext +" \n");}//确定文本范围是否为插入修订,并获取插入修订的类型、作者及文本内容。else if (textRange.isInsertRevision()){index_insertRevision++;insertRevision.append("Index: " + index_insertRevision +" \n");EditRevision insRevison = textRange.getInsertRevision();EditRevisionType insType = insRevison.getType();insertRevision.append("Type: " + insType + " \n");String insAuthor = insRevison.getAuthor();insertRevision.append("Author: " + insAuthor + " \n");String insertText = textRange.getText();insertRevision.append("insertText:"+insertText);}}}}}}//保存插入修订内容为txt 文件FileWriter writer1 = new FileWriter("insertRevisions.txt");writer1.write(insertRevision.toString());writer1.flush();writer1.close();//保存删除修订内容为txt 文件FileWriter writer2 = new FileWriter("deleteRevisions.txt");writer2.write(deleteRevision.toString());writer2.flush();writer2.close();}}

    获取结果:

    Java怎么获取Word中所有的插入和删除修订

    关于“Java怎么获取Word中所有的插入和删除修订”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: Java怎么获取Word中所有的插入和删除修订

    本文链接: https://lsjlt.com/news/326366.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Java怎么获取Word中所有的插入和删除修订
      这篇文章主要介绍“Java怎么获取Word中所有的插入和删除修订”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么获取Word中所有的插入和删除修订”文章能帮助大家解决问题。在 Word 文...
      99+
      2023-06-29
    • Java 获取Word中所有的插入和删除修订的方法
      目录​​引入Jar​​​​方法1​​​​方法2​​​​获取插入、删除的修订​​在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入、删除、替换和格式更改。对插...
      99+
      2024-04-02
    • java中怎么获取hashmap中所有的key
      这篇文章主要介绍了java中怎么获取hashmap中所有的key的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java中怎么获取hashmap中所有的key文章都会有所收获,下面我们一起来看看吧。如何获取has...
      99+
      2023-07-05
    • C#/VB.NET怎么实现在Word中插入或删除脚注
      本篇内容介绍了“C#/VB.NET怎么实现在Word中插入或删除脚注”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!程序环境本次测试时,在程序...
      99+
      2023-07-05
    • MariaDB中如何实现数据的插入、修改和删除
      小编给大家分享一下MariaDB中如何实现数据的插入、修改和删除,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB...
      99+
      2023-06-27
    • Java中怎么读取和删除 Excel 批注
      这篇文章将为大家详细讲解有关Java中怎么读取和删除 Excel 批注,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装首先你需要下载Spire.XLS JAR并将其作为依赖项添加到您的Ja...
      99+
      2023-06-02
    • TRUNCATE中怎么删除表的所有数据
      TRUNCATE中怎么删除表的所有数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。备注 与 DELETE 语句相比,TRUNCATE TAB...
      99+
      2024-04-02
    • asp.net中怎么获取页面的所有链接
      asp.net中怎么获取页面的所有链接,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。private void Page_Load(object s...
      99+
      2023-06-09
    • C#怎么实现提取Word中插入的多媒体文件
      这篇“C#怎么实现提取Word中插入的多媒体文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么实现提取Word中插入...
      99+
      2023-06-29
    • SQLserver中怎么删除某数据库的所有表
      SQLserver中怎么删除某数据库的所有表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。方便删除数据库中所有的数据表,清空数据库,有些有约束...
      99+
      2024-04-02
    • git怎么删除Git仓库中的所有文件
      在使用 Git 进行版本控制时,有时候我们需要删除 Git 仓库中的所有文件。这在两种情况下很有用:当你想要清空 Git 仓库并重新开始时,这个操作可以快速地删除所有文件。当你意外添加了不应该在 Git 中跟踪的文件时,这个操作可以帮助你方...
      99+
      2023-10-22
    • PHP中怎么获取MySQL数据库中的所有表
      这篇文章将为大家详细讲解有关PHP中怎么获取MySQL数据库中的所有表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  PHP如何获取MySQL数据库中的所...
      99+
      2024-04-02
    • Java怎么实现二叉搜索树的插入、删除功能
      这篇文章给大家介绍Java怎么实现二叉搜索树的插入、删除功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java的特点有哪些Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允...
      99+
      2023-06-26
    • JavaScript中怎么获取 HTML表单的所有字段
      本篇文章给大家分享的是有关JavaScript中怎么获取 HTML表单的所有字段,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。考虑一个简单的 ...
      99+
      2024-04-02
    • python中怎么获取一个库的所有函数
      查询python中一个库所有函数的方法首先,在计算机中使用组合键“win+R”运行“cmd”,进入命令提示符窗口;进入到命令提示符窗口后,在命令行中使用dir()即可列出一个库中的所以函数;语法:dir(库名)用法:dir(numpy)查看...
      99+
      2024-04-02
    • Java中怎么删除Excel的行和列
      Java中怎么删除Excel的行和列,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Jar文件获取及导入:方法1:通过官方网站下载获取jar包。解压后将lib文件夹下的Spi...
      99+
      2023-06-16
    • php怎么获取一个对象中所有的方法
      在PHP中,获取一个对象中所有的方法非常简单,可以利用PHP标准库中的 ReflectionClass 类实现。ReflectionClass 类提供了在PHP中反射一个类的所有信息的方法,包括类名、属性和方法等。下面我们详细介绍如何使用 ...
      99+
      2023-05-14
      php php对象
    • php怎么删除路径下的所有文件夹和文件
      这篇文章主要介绍了php怎么删除路径下的所有文件夹和文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php怎么删除路径下的所有文件夹和文件文章都会有所收获,下面我们一起来看看吧。php遍历一个文件夹内的所有文...
      99+
      2023-07-05
    • Java Map.values()方法之怎么获取Map集合中的所有键值对象
      今天小编给大家分享一下Java Map.values()方法之怎么获取Map集合中的所有键值对象的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
      99+
      2023-07-05
    • 怎么获取java类中的字段修饰符
      这篇文章主要介绍怎么获取java类中的字段修饰符,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优...
      99+
      2023-06-14
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作