Comparar arquivos do MS Word

O Microsoft Word suporta a opção “Comparar”, permitindo que os usuários comparem documentos do Word e identifiquem as alterações adicionadas recentemente. Esse recurso é útil, pois você pode executar uma operação de comparação de texto em documentos do Word lado a lado. No entanto, uma solução programática de verificador de diferenças de texto pode ser muito mais rápida e eficiente e pode executar facilmente operações de diferença de texto em massa. Neste artigo, executaremos uma operação de comparação de texto usando REST-API para que possamos encontrar as diferenças.

API de comparação de texto

Aspose.Words Cloud SDK para .NET permite que você crie, manipule e transforme os principais formatos do MS Word (DOC, DOCX, DOCM etc.) em outros formatos suportados. Ao mesmo tempo, ele também fornece a capacidade de comparar documentos do Word e destacar a diferença. Agora, para usar o SDK, instale-o da biblioteca NuGet usando o seguinte comando no console do gerenciador de pacotes:

Install-Package Aspose.Words-Cloud

Para mais informações, você pode considerar visitar o seguinte link para mais informações sobre Como instalar Aspose.Cloud SDKs. Agora, após a instalação, também precisamos criar uma conta gratuita visitando Aspose.Cloud dashboard. Basta se inscrever com sua conta GitHub ou Google ou clicar no botão Create a new Account. As credenciais do cliente exibidas na página serão usadas nas seções subsequentes.

Comparar texto online usando C#

Abaixo estão as etapas e o trecho de código explicando os detalhes sobre como comparar dois documentos do Word usando o trecho de código C# .NET.

  • Primeiro, precisamos definir as informações ClientID e ClientSecret no código.
  • Em segundo lugar, crie um objeto da classe Configuration fornecendo detalhes ClientID e ClientSecret como argumentos.
  • Terceiro, crie um objeto da classe WordsApi e passe a instância Configuration como argumento.
  • Agora crie uma instância da classe CompareData.
  • Para identificar especificamente o nome da pessoa conforme identificado no arquivo resultante, use a propriedade Author da classe CompareData.
  • A propriedade ComparingWithDocument da classe CompareData é usada para especificar o documento de destino para comparar o conteúdo.
  • Agora crie uma instância da classe CompareDocumentRequest que recebe o arquivo de entrada/fonte, o objeto CompareData e o nome do arquivo resultante como argumentos.
  • Por fim, chame o método CompareDocument(..) para iniciar a operação de comparação.
String MyClientID = "c235e685-1aab-4cda-a95b-54afd63eb87f"; // Get Client Id from https://dashboard.aspose.cloud/
String MyClientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9"; // Get Client Secret from https://dashboard.aspose.cloud/

// criar uma instância da classe Configuration 
// e forneça seu ID de cliente personalizado e detalhes do segredo do cliente
var config = new Configuration { ClientId = MyClientID, ClientSecret = MyClientSecret };
// inicializar objeto WordsAPI usando instância de configuração
var wordsApi = new WordsApi(config);
// primeiro documento de entrada
string firstDocument = "file-sample.docx";
// segundo documento a ser comparado com
string secondFile = "file-sample-updated.docx";
// nome do arquivo resultante
string resultantFile = "Out_ComparedTestDocs.docx";

// Crie uma instância da classe CompareData
CompareData compareData = new CompareData();
// nome a ser usado como autor identificando as diferenças
compareData.Author = "Nayyer";
// especifique o documento a ser comparado
compareData.ComparingWithDocument = secondFile;
compareData.DateTime = DateTime.Now;
// crie uma instância de solicitação fornecendo a fonte, o documento para comparar e o nome do arquivo resultante
CompareDocumentRequest request = new CompareDocumentRequest(firstDocument, compareData, null, null, null, null, resultantFile);
// iniciar a comparação de documentos
DocumentResponse result = wordsApi.CompareDocument(request);

Os arquivos de amostra usados nos exemplos acima podem ser baixados dos seguintes links

Comparar documentos do Word usando comandos cURL

Nesta seção, aprenderemos os passos sobre como comparar documentos do Word usando comandos cURL. Como nossas APIs são acessíveis somente a pessoal autorizado, execute o comando a seguir para criar um token de acesso JWT com base nos detalhes do Client ID e do Client Secret.

 curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

O comando cURL abaixo mostra como executar a comparação de arquivos on-line usando o comando cURL. Ele acessa o método CompareDocument e o resultado dessa operação é gravado no documento de saída que contém alterações de rastreamento como um número de revisões de edição e formato. Observe que se você não fornecer os detalhes do documento de saída, as revisões serão salvas no documento original.

curl -X PUT "https://api.aspose.cloud/v4.0/words/file-sample.docx/compareDocument?destFileName=ComparisonResult.docx" \
-H  "accept: application/json" 
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"file-sample-updated.docx\",\"Author\":\"Nayyer\",\"DateTime\":\"2021-04-27T16:50:55.869Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\"}}"

Depois que o comando é executado, as informações que foram excluídas são especificadas separadamente e o conteúdo recém-adicionado é destacado na cor amarela.

Visualização do documento original e modificado

Imagem 1:- Visualização do documento original e do documento modificado.

Visualização de comparação de texto

Imagem 2:- Visualização da comparação de texto.

Conclusão

Neste artigo, explicamos as etapas para comparar documentos do Word usando a API do Aspose.Words Cloud. Observe que as APIs também podem ser acessadas por meio da interface swagger. Além disso, nossos Cloud SDKs são de código aberto e seu código-fonte completo pode ser baixado do GitHub.

Também recomendamos visitar Product Documentation para mais detalhes sobre outros recursos interessantes oferecidos pela API. Seu feedback é muito importante para nós. Então, sinta-se à vontade para entrar em contato conosco usando nossos Support Forums.

Veja também

Você pode considerar visitar os seguintes links para obter informações sobre: