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

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

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

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

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

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

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

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][11] 객체를 초기화하기만 하면 됩니다.
  2. [Add][12] 메서드를 호출하고 대상 스트림을 지정합니다.
  3. [Compare][13] 메서드 호출
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][14]를 사용하여 문서 암호를 지정합니다. 다음은 도움을 위한 샘플 비교 코드입니다.

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][15]는 감지된 변경 사항 등에 대한 글꼴 스타일 지정과 같은 비교 옵션을 지정할 수 있는 기회를 제공합니다.

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 파일을 비교할 수도 있습니다. 다음은 [지원 문서 형식 목록][16]에 최근에 추가된 프로그래밍 언어 파일 형식입니다.

이야기하자

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

[6]: https://docs.groupdocs.com/display/comparisonnet/Compare+multiple+documents) [7]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer [8]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/add/index [9]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/compare/index [10]: https://docs.groupdocs.com/comparison/net [11]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer [12]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/add/index [13]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/compare/index [14]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison.options/loadoptions [15]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison.options/compareoptions [16]: https://docs.groupdocs.com/comparison/net [17]: https://forum.groupdocs.com/c/comparison