워드 프로세싱 문서는 계약서, 계약서, 문서 및 기타 많은 공식 문서의 초안을 작성하는 가장 일반적인 방법입니다. Microsoft Word의 변경 내용 추적 옵션처럼 두 개의 Word 문서를 비교 및 병합해야 하는 경우 .NET 응용 프로그램 내에서 프로그래밍 방식으로 수행할 수 있습니다. 이 기사에서는 두 Word 문서를 비교하고 C#을 사용하여 식별된 차이점을 강조하는 방법에 대해 설명합니다. 또한 암호로 보호된 문서를 비교하고 변경 사항을 수락 및 거부하고 C# 예제를 사용하여 두 개 이상의 문서를 비교하는 방법을 살펴봅니다.
여기에서는 다음 주제에 대해 설명합니다.
Word 문서를 비교하는 .NET API
GroupDocs.Comparison은 .NET 애플리케이션 내에서 여러 파일 형식의 다양한 문서를 비교 및 병합할 수 있는 .NET API를 제공합니다. .NET API, 즉 GroupDocs.Comparison for .NET을 사용하여 Word 문서를 비교하겠습니다.
다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 .NET 애플리케이션에 API를 설치할 수 있습니다.
PM> Install-Package GroupDocs.Comparison
C#을 사용하여 Word 문서 비교
두 가지 버전의 문서가 있는 경우 문서를 비교하여 차이점(추가, 삭제)을 찾고 모든 변경 사항을 표시하는 새 문서를 생성할 수 있습니다. 다음은 두 Word 문서를 비교하고 차이점을 강조하는 단계입니다.
- Comparer 클래스를 사용하여 첫 번째 Word 문서를 로드합니다.
- Add() 메서드를 사용하여 Comparer에 두 번째 파일을 추가합니다.
- Compare() 메서드를 호출하여 변경 사항 가져오기 요약을 비교합니다.
다음 C# 코드는 Word 문서를 비교하고 결과 문서에서 변경 사항을 가져오는 방법을 보여줍니다.
/*
* 두 Word 문서를 비교하고 C#을 사용하여 변경 사항 강조 표시
*/
using (Comparer comparer = new Comparer("path/document.docx"))
{
comparer.Add("path/document-ver2.docx");
comparer.Compare("path/compared-result.docx");
}
C#을 사용하여 Word 문서의 식별된 변경 사항 수락 또는 거부
MS Word의 변경 사항 추적 옵션과 유사하게 식별된 각 변경 사항을 수락하거나 거부할 수 있습니다. 다음은 Word 문서 내에서 식별된 변경 사항을 비교한 다음 수락하거나 거부하는 단계입니다.
- Comparer 클래스를 사용하여 원본 문서를 로드하고 대상 Word 문서를 추가합니다.
- Compare() 메서드를 사용하여 로드된 문서를 비교합니다.
- GetChanges() 메서드를 사용하여 식별된 변경 사항을 가져옵니다.
- 이제 변경 사항을 탐색하고 각 변경 사항의 ComparisonAction을 설정할 수 있습니다.
- 각 변경 사항에 대해 수락 또는 거부를 선택할 수 있습니다.
- 변경이 완료되면 ApplyChanges() 메서드를 호출하여 변경 사항이 적용된 결과 문서를 가져옵니다.
다음 C# 소스 코드는 두 Word 문서를 비교한 다음 식별된 변경 사항을 수락한 다음 다른 변경 사항을 거부합니다.
/*
* C#을 사용하여 Word 문서를 비교하여 식별된 변경 사항 수락 및 거부
*/
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
comparer.Add("path/document-2.docx");
comparer.Compare();
ChangeInfo[] changes = comparer.GetChanges();
// 첫 번째로 식별된 변경 사항을 거부하고 결과 문서에 추가되지 않습니다.
changes[0].ComparisonAction = ComparisonAction.Reject;
comparer.ApplyChanges("path/rejected-change-result.docx", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
changes = comparer.GetChanges();
changes[0].ComparisonAction = ComparisonAction.Accept;
comparer.ApplyChanges("path/accepted-change-result.docx", new ApplyChangeOptions { Changes = changes });
}
C#을 사용하여 두 개 이상의 문서 비교
마찬가지로 두 개 이상의 문서를 한 번에 비교할 수 있습니다. 다음은 여러 Word 문서의 차이점을 비교하고 식별된 변경 사항을 강조 표시하는 단계입니다.
- Comparer 클래스를 사용하여 첫 번째 Word 문서를 로드합니다.
- Add() 메서드를 사용하여 Comparer에 다른 문서를 계속 추가합니다.
- Compare() 메서드를 호출하여 변경 사항 및 변경 사항 요약을 가져옵니다.
다음 C# 코드는 두 개 이상의 Word 문서를 비교하고 결과 문서에서 변경 사항을 가져오는 방법을 보여줍니다.
/*
* C#을 사용하여 여러 Word 문서 비교
*/
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
comparer.Add("path/document-2.docx");
comparer.Add("path/document-3.docx");
comparer.Add("path/document-4.docx");
comparer.Compare("path/compare-result.docx");
}
C#을 사용하여 암호로 보호된 Word 문서 비교
문서가 암호로 보호되어 있는 경우 문서를 로드할 때 암호를 입력하기만 하면 됩니다. 다음 단계는 C#을 사용하여 암호로 보호된 문서의 내용을 비교하는 방법을 보여줍니다.
- 암호를 제공하여 소스 및 대상 문서에 대한 로드 옵션을 준비합니다.
- Comparer 클래스를 사용하여 소스 문서를 로드합니다.
- 준비된 로딩 옵션을 사용하여 Comparer에 대상 문서를 추가합니다.
- Compare() 메서드를 호출하여 차이점 요약을 가져옵니다.
다음 C# 코드 예제에서는 두 개의 암호로 보호된 Word 파일을 비교하고 차이점을 강조하는 결과 문서를 생성합니다.
/*
* C#을 사용하여 암호로 보호된 Word 문서 비교
*/
using (Comparer comparer = new Comparer("path/protected-document-1.docx", new LoadOptions(){ Password = "SourceFilePassword" }))
{
comparer.Add("path/protected-document-2.docx", new LoadOptions() { Password = "TargetFilePassword" });
comparer.Compare("path/compared-protected-docs-result.docx");
}
무료 API 라이선스 받기
임시 무료 라이선스 받기 평가 제한 없이 API를 사용할 수 있습니다.
결론
결론적으로 C#을 사용하여 두 개 이상의 Word 문서를 비교하는 방법을 배웠습니다. 또한 차이점을 강조한 후 식별된 변경 사항을 프로그래밍 방식으로 수락하고 거부하는 방법을 배웠습니다. 마지막으로 .NET 응용 프로그램 내에서 암호로 보호된 Word 문서를 비교하는 방법에 대해서도 논의했습니다.
비교 감도 설정, 요약 페이지만 표시, 갭 무시 등 많은 다른 비교 결과 제어를 위한 사용자 정의가 있습니다. GroupDocs.Comparison for .NET에 대해 자세히 알아보세요. 다양한 지원되는 문서 형식에 대한 문서 비교 응용 프로그램 구축을 시작하려면 문서를 방문하십시오. 문의 사항은 포럼을 통해 문의해 주세요.