A comparação de documentos é um dos requisitos mais comuns para o mundo da programação de hoje. Seja para comparar arquivos do Word, comparar arquivos do Excel, documentos PDF ou até mesmo comparar arquivos de texto ou qualquer outro formato de documento, a precisão é o fator chave na comparação.

Comparar arquivos com a API de comparação de documentos para desenvolvedores .NET

Este artigo lhe dará uma ideia de como o GroupDocs.Comparison facilita que os programadores comparem dois ou mais documentos de várias maneiras. On-Premise APIs de GroupDocs.Comparison estão atualmente disponíveis para .NET e Java, no entanto, este artigo é voltado para desenvolvedores C#.

Compare Excel, arquivos do Word ou qualquer documento em C#

GroupDocs.Comparison permite que os desenvolvedores comparem dois documentos ([na verdade mais de 2][6]. O documento resultante mostra as alterações entre os dois arquivos em comparação. O código abaixo mostra como você pode comparar dois arquivos do Excel em apenas 3 linhas de código em C#.

  1. Instancie o objeto [Comparer][7] com o caminho do documento de origem.
  2. Chame o método [Add][8] para especificar o caminho do documento de destino.
  3. Chame o método [Compare][9].
  4. É isso.
using (Comparer comparer = new Comparer(“source.xlsx”))
{
    comparer.Add(“target.xlsx”);
    comparer.Compare(“result.xlsx”);
}

Comparar planilhas do Excel ou documentos do Microsoft Word estão apenas entre o subconjunto de comparações que são suportadas pela API .NET do GroupDocs.Comparison. Abaixo está a lista de formatos suportados. Você pode visitar a [documentação][10] para se manter atualizado.

Compare duas ou mais planilhas ou documentos do OneNote em C#

Após o lançamento do GroupDocs.Comparison para .NET 20.2, a API agora oferece suporte a:

  • Comparação de mais de duas planilhas Microsoft Excel e OpenOffice planilhas (XLS, XLSX, ODS, CSV, …)
  • Compare vários documentos do Microsoft OneNote.

A API já suporta a comparação de vários arquivos para vários formatos de documentos. O trecho de código a seguir mostra a rapidez com que vários arquivos do Excel podem ser comparados em C#.

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

Comparar documentos do Stream em C#

Como programador, você não só pode comparar documentos que estão disponíveis no armazenamento local, na verdade, podemos comparar documentos do fluxo.

  1. Basta inicializar o objeto [Comparer][11] com o fluxo de documentos de origem.
  2. Chame o método [Add][12] e especifique o fluxo de destino.
  3. Chame o método [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”));
}

Compare documentos do Word protegidos por senha / planilha do Excel em C

A proteção por senha é comum na documentação oficial. Usando a API .NET de comparação de documentos, ele permite que seus usuários/desenvolvedores comparem documentos protegidos por senha.

Apenas uma pequena mudança no código em comparação com o código para comparar documentos que não são protegidos por senha. Ao carregar o documento, use [LoadOptions][14] para especificar a senha do documento. Abaixo está o código de comparação de amostra para sua assistência.

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");
}

Comparação de Documentos com Configurações Específicas

Um passo à frente de apenas comparar, usando o código semelhante ao mencionado abaixo, você pode comparar vários documentos com suas configurações de comparação personalizadas.

[CompareOptions][15] oferece a oportunidade de especificar suas opções de comparação, como estilo de fonte para alterações detectadas, etc.

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);
}

Comparar arquivos de linguagem de programação em C#

GroupDocs aumentando continuamente o suporte para comparar mais formatos de arquivo. Após a versão v 20.2, agora você também pode comparar arquivos JSON usando a API .NET. A seguir estão os formatos de arquivo de linguagem de programação que foram adicionados recentemente à [lista de formatos de documento suportados][16]:

Vamos conversar

Você pode construir seu próprio aplicativo usando os recursos destacados acima. Ficaremos felizes se você entrar em contato conosco no [fórum][17] para discutir, resolver um problema ou compartilhar seus comentários.

[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