이 기사를 통해 텍스트 파일, Word 파일, PDF 파일 및 기타 문서를 Java 기반 응용 프로그램에서 비교할 수 있습니다. 이 기능을 사용하여 송장, 계약서, 프레젠테이션, AutoCAD 디자인, 가격표 또는 프로그래밍 파일을 비교할 수 있습니다. 또한 확인된 변경 사항을 강조 표시하고 변경 사항을 수락하거나 거부할 수 있는 권한이 있습니다. Java용 문서 비교 API를 사용하여 GroupDocs에서 출시한 것과 유사한 자체 문서 비교 도구를 구축할 수도 있습니다.
아래에서는 다음 주제를 살펴봅니다.
- Word 파일 비교 및 차이점 표시.
- 스트림을 사용하여 Word 파일 비교.
- Word 파일에서 식별된 변경 사항을 수락 또는 거부.
- 텍스트 파일을 비교하고 차이점을 강조 표시.
- Java를 사용하여 PDF 파일 비교.
자바 문서 비교 API
전제 조건으로 다운로드 섹션에서 GroupDocs.Comparison for Java를 얻을 수 있습니다. 또한 maven 기반 애플리케이션의 경우 pom.xml에 다음을 추가하면 됩니다.
저장소 및 종속성
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>20.4</version>
</dependency>
Java를 사용하여 Word 파일 비교 및 차이점 표시
아래 단계에서는 몇 줄의 Java 코드로 두 Word 문서를 비교하는 방법을 보여줍니다. 결과적으로 식별된 변경 사항을 강조 표시하는 결과 문서를 얻게 됩니다.
- 소스 문서 경로로 Comparer 개체를 초기화합니다.
- add 메서드를 사용하여 비교할 두 번째 문서를 추가합니다.
- compare 메서드를 호출하여 비교 결과를 얻습니다. 비교 메소드는 출력 문서의 이름을 매개변수로 사용합니다.
// Compare two Word files from the provided location on disk
Comparer comparer = new Comparer("source.docx");
try {
comparer.add("target.docx");
comparer.compare("comparison.docx");
}
finally {
comparer.dispose();
}
여기에 위의 코드에 의해 생성된 결과 Word 문서가 표시되며 여기에는 비교된 두 Word 문서의 강조 표시된 차이점이 포함됩니다. 삭제된 콘텐츠는 빨간색으로 표시되고 추가된 콘텐츠는 파란색으로 표시되지만 녹색은 수정된 콘텐츠를 표시합니다.
스트림을 사용하여 텍스트용 Word 파일 비교
유사하게 문서를 두 번째 문서와 비교하기 위해 Comparer 클래스에 스트림으로 전달할 수 있습니다. 다음은 명확한 아이디어를 제공하는 Java 코드입니다.
// Compare two Word file using Stream
Comparer comparer = new Comparer(new FileInputStream("source.docx"));
try {
comparer.add(new FileInputStream("target.docx"));
comparer.compare(new FileOutputStream("result.docx"));
}
finally {
comparer.dispose();
}
Java를 사용하여 Word 파일의 비교 변경 사항 수락 또는 거부
식별된 차이점을 성공적으로 강조 표시한 후에는 변경 사항을 수락하거나 거부할 수 있습니다. 예를 들어 변경 사항을 수락하거나 거부합니다. 각 변경 사항을 유사한 코드로 하나씩 표시하고 요구 사항에 따라 각 변경 사항을 수락/거부할지 결정할 수 있습니다.
// Accept or Reject the identified changes of Word document in Java
Comparer comparer = new Comparer(source);
try {
comparer.add(target);
comparer.compare();
ChangeInfo\[\] changes = comparer.getChanges();
System.out.println("changes.length: " + changes.length + ".");
// Accept or Reject the changes
for (int n = 0; n < changes.length; n++) {
if (n % 2 == 0) {
changes\[n\].setComparisonAction(ComparisonAction.ACCEPT);
}
else {
changes\[n\].setComparisonAction(ComparisonAction.REJECT);
}
}
// Apply your decisions to get the resultant document.
comparer.applyChanges(outputFileName, new SaveOptions(), new ApplyChangeOptions(changes));
}
finally {
comparer.dispose();
}
Java를 사용하여 텍스트 파일 비교 및 차이점 표시
Comparer 클래스를 사용하여 모든 텍스트 파일을 비교할 수도 있습니다. 다음은 Java에서 두 텍스트 파일을 비교하는 유사한 코드입니다. 단계는 다른 두 문서를 비교하는 것과 정확히 동일합니다.
// Compare two text files to identify and highlight changes.
Comparer comparer = new Comparer("source.txt");
try {
comparer.add("target.txt");
comparer.compare("comparison.txt");
}
finally {
comparer.dispose();
}
다음은 위의 코드를 사용하여 두 개의 텍스트 파일을 매칭한 비교 결과를 보여주는 출력 문서이다.
Java를 사용하여 텍스트 차이에 대한 PDF 파일 비교
위의 동일한 코드를 사용하고 파일 확장자를 “.pdf"로 변경하여 PDF 파일을 비교할 수 있습니다. 참고로 아래 코드는 두 개의 pdf 파일을 비교하고 Java에서 차이점을 보여줍니다.
// Compare two PDF file using Stream
Comparer comparer = new Comparer(new FileInputStream("source.pdf"));
comparer.add(new FileInputStream("target.pdf"));
comparer.compare(new FileOutputStream("result.pdf"));
아래는 PDF 파일을 비교한 결과입니다.
또한보십시오
다른 많은 오픈 소스 예제는 GitHub Repository에서 공개적으로 사용할 수 있습니다. 시작하기 가이드를 사용하여 예제를 다운로드하고 빠르게 실행할 수 있습니다. 질문이 있는 경우 문서를 보거나 포럼에서 언제든지 문의하십시오.