Comparar archivos MS Word

Microsoft Word admite la opción “Comparar”, que permite a los usuarios comparar documentos de Word e identificar los cambios recién agregados. Esta función es útil porque permite realizar una operación de comparación de texto en documentos de Word uno al lado del otro. Sin embargo, una solución programática de verificación de diferencias de texto puede ser mucho más rápida y eficiente y puede realizar fácilmente operaciones de comparación de texto en bloque. En este artículo, vamos a realizar una operación de comparación de texto utilizando la API REST para poder encontrar las diferencias.

API de comparación de texto

Aspose.Words Cloud SDK for .NET le permite crear, manipular y transformar los principales formatos de MS Word (DOC, DOCX, DOCM, etc.) a otros formatos compatibles. Al mismo tiempo, también ofrece la capacidad de comparar documentos de Word y resaltar las diferencias. Ahora, para utilizar el SDK, instálelo desde NuGet library utilizando el siguiente comando en la consola del administrador de paquetes:

Install-Package Aspose.Words-Cloud

Para obtener más información, puede visitar el siguiente enlace para obtener más información sobre Cómo instalar los SDK de Aspose.Cloud. Ahora, después de la instalación, también debemos crear una cuenta gratuita visitando el panel de control de Aspose.Cloud. Simplemente regístrese con su cuenta de GitHub o Google o haga clic en el botón Crear una nueva cuenta. Las credenciales de cliente que se muestran en la página se utilizarán en las secciones posteriores.

Comparar texto en línea usando C#

A continuación se muestran los pasos y un fragmento de código que explica los detalles sobre cómo comparar dos documentos de Word utilizando el fragmento de código C# .NET.

  • Primero, necesitamos definir la información de ClientID y ClientSecret en el código.
  • En segundo lugar, cree un objeto de la clase Configuration proporcionando detalles de ClientID y ClientSecret como argumentos.
  • En tercer lugar, cree un objeto de la clase WordsApi y pase la instancia de Configuración como argumento.
  • Ahora crea una instancia de la clase CompareData.
  • Para identificar específicamente el nombre de la persona identificada en el archivo resultante, utilice la propiedad Autor de la clase CompareData.
  • La propiedad ComparingWithDocument de la clase CompareData se utiliza para especificar el documento de destino cuyo contenido se comparará.
  • Ahora cree una instancia de la clase CompareDocumentRequest que tome el archivo de entrada/fuente, el objeto CompareData y el nombre del archivo resultante como argumentos.
  • Por último, llame al método CompareDocument(..) para iniciar la operación de comparación.
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/

// crear una instancia de la clase Configuration 
// y proporcione su ID de cliente personalizado y los detalles de su secreto de cliente
var config = new Configuration { ClientId = MyClientID, ClientSecret = MyClientSecret };
// Inicializar el objeto WordsAPI mediante la instancia de configuración
var wordsApi = new WordsApi(config);
// primer documento de entrada
string firstDocument = "file-sample.docx";
// Segundo documento a comparar
string secondFile = "file-sample-updated.docx";
// nombre del archivo resultante
string resultantFile = "Out_ComparedTestDocs.docx";

// Crear una instancia de la clase CompareData
CompareData compareData = new CompareData();
// Nombre que se utilizará como autor identificando las diferencias.
compareData.Author = "Nayyer";
// Especifique el documento con el que comparar
compareData.ComparingWithDocument = secondFile;
compareData.DateTime = DateTime.Now;
// Cree una instancia de solicitud proporcionando la fuente, el documento a comparar y el nombre del archivo resultante
CompareDocumentRequest request = new CompareDocumentRequest(firstDocument, compareData, null, null, null, null, resultantFile);
// Iniciar la comparación de documentos
DocumentResponse result = wordsApi.CompareDocument(request);

Los archivos de muestra utilizados en los ejemplos anteriores se pueden descargar desde los siguientes enlaces

Comparar documentos de Word mediante comandos cURL

En esta sección, aprenderemos los pasos para comparar documentos de Word mediante comandos cURL. Como nuestras API solo son accesibles para el personal autorizado, ejecute el siguiente comando para crear un token de acceso JWT basado en los detalles de ID de cliente y Secreto de cliente.

 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"

El comando cURL que se muestra a continuación muestra cómo comparar archivos en línea mediante el comando cURL. Accede al método CompareDocument y el resultado de esta operación se escribe en el documento de salida que contiene los cambios realizados como una cantidad de revisiones de edición y formato. Tenga en cuenta que si no proporciona los detalles del documento de salida, las revisiones se guardan en el 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\"}}"

Una vez que se ejecuta el comando, la información que se eliminó se especifica por separado y el contenido recién agregado se resalta en color amarillo.

Vista previa del documento original y modificado

Imagen 1:- Vista previa del documento original y del documento modificado.

Vista previa de comparación de texto

Imagen 2:- Vista previa de comparación de texto.

Conclusión

En este artículo, explicamos los pasos para comparar documentos de Word con la API de Aspose.Words Cloud. Tenga en cuenta que también se puede acceder a las API a través de la interfaz Swagger. Además, nuestros SDK de Cloud son de código abierto y su código fuente completo se puede descargar desde GitHub.

También recomendamos visitar la Documentación del producto para obtener más detalles sobre otras funciones interesantes que ofrece API. Sus comentarios son muy importantes para nosotros. Por lo tanto, no dude en comunicarse con nosotros a través de nuestros Foros de soporte.

Ver también

Puede considerar visitar los siguientes enlaces para obtener información sobre: