Java - 차이점을 얻기 위해 두 개의 Word 문서를 비교하는 방법
다음은 비교할 두 Word 문서의 스크린샷입니다.
Spire.Doc.jar를 종속성으로 추가
Maven 프로젝트에서 작업하는 경우 다음을 사용하여 pom.xml 파일에 종속성을 포함할 수 있습니다.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>10.6.6</version>
</dependency>
</dependencies>
maven을 사용하지 않는 경우 this location 에서 제공되는 zip 파일에서 필요한 jar 파일을 찾을 수 있습니다. 이 자습서에 제공된 샘플 코드를 실행하려면 모든 jar 파일을 애플리케이션 lib 폴더에 포함합니다.
두 문서를 비교하고 결과를 Word 문서에 저장
비교 결과를 Word 문서에 저장하면 삽입, 삭제 및 형식 수정을 포함하여 원본 문서의 모든 변경 사항을 볼 수 있습니다. 다음은 Java용 Spire.Doc을 사용하여 두 문서를 비교하고 결과를 Word 문서로 저장하는 단계입니다.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class CompareDocuments {
public static void main(String[] args) {
//Load one Word document
Document doc1 = new Document("C:\\Users\\Administrator\\Desktop\\original.docx");
//Load the other Word document
Document doc2 = new Document("C:\\Users\\Administrator\\Desktop\\revised.docx");
//Compare two documents
doc1.compare(doc2, "John");
//Save the differences in a third document
doc1.saveToFile("Differences.docx", FileFormat.Docx_2013);
doc1.dispose();
}
}
두 문서를 비교하고 목록에서 삽입 및 삭제 반환
때로는 전체 차이점 대신 삽입 및 삭제에만 관심이 있을 수 있습니다. 다음은 Spire.Doc for Java를 사용하여 삽입 및 삭제를 수행하는 단계입니다.
import com.spire.doc.DifferRevisions;
import com.spire.doc.Document;
import com.spire.doc.DocumentObject;
import com.spire.doc.fields.TextRange;
import com.spire.ms.System.Collections.Generic.List;
public class CompareReturnResultsInLists {
public static void main(String[] args) {
//Load one Word document
Document doc1 = new Document("C:\\Users\\Administrator\\Desktop\\original.docx");
//Load the other Word document
Document doc2 = new Document("C:\\Users\\Administrator\\Desktop\\revised.docx");
//Compare the two Word documents
doc1.compare(doc2, "Author");
//Get the revisions
DifferRevisions differRevisions = new DifferRevisions(doc1);
//Return the insertion revisions in a list
List<DocumentObject> insertRevisionsList = differRevisions.getInsertRevisions();
//Return the deletion revisions in a list
List<DocumentObject> deleteRevisionsList = differRevisions.getDeleteRevisions();
//Create two int variables
int m = 0;
int n = 0;
//Loop through the insertion revision list
for (int i = 0; i < insertRevisionsList.size(); i++)
{
if (insertRevisionsList.get(i) instanceof TextRange)
{
m += 1;
//Get the specific revision and get its content
TextRange textRange = (TextRange)insertRevisionsList.get(i) ;
System.out.println("Insertion #" + m + ":" + textRange.getText());
}
}
System.out.println("============================================");
//Loop through the deletion revision list
for (int i = 0; i < deleteRevisionsList.size(); i++)
{
if (deleteRevisionsList.get(i) instanceof TextRange)
{
n += 1;
//Get the specific revision and get its content
TextRange textRange = (TextRange) deleteRevisionsList.get(i) ;
System.out.println("Deletion #" + n + ":" + textRange.getText());
}
}
}
}
Reference
이 문제에 관하여(Java - 차이점을 얻기 위해 두 개의 Word 문서를 비교하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexis92/java-how-to-compare-two-documents-to-get-differences-1jdi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)