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. 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 com o caminho do documento de origem.
  2. Chame o método Add para especificar o caminho do documento de destino.
  3. Chame o método Compare.
  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 para se manter atualizado.

Tipo de documento Formatos de arquivo
Processamento de Texto DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, TXT
Planilhas XLS, XLSX, XLSM, XLT, XLTM, XLSB, XLSM, CSV
Apresentações PPT, PPTX, PPS, PPSX, POT, POTX
AbrirDocumento ODT, ODP, OTP, ODS, OTT
Desenhos do Microsoft Visio VSD, VSDX, VSS, VST, VDX
Portátil PDF
Anotações ONE
Web HTM, HTML, MHT, MHTML
e-books MOBI
Imagens BMP, GIF, JPG, JPEG, PNG, DICOM, DJVU, DWG, DXF
E-mails EML, EMLX, MSG

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 com o fluxo de documentos de origem.
  2. Chame o método Add e especifique o fluxo de destino.
  3. Chame o método 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”));
}

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 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 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:

  • ActionScript
  • Montador
  • Baseado em C
  • CSharp
  • Groovy
  • Javascript
  • Java
  • JSON
  • Objetivo C/C++
  • Perl
  • PHP
  • Pitão
  • Rubi
  • Escala
  • Shell/Script em lote, Log, Diff, Config, MENOS
  • SQL

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 para discutir, resolver um problema ou compartilhar seus comentários.