문서 비교는 오늘날의 프로그래밍 세계에서 가장 일반적인 요구 사항 중 하나입니다. 워드 파일을 비교하든, 엑셀 파일, PDF 문서를 비교하든, 텍스트 파일이나 다른 문서 형식을 비교하든, 정확성은 비교할 때 핵심 요소입니다.

.NET 개발자를 위한 문서 비교 API로 파일 비교

이 기사에서는 **GroupDocs.Comparison**이 프로그래머가 여러 가지 방법으로 둘 이상의 문서를 비교하는 데 도움이 되는 방법에 대한 아이디어를 제공합니다. 온프레미스 GroupDocs.Comparison의 API는 현재 .NETJava에서 사용할 수 있지만 이 문서는 C# 개발자를 대상으로 합니다.

Excel, Word 파일 또는 C#의 모든 문서 비교

GroupDocs.Comparison를 사용하면 개발자가 두 문서를 비교할 수 있습니다(사실상 2개 이상. 결과 문서는 두 파일 간의 변경 사항을 비교하여 보여줍니다. 아래에 언급된 코드는 두 개의 Excel 파일을 비교하는 방법을 보여줍니다. C#에서 단 3줄의 코드로.

  1. 소스 문서 경로를 사용하여 Comparer 개체를 인스턴스화합니다.
  2. Add 메서드를 호출하여 대상 문서 경로를 지정합니다.
  3. Compare 메서드를 호출합니다.
  4. 그게 다야
using (Comparer comparer = new Comparer(“source.xlsx”))
{
    comparer.Add(“target.xlsx”);
    comparer.Compare(“result.xlsx”);
}

Excel 스프레드시트 또는 Microsoft Word 문서를 비교하는 것은 GroupDocs.Comparison의 .NET API에서 지원하는 비교 하위 집합에 불과합니다. 다음은 지원되는 형식 목록입니다. 문서를 방문하여 최신 정보를 확인할 수 있습니다.

문서 유형 파일 형식
워드 프로세싱 DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, TXT
스프레드시트 XLS, XLSX, XLSM, XLT, XLTM, XLSB, XLSM, CSV
프레젠테이션 PPT, PPTX, PPS, PPSX, POT, POTX
오픈도큐먼트 ODT, ODP, OTP, ODS, OTT
Microsoft Visio 드로잉 VSD, VSDX, VSS, VST, VDX
휴대용 PDF
메모 작성 ONE
HTM, HTML, MHT, MHTML
전자책 MOBI
이미지 BMP, GIF, JPG, JPEG, PNG, DICOM, DJVU, DWG, DXF
이메일 EML, EMLX, MSG

C#에서 둘 이상의 스프레드시트 또는 OneNote 문서 비교

.NET 20.2용 GroupDocs.Comparison 릴리스 이후 API는 이제 다음을 지원합니다.

  • 2개 이상의 Microsoft ExcelOpenOffice 스프레드시트 비교(XLS, XLSX, ODS, CSV, …)
  • 여러 Microsoft OneNote 문서를 비교합니다.

API는 이미 다양한 문서 형식에 대한 여러 파일의 비교를 지원합니다. 다음 코드 조각은 C#에서 여러 Excel 파일을 얼마나 빠르게 비교할 수 있는지 보여줍니다.

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

C#의 스트림에서 문서 비교

프로그래머는 로컬 저장소에서 사용할 수 있는 문서를 비교할 수 있을 뿐만 아니라 실제로 스트림에서 문서를 비교할 수도 있습니다.

  1. 소스 문서 스트림으로 Comparer 객체를 초기화하기만 하면 됩니다.
  2. Add 메서드를 호출하고 대상 스트림을 지정합니다.
  3. Compare 메서드 호출
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”))
{
    comparer.Add(File.OpenRead(“target1.docx”));
    comparer.Add(File.OpenRead(“target2.docx”));
    comparer.Add(File.OpenRead(“target3.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

C#에서 암호로 보호된 Word 문서/Excel 스프레드시트 비교

암호 보호는 공식 문서에서 일반적입니다. 문서 비교 .NET API를 사용하여 사용자/개발자가 암호로 보호된 문서를 비교할 수 있습니다.

암호로 보호되지 않은 문서를 비교하기 위한 코드와 비교하여 코드가 약간만 변경되었습니다. 문서를 로드하는 동안 LoadOptions를 사용하여 문서 암호를 지정합니다. 다음은 도움을 위한 샘플 비교 코드입니다.

using (Comparer comparer = new Comparer("source.docx", new LoadOptions() { Password = "1234" }))
{
    comparer.Add("target1.docx", new LoadOptions() { Password = "5678" });
    comparer.Add("target2.docx", new LoadOptions() { Password = "5678" });
    comparer.Add("target3.docx", new LoadOptions() { Password = "5678" });
    comparer.Compare("result.docx");
}

특정 설정의 문서 비교

비교하기 한 단계 앞서 아래에 언급된 것과 유사한 코드를 사용하여 사용자 정의된 비교 설정으로 여러 문서를 비교할 수 있습니다.

CompareOptions는 감지된 변경 사항 등에 대한 글꼴 스타일 지정과 같은 비교 옵션을 지정할 수 있는 기회를 제공합니다.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    CompareOptions compareOptions = new CompareOptions()
    {
        InsertedItemStyle = new StyleSettings()
        {
            FontColor = System.Drawing.Color.Yellow
        }
    };
    comparer.Compare(“result.docx”, compareOptions);
}

C#에서 프로그래밍 언어 파일 비교

GroupDocs는 더 많은 파일 형식을 비교할 수 있도록 지원을 지속적으로 확대하고 있습니다. 릴리스 v 20.2 이후에는 이제 .NET API를 사용하여 JSON 파일을 비교할 수도 있습니다. 다음은 지원 문서 형식 목록에 최근에 추가된 프로그래밍 언어 파일 형식입니다.

  • 액션스크립트
  • 어셈블러
  • C 기반
  • 씨샤프
  • 그루비
  • 자바스크립트
  • 자바
  • JSON
  • 객관적인 C/C++
  • PHP
  • 파이썬
  • 루비
  • 스칼라
  • 셸/배치 스크립트, 로그, Diff, 구성, LESS
  • SQL

이야기하자

위에서 강조한 기능을 사용하여 고유한 응용 프로그램을 구축할 수 있습니다. 포럼에 연락하여 토론하거나 문제를 해결하거나 피드백을 공유해 주시면 기쁠 것입니다.