<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在 Word 檔案中啟用跟蹤更改功能後,會記錄檔案中的所有編輯行為,例如插入、刪除、替換和格式更改。對插入或刪除的內容,可通過本文中介紹的方法來獲取。
手動引入:將Free Spire.Doc for Java下載到本地,解壓,找到lib資料夾下的Spire.Doc.jar檔案。在IDEA中開啟如下介面,將本地路徑中的jar檔案引入Java程式:
通過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>
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中所有的插入和刪除修訂的方法的文章就介紹到這了,更多相關獲取Word插入和刪除修訂內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45