Comparar arquivos PDF pode ser uma tarefa tediosa, especialmente quando você precisa identificar diferenças entre vários documentos. Felizmente, GroupDocs.Comparison for Java API fornece a capacidade de comparar arquivos PDF programaticamente. Neste artigo, mostraremos passo a passo como comparar dois arquivos PDF usando código Java, incluindo como lidar com PDFs protegidos por senha. Também demonstraremos como comparar mais de dois arquivos PDF e como aceitar ou rejeitar qualquer uma das alterações identificadas. Portanto, se você estiver pronto para simplificar seu fluxo de trabalho de comparação de PDF, continue lendo!

Compare documentos PDF para encontrar diferenças usando a API Java

Os seguintes tópicos são discutidos aqui:

Se você estiver interessado em Comparar arquivos PDF on-line, visite a Ferramenta de comparação de PDF on-line fornecida pelo GroupDocs.

API Java para comparar arquivos PDF

Neste artigo, utilizarei a API GroupDocs.Comparison for Java para comparar documentos PDF, pois essa API permite a comparação entre vários documentos PDF. Além disso, permite a comparação de vários outros arquivos do mesmo formato de documento em aplicativos Java.

Você pode baixar o arquivo JAR da seção de downloads ou usar o repositório mais recente e as configurações de dependência do Maven em seus aplicativos Java.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-comparison</artifactId>
    <version>23.3</version>
</dependency>

Comparar documentos PDF usando Java

Para identificar diferenças (adições, exclusões) entre várias cópias de um documento PDF, você pode comparar esses arquivos. Depois de comparar o conteúdo do PDF, você pode gerar um novo documento que destaca todas as alterações identificadas. As etapas a seguir demonstram como usar Java para comparar dois documentos PDF e destacar quaisquer diferenças.

  • Carregue o primeiro documento PDF usando a classe Comparer.
  • Adicione o segundo arquivo ao Comparer usando o método add.
  • Compare os dois arquivos PDF e obtenha o resumo das alterações chamando o método compare.

O trecho de código Java a seguir mostra como comparar documentos PDF e destacar as alterações no documento resultante.

// Comparar dois documentos PDF e realçar alterações usando Java

Comparer comparer = new Comparer("path/document-ver1.pdf");
comparer.add("path/document-ver2.pdf");

comparer.compare("path/comparison-result.pdf");

Aceitar ou rejeitar alterações identificadas de arquivos PDF usando Java

Bastante semelhante à funcionalidade de “rastrear alterações”, também é possível aceitar ou rejeitar cada alteração detectada em documentos PDF por meio de programação. As etapas abaixo demonstram como comparar e aceitar ou rejeitar as alterações identificadas nos documentos PDF.

  • Carregue os arquivos PDF de origem e destino usando a classe Comparer.
  • Compare os documentos carregados usando o método compare.
  • Obtenha as alterações identificadas usando o método getChanges.
  • Agora percorra as alterações e defina a ComparisonAction apropriada.
    • Selecione Aceitar para adotar a alteração
    • Selecione Rejeitar para negar a alteração.
  • Chame o método applyChanges para obter o documento resultante com as alterações aceitas.

O trecho de código a seguir compara dois documentos PDF e, em seguida, aceita uma alteração identificada e rejeita outra usando Java.

// Aceite e rejeite alterações identificadas comparando documentos PDF usando Java

Comparer comparer = new Comparer("path/document-1.pdf");
comparer.add("path/document-2.pdf");

ChangeInfo[] changes = comparer.getChanges();

changes[0].setComparisonAction(ComparisonAction.REJECT);
changes[1].setComparisonAction(ComparisonAction.ACCEPT);

comparer.applyChanges("path/accept-reject-change.pdf", new ApplyChangeOptions(changes));

Comparar documentos PDF protegidos por senha usando Java

É possível comparar arquivos protegidos por senha fornecendo suas senhas durante o carregamento dos documentos. As etapas a seguir demonstram como comparar o conteúdo de documentos PDF protegidos por senha usando Java:

  • Prepare as opções de carregamento para os documentos de origem e destino, fornecendo as senhas necessárias.
  • Carregue o documento de origem usando a classe Comparer.
  • Adicione o documento de destino ao Comparador, usando as opções de carregamento preparadas.
  • Obtenha um resumo das diferenças chamando o método compare.

O exemplo Java abaixo compara dois arquivos PDF protegidos por senha e destaca as diferenças identificadas em um documento separado.

// Comparar documentos PDF protegidos por senha usando Java
 
Comparer comparer = new Comparer("path/protected-document-ver1.pdf", new LoadOptions("SourceFilePassword"));
comparer.add("path/protected-document-ver2.pdf", new LoadOptions("TargetFilePassword"));

comparer.compare("path/protected-files-comparison-result.pdf");

Compare mais de dois arquivos PDF usando Java

Da mesma forma, também é possível comparar mais de dois documentos para diferenças. As etapas a seguir mostram como comparar vários documentos PDF e destacar as alterações identificadas:

  • Carregue o primeiro arquivo PDF usando a classe Comparer.
  • Utilize o método add para adicionar quaisquer documentos adicionais a serem comparados ao Comparador.
  • Compare todos os arquivos PDF subsequentes usando o método de comparação e obtenha as alterações e o resumo das diferenças.

O exemplo a seguir mostra como comparar vários arquivos PDF em Java e obter as alterações no documento resultante.

// Compare vários documentos PDF usando Java

Comparer comparer = new Comparer("path/document-1.pdf");
comparer.add("path/document-2.pdf");
comparer.add("path/document-3.pdf");
comparer.add("path/document-4.pdf");

comparer.compare("path/multiple-pdf-comparison-result.pdf");

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Em resumo, abordamos a comparação de dois ou mais arquivos PDF usando Java, destacando as diferenças e aceitando ou rejeitando programaticamente as alterações identificadas. Além disso, exploramos como comparar documentos PDF protegidos por senha em aplicativos Java.

Várias outras personalizações estão sob seu controle para gerenciar os resultados da comparação. Você pode ajustar a sensibilidade da comparação, optar por exibir apenas a página de resumo, ignorar lacunas e muito mais.

Crie seu próprio aplicativo de comparação de PDF

Aqui estão alguns links importantes que o ajudarão a criar seu próprio aplicativo de comparação de documentos.

Documentação | Referência da API | Formatos de arquivo suportados

Exemplos de execução – GitHub | Fórum de Suporte Gratuito | Notas de lançamento

Veja também