123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package com.ruoyi.common.filecompare;
- import com.spire.doc.DifferRevisions;
- import com.spire.doc.Document;
- import com.spire.doc.fields.TextRange;
- import com.spire.ms.System.Collections.Generic.List;
- import java.util.HashSet;
- import java.util.LinkedHashSet;
- import java.util.Set;
- public class SpireDoc {
- public static Set<String> compare(String file1, String file2) {
- Document doc1 = new Document();
- Document doc2 = new Document();
- Set<String> set = new LinkedHashSet<>();
- try {
- doc1.loadFromFile(file1);
- doc2.loadFromFile(file2);
- doc1.compare(doc2, "Host");
- // doc1.saveToFile("C:\\Users\\admin\\Desktop\\Result.docx");
- DifferRevisions differRevisions = new DifferRevisions(doc1);
- List insertRevisionsList = differRevisions.getInsertRevisions();
- List deleteRevisionsList = differRevisions.getDeleteRevisions();
- int m = 0;
- int n = 0;
- for (int i = 0; i < insertRevisionsList.size(); i++)
- {
- if (insertRevisionsList.get(i) instanceof TextRange)
- {
- m += 1;
- //获取指定插入改动,并获取插入的具体内容
- TextRange textRange = (TextRange)insertRevisionsList.get(i) ;
- set.add("插入 #" + m + ":" + textRange.getText());
- }
- }
- for (int i = 0; i < deleteRevisionsList.size() ; i++)
- {
- if (deleteRevisionsList.get(i) instanceof TextRange)
- {
- n += 1;
- //获取指定删除改动,并获取删除的具体内容
- TextRange textRange = (TextRange) deleteRevisionsList.get(i) ;
- set.add("删除 #" + n + ":" + textRange.getText());
- }
- }
- }catch (Exception e){
- e.printStackTrace();
- }finally {
- doc1.close();
- doc2.close();
- return set;
- }
- }
- }
|