C#을 사용하여 둘 이상의 Word 문서 비교

C#을 사용하여 둘 이상의 Word 문서 비교

두 개 이상의 Word 문서를 쉽게 비교하거나 .NET 응용 프로그램에서 프로그래밍 방식으로 차이점과 유사점에 대해 동일한 Word 파일의 여러 버전을 비교할 수 있습니다. 이 기사에서는 두 개 이상의 Word 문서를 비교하고 C#을 사용하여 차이점을 강조 표시하는 방법을 배웁니다.

이 문서에서는 다음 주제를 논의/다룹니다.

DOCX 파일을 비교하는 C# API

둘 이상의 DOCX 파일을 비교하기 위해 GroupDocs.Comparison for .NET API를 사용합니다. 두 개 이상의 문서를 비교하여 단어, 단락, 문자에 대한 문서 내용의 변경 사항을 찾습니다. 결과적으로 차이점을 강조 표시하고 차이점에 대한 요약을 나열하는 비교 문서가 생성됩니다. 또한 유사한 문서 형식 간의 텍스트 스타일 변경 및 차이점을 감지할 수 있습니다. API는 PDF, HTML, Word, Excel, PowerPoint, Outlook 이메일, Visio 다이어그램, OpenDocument, AutoCAD 및 이미지와 같은 모든 산업 표준 문서 형식의 비교를 지원합니다.

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

Install-Package GroupDocs.Comparison

C#을 사용하여 둘 이상의 Word 문서 비교

아래에 제공된 간단한 단계에 따라 프로그래밍 방식으로 두 개 이상의 Word 문서를 비교할 수 있습니다.

  1. 소스 DOCX 파일 경로를 사용하여 Comparer 클래스의 인스턴스 생성
  2. 비교에 추가할 대상 DOCX 파일과 함께 Add() 메서드를 호출합니다.
  3. 비교에 더 많은 파일을 추가하려면 위의 단계를 반복하십시오.
  4. 출력 파일 경로를 사용하여 Compare() 메서드를 호출합니다.

다음 코드 샘플은 둘 이상의 Word 문서를 비교하고 C#을 사용하여 차이점을 강조 표시하는 방법을 보여줍니다.

// 비교자 초기화
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// 비교할 대상 파일 추가
comparer.Add("C:\\Files\\target.docx");

// 차이점 비교 및 저장
comparer.Compare("C:\\Files\\result.docx");
소스 및 대상 DOCX 파일

소스 및 대상 DOCX 파일

C#을 사용하여 둘 이상의 Word 문서 비교

C#을 사용하여 둘 이상의 Word 문서 비교

결과 문서에는 문서 끝 부분에 비교에서 발견된 모든 변경 사항의 요약을 보여주는 요약 페이지도 포함됩니다.

Comparer 클래스는 비교 프로세스를 제어하고 실행할 수 있는 기본 클래스입니다. 두 개 이상의 문서를 비교하는 몇 가지 방법을 제공합니다. 이 클래스의 Add() 메서드는 비교 프로세스에 파일을 추가합니다. 아래와 같이 Add() 메서드를 사용하여 비교에 여러 파일을 쉽게 추가할 수 있습니다.

comparer.Add("target1.docx");
comparer.Add("target2.docx");
comparer.Add("target3.docx");

Comparer 클래스의 Compare() 메서드는 원본 문서와 대상 문서를 비교합니다. 이 방법은 차이점을 강조 표시하고 입력 매개변수로 제공된 파일 경로에 결과를 저장합니다.

C#에서 스트림을 사용하여 Word 문서 비교

다음 단계에 따라 FileStream을 사용하여 두 개 이상의 Word 문서를 비교할 수 있습니다.

  1. Stream 객체의 소스 파일 읽기
  2. 다른 Stream 객체에서 대상 파일 읽기
  3. 소스 Stream 개체를 사용하여 Comparer 클래스의 인스턴스를 만듭니다.
  4. 비교에 추가할 대상 Stream 객체와 함께 Add() 메서드를 호출합니다.
  5. 출력 파일 경로를 사용하여 Compare() 메서드를 호출합니다.

다음 코드 샘플은 C#에서 FileStream을 사용하여 Word 문서를 비교하는 방법을 보여줍니다.

// 소스 및 대상 파일 읽기
using (Stream sourceStream = File.OpenRead("C:\\Files\\source.docx"))
using (Stream targetStream = File.OpenRead("C:\\Files\\target.docx"))
{
    // 비교자 초기화
    using (Comparer comparer = new Comparer(sourceStream))
    {
        // 비교할 대상 파일 스트림 추가
        comparer.Add(targetStream);

        // 차이점 비교 및 저장
        comparer.Compare(File.Create("C:\\Files\\result.docx"));
    }
}

C#을 사용하여 변경 내용 텍스트 가져오기

아래에 주어진 간단한 단계에 따라 프로그래밍 방식으로 Word 문서 비교에서 발견된 변경 내용의 텍스트를 얻을 수 있습니다.

  1. 소스 DOCX 파일 경로를 사용하여 Comparer 클래스의 인스턴스 생성
  2. 비교에 추가할 대상 DOCX 파일과 함께 Add() 메서드를 호출합니다.
  3. 비교에 더 많은 파일을 추가하려면 위의 단계를 반복하십시오.
  4. Compare() 메서드 호출
  5. GetChanges() 메서드를 호출하여 변경 사항의 세부 정보를 가져옵니다.
  6. 변경 사항 표시

다음 코드 샘플은 C#을 사용하여 변경 내용 텍스트를 가져오는 방법을 보여줍니다.

// 비교자 초기화
Comparer 비교하다r = new Comparer("C:\\Files\\source.docx");

// 비교할 대상 파일 추가
비교하다r.Add("C:\\Files\\target.docx");

// 비교하다
비교하다r.Compare();

// 변경 사항 가져오기
ChangeInfo[] changes = 비교하다r.GetChanges();

Console.WriteLine("Count of changes: " + changes.Length);

// 변경 사항 표시
foreach (ChangeInfo change in changes)
{
    Console.WriteLine("Change Type: " + change.Type + ", Text: " + change.Text);
}
Count of changes: 10
Change Type: Inserted, Text:
Change Type: Inserted, Text:  Company ‼ HYPERLINK "http://www.aspose.com/" ¶Aspose Pty Ltd§ Division GroupDocs
Change Type: Inserted, Text:
Change Type: Inserted, Text: Cool
Change Type: Deleted, Text: test
Change Type: Inserted, Text:
Change Type: Inserted, Text: signatures
Change Type: Inserted, Text:
Change Type: Deleted, Text: Customers
Change Type: Deleted, Text: GroupDocs is used by companies of all sizes across the globe, from large multinational firms to small freelance businesses. They come to us because they have a need for a simple, one-stop-shop, document management solution.

Comparer 클래스의 GetChanges() 메서드를 호출하여 소스 파일과 대상 파일 간의 변경 사항 목록을 얻을 수 있습니다. ChangeInfo 개체 목록을 반환합니다. ChangeInfo 클래스는 변경 사항에 대한 정보를 나타내며 Text, Type 등 변경 사항에 대한 세부 정보를 얻을 수 있는 다양한 속성을 제공합니다.

C#을 사용한 문서 속성 비교

다음 단계에 따라 프로그래밍 방식으로 Word 문서의 기본 제공 사용자 지정 속성 및 변수 속성을 비교할 수 있습니다.

  1. 소스 DOCX 파일 경로를 사용하여 Comparer 클래스의 인스턴스 생성
  2. 비교에 추가할 대상 DOCX 파일과 함께 Add() 메서드를 호출합니다.
  3. 비교에 더 많은 파일을 추가하려면 위의 단계를 반복하십시오.
  4. CompareOptions 인스턴스 생성
  5. CompareVariableProperty를 true로 설정합니다.
  6. CompareDocumentProperty를 true로 설정합니다.
  7. 출력 파일 경로 및 CompareOptions를 사용하여 Compare() 메서드를 호출합니다.

다음 코드 샘플은 C#을 사용하여 문서 속성을 비교하는 방법을 보여줍니다.

// 비교자를 초기화
Comparer 비교하다r = new Comparer("C:\\Files\\source.docx");

// 비교할 대상 파일 추가
비교하다r.Add("C:\\Files\\target.docx");

// 비교 옵션 정의
CompareOptions options = new CompareOptions();
options.CompareVariableProperty = true; // activate the comparison of variable properties
options.CompareDocumentProperty = true; // activate the comparison of built and custom properties

// 비교하다
비교하다r.Compare("C:\\Files\\result.docx", options);
C#을 사용한 문서 속성 비교

C#을 사용한 문서 속성 비교

다양한 비교 옵션을 적용하여 비교 프로세스를 향상시킬 수 있습니다. 이를 위해 CompareOptions 클래스를 사용하면 다양한 비교 옵션을 설정하여 특정 결과를 얻을 수 있습니다. 이 클래스의 CompareDocumentProperty를 사용하면 Word 형식의 기본 제공 속성과 사용자 지정 속성 비교를 켤 수 있습니다. CompareVariableProperty를 사용하면 Word 형식의 변수 속성 비교를 켤 수 있습니다.

C#을 사용하여 암호로 보호된 Word 문서 비교

다음 단계에 따라 프로그래밍 방식으로 두 개 이상의 암호로 보호된 Word 문서를 비교할 수 있습니다.

  1. LoadOptions 클래스의 인스턴스 만들기
  2. 소스 파일의 비밀번호를 입력하세요.
  3. 소스 DOCX 파일 경로 및 LoadOptions를 사용하여 Comparer 클래스의 인스턴스 생성
  4. 대상 DOCX 파일 경로와 암호로 LoadOptions 인스턴스를 사용하여 Add() 메서드를 호출합니다.
  5. 비교에 더 많은 파일을 추가하려면 위의 단계를 반복하십시오.
  6. 출력 파일 경로를 사용하여 Compare() 메서드를 호출합니다.

다음 코드 샘플은 C#을 사용하여 암호로 보호된 Word 문서를 비교하는 방법을 보여줍니다.

// 소스 파일에 대한 로드 옵션 정의
LoadOptions sourceLoadOptions = new LoadOptions() { Password = "1234" };

// 비교자를 초기화
Comparer 비교하다r = new Comparer("C:\\Files\\source.docx", sourceLoadOptions);

// 비교할 대상 파일 추가
비교하다r.Add("C:\\Files\\target.docx", new LoadOptions() { Password = "5678" });

// 비교하다
비교하다r.Compare("C:\\Files\\result.docx");

LoadOptions 클래스를 사용하면 문서를 로드하는 동안 추가 옵션을 지정할 수 있습니다. 지정할 다음 속성을 제공합니다.

  • FontDirectories — 로드할 글꼴 디렉토리 목록입니다.
  • LoadText — 전달된 문자열이 파일 경로가 아니라 비교 텍스트임을 나타냅니다(텍스트 비교에만 해당).
  • 암호 — 문서의 암호입니다.

C#을 사용하여 Word 문서의 책갈피 비교

다음 단계에 따라 프로그래밍 방식으로 Word 문서에서 사용 가능한 책갈피를 비교할 수 있습니다.

  1. 소스 DOCX 파일 경로를 사용하여 Comparer 클래스의 인스턴스 생성
  2. 비교에 추가할 대상 DOCX 파일과 함께 Add() 메서드를 호출합니다.
  3. 비교에 더 많은 파일을 추가하려면 위의 단계를 반복하십시오.
  4. CompareOptions 인스턴스 생성
  5. CompareBookmarks를 true로 설정합니다.
  6. 출력 파일 경로 및 CompareOptions를 사용하여 Compare() 메서드를 호출합니다.

다음 코드 샘플은 C#을 사용하여 Word 문서의 책갈피를 비교하는 방법을 보여줍니다.

// 비교자를 초기화
Comparer 비교하다r = new Comparer("C:\\Files\\source.docx");

// 비교할 대상 파일 추가
비교하다r.Add("C:\\Files\\target.docx");

// 비교 옵션 정의
CompareOptions 비교하다Options = new CompareOptions();
비교하다Options.CompareBookmarks = true; // 비교하다 bookmarks

// 비교하다
비교하다r.Compare("C:\\Files\\result.docx", 비교하다Options);
C#을 사용하여 Word 문서의 책갈피 비교

C#을 사용하여 Word 문서의 책갈피 비교

CompareBookmarks 속성을 사용하면 원본 문서와 대상 문서에서 사용 가능한 책갈피를 비교할 수 있습니다.

무료 라이선스 받기

임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 문서에서는 C#을 사용하여 둘 이상의 Word 문서를 비교하고 차이점을 강조 표시하는 방법을 배웠습니다. 강조 표시된 변경 사항 목록을 가져오는 방법도 배웠습니다. 또한 프로그래밍 방식으로 Word 문서의 책갈피를 비교하는 방법을 배웠습니다. 또한 C#을 사용하여 암호로 보호된 Word 문서를 비교하는 방법을 배웠습니다. 문서를 사용하여 .NET API용 GroupDocs.Comparison에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오