comparar documentos .net – Tutorial Completo do GroupDocs.Comparison para Desenvolvedores .NET
If you need to compare documents .net programmatically, you’ve landed on the right guide.
Manually spotting differences between two versions of a contract, a spreadsheet, or a presentation can waste hours and still miss subtle changes. With GroupDocs.Comparison for .NET you can automate this task, generate visual diff reports, and even accept or reject changes without opening the files yourself. This tutorial walks you through every step—from installing the NuGet package to handling large‑scale folder comparisons—so you can embed reliable document comparison into any .NET solution.
Respostas Rápidas
- Qual é o objetivo principal do GroupDocs.Comparison? Para comparar documentos programaticamente, detectar alterações e gerar resultados de diferenças visuais ou baseados em dados.
- Posso aceitar ou rejeitar alterações automaticamente? Sim—use a API de aceitação/rejeição para aplicar controle granular.
- A biblioteca suporta comparação de imagens em .NET? Absolutamente; você pode comparar capturas de tela, renderizações de UI e quaisquer imagens raster.
- É possível comparar pastas? Sim—compare pastas inteiras para identificar arquivos adicionados, removidos ou modificados.
- O que preciso antes de começar? Um ambiente de desenvolvimento .NET, o pacote NuGet e uma licença válida do GroupDocs.Comparison (versão de avaliação disponível).
O que é compare documents .net?
compare documents .net é o processo de identificar programaticamente diferenças entre duas ou mais versões de documentos usando uma biblioteca .NET. O GroupDocs.Comparison implementa isso carregando arquivos de origem e destino, aplicando opções de comparação configuráveis e retornando um ComparisonResult que contém tanto realces visuais quanto uma lista estruturada de alterações. ComparisonResult representa o resultado de uma comparação, contendo as alterações detectadas e os dados de diferença visual.
Por que escolher o GroupDocs.Comparison para .NET?
O GroupDocs.Comparison suporta mais de 50 formatos, processa PDFs grandes em segundos e inclui recursos de nível empresarial, como tratamento de senhas, preservação de metadados e gerenciamento de alterações granulares, eliminando a necessidade de várias bibliotecas especializadas e reduzindo o esforço de desenvolvimento.
Pré-requisitos
- Visual Studio 2022 ou posterior (ou qualquer IDE compatível com .NET).
- .NET 6+ runtime (a biblioteca também suporta .NET Core 3.1 e .NET Framework 4.8).
- Pacote NuGet
GroupDocs.Comparison(versão estável mais recente). - Uma chave de licença válida (você pode começar com um teste de 30 dias).
Como comparar dois documentos .net?
Para comparar dois documentos .net, instancie a classe Comparer, chame Compare(sourcePath, targetPath, outputPath) e especifique quaisquer ComparisonOptions que precisar. O método cria um arquivo de diferença que destaca inserções, exclusões e alterações de formatação, ao mesmo tempo que expõe uma coleção Changes para inspeção programática. O objeto Comparer é o motor central que conduz o processo de comparação.
Guia passo a passo
- Create a
Comparerinstance – este é o objeto central que alimenta o motor de comparação. - Load source and target – você pode passar caminhos de arquivo, streams ou arrays de bytes; streams são recomendados para arquivos maiores que 10 MB.
- Configure options – ignore case, defina uma senha ou ajuste a sensibilidade via
ComparisonOptions. - Execute the comparison – chame
Comparee forneça um local de saída para a diferença visual. - Process results – leia a coleção
Changespara aceitar, rejeitar ou registrar cada modificação.
Quais formatos posso comparar com o GroupDocs.Comparison?
O GroupDocs.Comparison suporta mais de 50 formatos de entrada e saída, incluindo DOCX, PDF, XLSX, PPTX, PNG, JPEG, BMP e TIFF. Também pode lidar com arquivos protegidos por senha e arquivos armazenados em armazenamento em nuvem (via APIs de stream). Essa amplitude elimina a necessidade de várias bibliotecas ao construir um pipeline universal de processamento de documentos.
Como aceitar ou rejeitar alterações programaticamente?
O objeto ComparisonResult expõe uma coleção Changes. Cada item ChangeInfo descreve uma única alteração detectada e fornece os métodos Accept() e Reject(). Chame result.Changes.AcceptAll() para aplicar todas as alterações detectadas ao documento de destino, ou itere result.Changes e invoque Accept() ou Reject() em objetos ChangeInfo individuais para controle granular. Após aplicar as ações desejadas, salve o documento atualizado com result.Save(outputPath).
Como comparar pastas inteiras .net?
A comparação de pastas envolve iterar sobre pares de arquivos correspondentes e invocar a mesma lógica Compare para cada par. O GroupDocs.Comparison também oferece um método auxiliar CompareFolders(sourceFolder, targetFolder, outputFolder) que compara todos os arquivos correspondentes em dois diretórios, detecta arquivos adicionados ou removidos e gera resultados de diferenças. CompareFolders retorna uma coleção de objetos FolderComparisonResult, cada um indicando o status de um par de arquivos e um link para seu documento de diferença.
Como funciona a comparação de imagens em .NET?
O módulo de imagem trata cada pixel como um ponto de dados, gerando uma imagem de diferença que destaca regiões alteradas em vermelho e retornando uma pontuação de similaridade (0‑100 %). Chame Comparer.CompareImages(imagePath1, imagePath2, outputPath); o motor alinha as imagens, calcula diferenças pixel a pixel, grava uma imagem de diferença onde os pixels alterados são coloridos e fornece um valor Similarity que você pode usar para disparar alertas ou pular processamento adicional se a mudança estiver abaixo de um limiar.
Casos de Uso Comuns
- Version control for non‑code assets – mantenha um registro de auditoria claro das revisões de contratos.
- Automated compliance checks – sinalize edições não autorizadas em documentos de políticas.
- CI/CD pipelines for UI testing – compare capturas de tela de páginas web entre builds.
- Batch migration projects – verifique se os arquivos convertidos mantêm o conteúdo original.
Dicas de Performance para Documentos Grandes
- Stream files em vez de carregá-los totalmente na memória; isso reduz o uso máximo de RAM em até 80 %.
- Reuse a single
Comparerinstance para múltiplas comparações, aproveitando o cache interno. - Adjust
ComparisonOptions.MemoryLimitao lidar com documentos maiores que 500 MB para evitar exceções de falta de memória.
Perguntas Frequentes
Q: Como aceitar ou rejeitar alterações programaticamente após uma comparação?
A: Use result.Changes.AcceptAll(), RejectAll(), ou itere cada ChangeInfo e chame Accept() / Reject() conforme necessário, então salve o documento com result.Save(outputPath).
Q: Posso extrair metadados como autor, data de criação ou propriedades personalizadas de documentos?
A: Sim—DocumentInfo fornece acesso a metadados padrão e personalizados para arquivos de origem e destino, permitindo que você registre ou exiba essas informações.
Q: É possível comparar arquivos de imagem (ex.: PNG, JPEG) diretamente em .NET?
A: Absolutamente. A API CompareImages destaca diferenças a nível de pixel e retorna uma porcentagem de similaridade que você pode usar em testes automatizados.
Q: Como comparar pastas inteiras para encontrar arquivos adicionados, removidos ou modificados?
A: Invocar Comparer.CompareFolders(sourceFolder, targetFolder, outputFolder); o método retorna uma coleção de objetos FolderComparisonResult que indicam o status de cada par de arquivos.
Q: O que devo fazer se precisar comparar documentos protegidos por senha?
A: Forneça a senha via LoadOptions.Password ao carregar cada documento; o motor descriptografa os arquivos internamente antes de realizar a diferença.
Q: O GroupDocs.Comparison suporta .NET Core e .NET 5/6?
A: Sim—a biblioteca é compatível com .NET Core 3.1, .NET 5, .NET 6 e versões posteriores, oferecendo o mesmo conjunto de recursos em todos os runtimes.
Sinais de Confiança
Last Updated: 2026-05-26
Testado com: GroupDocs.Comparison 23.12 for .NET
Autor: GroupDocs
Links de Tutoriais Adicionais
Comparação de Documentos e Pastas
Comparação de Documentos
Carregando e Salvando Documentos
Comparação de Imagens
Uso Básico
Início Rápido
Começando
Carregamento de Documentos
Comparação Básica
Comparação Avançada
Gerenciamento de Alterações
Informações do Documento
Geração de Pré-visualização
Gerenciamento de Metadados
Segurança & Proteção
Licenciamento & Configuração
Opções de Comparação
Leia Mais Leia Mais Leia Mais Leia Mais Leia Mais Leia Mais Começar Carregamento de Documentos Comparação Básica Comparação Avançada Gerenciamento de Alterações Informações do Documento Geração de Pré-visualização Gerenciamento de Metadados Segurança & Proteção Licenciamento & Configuração Opções de Comparação Início Rápido Começar Comparação de Documentos e Pastas Comparação de Documentos Carregando e Salvando Documentos Comparação de Imagens Uso Básico Início Rápido Começar Carregamento de Documentos Comparação Básica Comparação Avançada Gerenciamento de Alterações Informações do Documento Geração de Pré-visualização Gerenciamento de Metadados Segurança & Proteção Licenciamento & Configuração Opções de Comparação