GroupDocs.Comparison for .NET은 문서를 비교하고 차이점을 찾을 수 있는 C# 라이브러리입니다. Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, 텍스트, HTML 및 기타 많은 문서 비교 및 병합, 원본 문서와 대상 문서 간의 변경 목록 검색, 변경 사항 적용 또는 거부, GroupDocs로 결과 저장 .비교 API. 이 외에도 GroupDocs.Comparison은 굵게, 기울임꼴, 밑줄, 취소선, 글꼴 유형 등과 같은 스타일 및 서식 변경 사항을 식별할 수 있습니다.

GroupDocs.Comparison에서 사용하는 변경 감지 알고리즘을 통해 다양한 문서 부분과 블록의 차이점을 감지할 수 있습니다.

  • 텍스트 블록 - 단락, 단어 및 문자
  • 테이블;
  • 이미지;
  • 모양 등

다음은 두 텍스트 파일을 비교하고 차이점을 표시하는 간단한 단계입니다.

  • 소스 문서 경로 또는 스트림으로 Comparer 개체를 인스턴스화합니다.
  • Add 메서드를 호출하고 대상 문서 경로 또는 스트림을 지정합니다.
  • Compare 메서드를 호출합니다.

다음 코드 조각은 몇 줄의 코드를 사용하여 문서를 비교하는 가장 간단한 경우를 보여줍니다.

로컬 파일에서 문서 비교

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
}

스트림에서 문서 비교

using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
    comparer.Add(File.OpenRead(“target.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

서로 다른 연도에 체결된 DOCX 형식의 두 계약이 있다고 가정해 보겠습니다. 위의 코드를 사용하여 이러한 계약을 비교하면 아래와 같이 삭제된 요소가 빨간색으로 표시되고 추가된 요소가 파란색으로, 수정된 요소가 녹색으로 표시된 DOCX 파일을 얻을 수 있습니다.

감지된 차이점 수락 또는 거부

GroupDocs.Comparison은 원본 문서와 대상 문서 간의 특정 변경 사항을 적용하거나 무시하고 선택한 변경 사항이 있거나 없는 결과 문서를 저장할 수 있는 기능을 제공합니다.

다음은 결과 문서에 변경 사항을 적용/거부하는 단계입니다.

  • 소스 문서 경로 또는 스트림으로 Comparer 개체를 인스턴스화합니다.
  • Add 메서드를 호출하고 경로 대상 문서 경로 또는 스트림을 지정합니다.
  • Compare 메서드를 호출합니다.
  • GetChanges 메서드를 호출하고 감지된 변경 목록을 가져옵니다.
  • 필요한 변경 객체의 ComparisonActionComparisonAction.Accept 또는 ComparisonAction.Reject 값으로 설정합니다.
  • ApplyChanges 메서드를 호출하고 변경 사항 컬렉션을 전달합니다.

다음 코드 샘플은 감지된 차이점을 수락/거부하는 방법을 보여줍니다.

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(File.Create(“result.docx”), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}

문서 페이지 미리보기 생성

GroupDocs.Comparison를 사용하면 Document 클래스의 GeneratePreview 메서드를 사용하여 소스, 대상 및 결과 문서에 대한 페이지 미리보기를 생성할 수 있습니다.

PreviewOptions 클래스는 미리보기 생성 프로세스를 관리하는 데 사용됩니다. 원하는 페이지 번호, 이미지 형식 등을 지정합니다.

다음은 GroupDocs.Comparison API를 사용하여 문서 미리보기를 생성하는 단계입니다.

  • Comparer 클래스의 새 인스턴스를 만들고 소스 문서 경로를 생성자 매개변수로 전달합니다.
  • Add 메서드를 사용하여 비교 대상 문서를 추가합니다.
  • Comparer 개체의 SourceTargets 속성은 소스 및 대상 문서에 액세스할 수 있도록 하고 GeneratePreview 메서드를 제공합니다.
  • 다음을 사용하여 PreviewOptions 개체를 인스턴스화합니다.
    • 각 페이지 스트림 생성을 위한 대리자(이벤트 핸들러 CreatePageStream 참조);
    • 이미지 미리보기 형식 - PNG / JPG / BMP;
    • 처리할 페이지 번호;
    • 미리보기 이미지의 사용자 정의 크기(필요한 경우).
  • SourceTargets 문서의 GeneratePreview 메서드를 호출하고 PreviewOptions을 전달합니다.

결과 문서에 대한 페이지 미리보기 가져오기

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
    Document document = new Document(File.OpenRead(“result.docx”));
    PreviewOptions previewOptions = new PreviewOptions(pageNumber =>
    {
        var pagePath = Path.Combine(“C:\\”, $"result\_{pageNumber}.png");
        return File.Create(pagePath);
    });
    previewOptions.PreviewFormat = PreviewFormats.PNG;
    previewOptions.PageNumbers = new int[] { 1, 2 };
    document.GeneratePreview(previewOptions);
}

여러 문서 비교

GroupDocs.Comparison은 두 개 이상의 문서를 비교할 수 있습니다. 다음 코드 샘플은 프로그래밍 방식으로 여러 문서를 비교하는 방법을 보여줍니다.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    comparer.Compare(“result.docx”);
}

설치

NuGet는 .NET용 GroupDocs.Comparison을 다운로드하고 설치하는 가장 쉬운 방법입니다. 기능 제한 없이 라이브러리를 테스트하려면 임시 라이센스를 얻으십시오.

라이브러리에 대한 자세한 내용은 문서를 확인하십시오. 우리는 또한 무료 기술 지원을 제공하므로 문의로 연락해 주십시오. 기꺼이 도와드리겠습니다.