워드 프로세싱 문서는 계약서, 계약서, 문서 및 기타 많은 공식 문서의 초안을 작성하는 가장 일반적인 방법입니다. Microsoft Word의 변경 내용 추적 옵션처럼 두 개의 Word 문서를 비교 및 병합해야 하는 경우 .NET 응용 프로그램 내에서 프로그래밍 방식으로 수행할 수 있습니다. 이 기사에서는 두 Word 문서를 비교하고 C#을 사용하여 식별된 차이점을 강조하는 방법에 대해 설명합니다. 또한 암호로 보호된 문서를 비교하고 변경 사항을 수락 및 거부하고 C# 예제를 사용하여 두 개 이상의 문서를 비교하는 방법을 살펴봅니다.

Word 문서를 비교하여 .NET API를 사용하여 차이점 찾기

여기에서는 다음 주제에 대해 설명합니다.

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에 대해 자세히 알아보세요. 다양한 지원되는 문서 형식에 대한 문서 비교 응용 프로그램 구축을 시작하려면 문서를 방문하십시오. 문의 사항은 포럼을 통해 문의해 주세요.

또한보십시오