Comparar documentos de Word

Compara documentos de Word usando C# .NET

A medida que las empresas y las personas confían más en la documentación digital, la necesidad de herramientas eficientes de comparación de documentos se ha vuelto cada vez más importante. La comparación manual de documentos puede ser tediosa, lenta y propensa a errores. Afortunadamente, con el poder de C# .NET, puede automatizar el proceso de comparación de documentos de Word, haciéndolo más rápido, más preciso y más confiable. En esta publicación de blog, exploraremos cómo puede aprovechar .NET Cloud SDK para comparar documentos de Word y cómo puede utilizar sus características para ahorrar tiempo y mejorar su proceso de revisión de documentos.

API REST para comparar documentos

Aspose.Words Cloud SDK for .NET es una poderosa herramienta que puede ayudarlo a comparar documentos de Word con facilidad. Con su completo conjunto de características, puede comparar dos o más documentos, identificar cambios y diferencias entre ellos y generar un informe que resalte los cambios. Ya sea un desarrollador, un administrador de proyectos o un editor, este SDK puede ayudarlo a optimizar su proceso de comparación de documentos y ahorrarle un tiempo valioso.

Ahora, para usar el SDK, busque Aspose.Words-Cloud en el administrador de paquetes de NuGet y haga clic en el botón Agregar paquete para agregar la referencia del SDK en el proyecto .NET.

Compara documentos de Word en C#

Intente usar el siguiente fragmento de código para comparar documentos de Word en línea.

// Para obtener ejemplos completos y archivos de datos, vaya a 
https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet

// Obtenga las credenciales del cliente de https://dashboard.aspose.cloud/
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// crear un objeto de configuración utilizando ClinetID y los detalles del secreto del cliente
var config = new Aspose.Words.Cloud.Sdk.Configuration { ClientId = clientID, ClientSecret = clientSecret };
// inicializar la instancia de WordsApi
var wordsApi = new WordsApi(config);

string firstDocument = "input-sample-1.docx";
string secondDocument = "input-sample-2.docx";
string resultantFile = "Comparison.docx";

// leer el contenido del primer documento de Word desde el disco local
var firstFile = System.IO.File.OpenRead(firstDocument);
// leer el primer documento de Word desde el disco local
var secondFile = System.IO.File.OpenRead(secondDocument);
try
{
    // cargar documentos de Word de entrada al almacenamiento en la nube
    wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));
    wordsApi.UploadFile(new UploadFileRequest(secondFile, secondDocument));

    CompareData compareData = new CompareData();
    // especificar el documento con el que se va a comparar
    compareData.ComparingWithDocument = secondDocument;
    // detalles del autor
    compareData.Author = "Nayer Shahbaz";
    compareData.DateTime = DateTime.Now.Date;
    // formato del documento resultante
    compareData.ResultDocumentFormat = "DOCX";

    // establecer opciones de comparación de documentos
    CompareOptions options = new CompareOptions()
    {
        IgnoreCaseChanges = true,
        IgnoreFormatting = true,
        IgnoreHeadersAndFooters = true,
        IgnoreFootnotes = true,
        IgnoreComments = true,
        IgnoreTextboxes = true,
        IgnoreTables = true,
        Target = CompareOptions.TargetEnum.Current,
        AcceptAllRevisionsBeforeComparison = true
     };
     compareData.CompareOptions = options

    // Crear una instancia de CreateDocument
    CompareDocumentRequest compare = new CompareDocumentRequest();
    compare.CompareData = compareData;
    compare.Name = firstDocument;
    // nombre de archivo resultante
    compare.DestFileName = resultantFile;
    
    // iniciar la operación de comparación de documentos
    wordsApi.CompareDocument(compare);
}
catch(Exception ex)
{
    // cualquier excepción durante la carga de archivos al almacenamiento en la nube
    Console.Write(ex.StackTrace);
}
// create configuration object using ClientID and Client Secret details
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// initialize WordsApi instance
var wordsApi = new WordsApi(config);

Cree una instancia de WordsApi con las credenciales del cliente.

// read the content of first Word document from local drive
var firstFile = System.IO.File.OpenRead(firstDocument);
wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));

Lea el contenido del documento de Word de entrada y cárguelo en el almacenamiento en la nube.

CompareData compareData = new CompareData();
compareData.ComparingWithDocument = secondDocument;
compareData.Author = "Nayyer Shahbaz";
compareData.DateTime = DateTime.Now.Date;
compareData.ResultDocumentFormat = "DOCX";

Cree una instancia del objeto CompareData donde especificamos el nombre del documento que se comparará, los detalles del autor, la información de fecha y hora y el formato del documento resultante.

CompareOptions options = new CompareOptions()
{
    IgnoreCaseChanges = true,
    IgnoreFormatting = true,
    IgnoreHeadersAndFooters = true,
    IgnoreFootnotes = true,
    IgnoreComments = true,
    IgnoreTextboxes = true,
    IgnoreTables = true,
    Target = CompareOptions.TargetEnum.Current,
    AcceptAllRevisionsBeforeComparison = true
};
compareData.CompareOptions = options;

Crear instancia de CompareOptions donde definimos varias opciones de comparación.

CompareDocumentRequest compare = new CompareDocumentRequest();
compare.CompareData = compareData;
compare.Name = firstDocument;
compare.DestFileName = resultantFile;

Especifique la instancia de CompareData, el nombre del documento de Word de origen y el nombre del archivo de salida que contiene el resultado de la comparación.

wordsApi.CompareDocument(compare);

Inicie la operación de comparación de documentos y genere la salida en el almacenamiento en la nube.

Compara dos documentos usando comandos cURL

Hemos discutido que comparar documentos de Word puede ser una tarea desafiante y que requiere mucho tiempo, especialmente cuando se trata de múltiples archivos o formatos complejos. Afortunadamente, los comandos Aspose.Words Cloud y cURL brindan una solución poderosa para comparar documentos de Word de manera rápida y sencilla. Podemos comparar dos o más documentos, realizar un seguimiento de los cambios y generar un informe detallado que destaque las diferencias entre los documentos.

Ahora, ejecute el siguiente comando para crear un token de acceso JWT basado en la identificación del cliente y los detalles del secreto del cliente.

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

Una vez que se haya generado el token JWT, ejecute el siguiente comando para comparar dos documentos de Word en línea y guarde el archivo resultante en el almacenamiento en la nube.

curl -v "https://api.aspose.cloud/v4.0/words/{sourceFirst}/compareDocument?destFileName={differenceFile}" \
-X PUT \
-H  "accept: application/json" \
-H  "Authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"input-sample-2.docx\",\"Author\":\"Nayyer Shahbaz\",\"DateTime\":\"2023-04-23T06:02:29.481Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\",\"AcceptAllRevisionsBeforeComparison\":true},\"ResultDocumentFormat\":\"docx\"}"

Reemplace {sourceFirst} con el nombre del documento de Word de entrada (presente en el almacenamiento en la nube), {accessToken} con el token de acceso JWT generado anteriormente y {differenceFile} con el nombre del documento de Word resultante resaltando la diferencia de comparación .

comparación de documentos de Word

Imagen: - Vista previa de la comparación de documentos de Word usando .NET REST API.

Conclusión

En conclusión, comparar documentos de Word puede ser una tarea abrumadora, pero con la ayuda de Aspose.Words Cloud y los comandos cURL o su robusto .NET Cloud SDK, tiene una solución poderosa a su disposición. Tanto si prefiere trabajar con C# .NET como si prefiere utilizar herramientas de línea de comandos como cURL, Aspose.Words Cloud ofrece una gama de opciones para comparar dos o más documentos, realizar un seguimiento de los cambios y generar informes detallados. Con sus características flexibles y personalizables, es un recurso esencial para cualquier persona que trabaje con documentos de Word de manera regular. Entonces, ¿por qué no probarlo y ver cómo puede ayudarlo a optimizar su proceso de comparación de documentos?

Enlaces útiles

Artículos relacionados

Recomendamos encarecidamente pasar por los siguientes blogs: